Resolve custom domain SSL via certificate

Replace flattened SSL fields with a certificate
relation loaded through certmanager, and resolve
domain slots from IDs already on the trust center
instead of reloading the compliance page.

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-07-17 17:39:33 +02:00
parent bc128ec516
commit caeb6d9225
13 changed files with 198 additions and 186 deletions

View File

@@ -249,31 +249,21 @@ enum TrustCenterFileOrderField
}
enum SSLStatus
@goModel(model: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatus") {
@goModel(model: "go.probo.inc/probo/pkg/coredata.CertificateStatus") {
PENDING
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatusPending"
)
@goEnum(value: "go.probo.inc/probo/pkg/coredata.CertificateStatusPending")
PROVISIONING
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatusProvisioning"
value: "go.probo.inc/probo/pkg/coredata.CertificateStatusProvisioning"
)
ACTIVE
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatusActive"
)
@goEnum(value: "go.probo.inc/probo/pkg/coredata.CertificateStatusActive")
RENEWING
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatusRenewing"
)
@goEnum(value: "go.probo.inc/probo/pkg/coredata.CertificateStatusRenewing")
EXPIRED
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatusExpired"
)
@goEnum(value: "go.probo.inc/probo/pkg/coredata.CertificateStatusExpired")
FAILED
@goEnum(
value: "go.probo.inc/probo/pkg/coredata.CustomDomainSSLStatusFailed"
)
@goEnum(value: "go.probo.inc/probo/pkg/coredata.CertificateStatusFailed")
}
input TrustCenterAccessOrder
@@ -648,9 +638,7 @@ type CustomDomain implements Node {
organization: Organization!
domain: String!
managed: Boolean!
sslStatus: SSLStatus!
sslExpiresAt: Datetime
provisioningError: String
certificate: Certificate @goField(forceResolver: true)
dnsRecords: [DNSRecordInstruction!]!
createdAt: Datetime!
updatedAt: Datetime!
@@ -658,6 +646,13 @@ type CustomDomain implements Node {
permission(action: String!): Boolean! @goField(forceResolver: true)
}
type Certificate {
id: ID!
status: SSLStatus!
expiresAt: Datetime
provisioningError: String
}
type DNSRecordInstruction {
type: String!
name: String!