package backends¶
Package backends holds the fixed set of state backends a factory can use. An operator selects one by bare name in a stack state declaration, and the resolver looks the name up here. The encrypter set lives in pkg/encrypters the same way.
Constants¶
Backend names, the registry keys an operator selects in stack state.
Functions¶
func Backends¶
Backends returns the state backends keyed by the bare name an operator selects in stack state. Names are unique by construction: this is one map literal, so a duplicate is a compile error.
Types¶
type GCSBackendConfig¶
type GCSBackendConfig struct {
Bucket string
Prefix *string
KMSKeyName *string
GCP *gcpcfg.Configuration
Bootstrap *GCSBootstrapConfig
}
GCSBackendConfig is the operator-facing body under `state: gcs { ... }`.
func (*GCSBackendConfig) Validate¶
type GCSBootstrapConfig¶
type GCSBootstrapConfig struct {
Location *string
Versioning *GCSBucketVersioning
IAMConfiguration *GCSBucketIAMConfiguration
Labels *map[string]string
}
type GCSBucketIAMConfiguration¶
type GCSBucketIAMConfiguration struct {
PublicAccessPrevention *string
UniformBucketLevelAccess *GCSBucketUniformBucketLevelAccess
}
type GCSBucketUniformBucketLevelAccess¶
type GCSBucketVersioning¶
type LocalBackendConfig¶
LocalBackendConfig is the operator-facing body under `state: local { ... }`.
type S3BackendConfig¶
type S3BackendConfig struct {
Bucket string
Prefix *string
KMSKeyID *string
UsePathStyle *bool
AWS *awscfg.Configuration
Bootstrap *S3BootstrapConfig
}
S3BackendConfig is the operator-facing body under `state: s3 { ... }`. The aws object holds the shared AWS connection settings from pkg/awscfg; bucket, prefix, kms-key-id, use-path-style, and bootstrap are the backend's own.
func (*S3BackendConfig) Validate¶
type S3BootstrapConfig¶
type S3BootstrapConfig struct {
BucketNamespace *string
Versioning *S3BucketVersioning
PublicAccessBlock *S3BucketPublicAccessBlock
OwnershipControls *S3BucketOwnershipControls
Tags *map[string]string
}
type S3BucketOwnershipControls¶
type S3BucketPublicAccessBlock¶
type S3BucketPublicAccessBlock struct {
BlockPublicAcls *bool
BlockPublicPolicy *bool
IgnorePublicAcls *bool
RestrictPublicBuckets *bool
}