mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-07 23:51:41 +00:00
7cb453a336
Mechanical reformat. The new 'gofmt drift' CI step (added in
ci-pipeline-cleanup Phase 4, commit 0f205a8) surfaced 111 files
with accumulated gofmt drift across cmd/, internal/, and deploy/test/.
Each file's diff is gofmt-standard: whitespace adjustments, intra-
group import sorting (alphabetical by import path within blank-line-
separated groups), and struct-tag column alignment. No semantic
changes — verified via 'git diff --ignore-all-space' which shows only
the line-position deltas from import reordering.
The gate stays in place after this commit. Going forward it catches
gofmt drift at PR time.
50 lines
1.6 KiB
Go
50 lines
1.6 KiB
Go
package domain
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
)
|
|
|
|
// PolicyRule defines enforcement rules for certificate management.
|
|
type PolicyRule struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Type PolicyType `json:"type"`
|
|
Config json.RawMessage `json:"config"`
|
|
Enabled bool `json:"enabled"`
|
|
Severity PolicySeverity `json:"severity"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
// PolicyType represents the category of policy enforcement.
|
|
type PolicyType string
|
|
|
|
const (
|
|
PolicyTypeAllowedIssuers PolicyType = "AllowedIssuers"
|
|
PolicyTypeAllowedDomains PolicyType = "AllowedDomains"
|
|
PolicyTypeRequiredMetadata PolicyType = "RequiredMetadata"
|
|
PolicyTypeAllowedEnvironments PolicyType = "AllowedEnvironments"
|
|
PolicyTypeRenewalLeadTime PolicyType = "RenewalLeadTime"
|
|
PolicyTypeCertificateLifetime PolicyType = "CertificateLifetime"
|
|
)
|
|
|
|
// PolicyViolation records an instance of a certificate violating a policy rule.
|
|
type PolicyViolation struct {
|
|
ID string `json:"id"`
|
|
CertificateID string `json:"certificate_id"`
|
|
RuleID string `json:"rule_id"`
|
|
Message string `json:"message"`
|
|
Severity PolicySeverity `json:"severity"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
// PolicySeverity indicates the impact level of a policy violation.
|
|
type PolicySeverity string
|
|
|
|
const (
|
|
PolicySeverityWarning PolicySeverity = "Warning"
|
|
PolicySeverityError PolicySeverity = "Error"
|
|
PolicySeverityCritical PolicySeverity = "Critical"
|
|
)
|