Documentation
¶
Index ¶
Constants ¶
View Source
const ( SchemaVersion = "vango.env.contract.v1.0" ArtifactKind = "vango_secret_env_contract" DefaultOutputPath = ".vango/env/vango_secret_env_contract.json" )
Variables ¶
This section is empty.
Functions ¶
func MarshalDeterministic ¶
Types ¶
type Analysis ¶
type Analysis struct {
Mode string `json:"mode"`
Status artifactpkg.AnalysisStatus `json:"status"`
SupportLevel artifactpkg.SupportLevel `json:"support_level"`
ProofLevel artifactpkg.ProofLevel `json:"proof_level"`
RedactionStatus artifactpkg.RedactionStatus `json:"redaction_status,omitempty"`
UnsupportedReason string `json:"unsupported_reason,omitempty"`
}
type BindingValidation ¶
type BindingValidation struct {
Executed bool `json:"executed"`
ProofLevel artifactpkg.ProofLevel `json:"proof_level"`
Environment string `json:"environment,omitempty"`
Missing []string `json:"missing"`
WrongScope []string `json:"wrong_scope"`
UnexpectedSecretValuesInArtifact bool `json:"unexpected_secret_values_in_artifact"`
}
type BuildOptions ¶
type Contract ¶
type Contract struct {
SchemaVersion string `json:"schema_version"`
ArtifactID string `json:"artifact_id"`
ArtifactKind string `json:"artifact_kind"`
Producer artifactpkg.Producer `json:"producer"`
App artifactpkg.App `json:"app"`
Analysis Analysis `json:"analysis"`
Variables []Variable `json:"variables"`
Scopes []Scope `json:"scopes"`
SeparationRules []SeparationRule `json:"separation_rules"`
BindingValidation BindingValidation `json:"binding_validation"`
OperationReadiness []artifactpkg.OperationReadiness `json:"operation_readiness"`
Inputs []artifactpkg.ArtifactRef `json:"inputs"`
Outputs []artifactpkg.ArtifactRef `json:"outputs"`
References map[string]artifactpkg.ArtifactRef `json:"references"`
Diagnostics []artifactpkg.Diagnostic `json:"diagnostics"`
}
func Build ¶
func Build(opts BuildOptions) (*Contract, error)
type SeparationRule ¶
type ValidationOptions ¶
type ValidationResult ¶
type ValidationResult struct {
Valid bool `json:"valid"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Validate ¶
func Validate(c *Contract, opts ValidationOptions) ValidationResult
type Variable ¶
type Variable struct {
ID string `json:"id"`
Name string `json:"name"`
Required bool `json:"required"`
Sensitivity string `json:"sensitivity"`
Scopes []string `json:"scopes"`
Roles []string `json:"roles"`
RequiredFor []string `json:"required_for"`
ProviderProfile string `json:"provider_profile,omitempty"`
Origin artifactpkg.Origin `json:"origin"`
ProofLevel artifactpkg.ProofLevel `json:"proof_level"`
SourceRef artifactpkg.SourceRef `json:"source_ref,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.