You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature request: default bucket encryption in the Tenant CRD #284
spec.buckets[] can declare versioning, Object Lock, policies and lifecycle (including transitions after #279), but not default server-side encryption. Setting it still takes an imperative step after the Tenant is ready, e.g. a Job running rc bucket encryption set <alias>/<bucket> --mode sse-s3. With tiers (#280) and transitions (#279) in the CRD, that is the last step that keeps us running a setup Job next to a Tenant.
mode: SSE-S3 → PutBucketEncryption with AES256; mode: SSE-KMS → aws:kms with optional KMSMasterKeyID.
Same ownership rules as objectLockConfiguration and lifecycle: omission leaves the live configuration unmanaged, a matching live configuration is adopted without a write, a different one is replaced or removed only if its hash matches the last configuration the operator recorded in status; otherwise the bucket reports a conflict.
SSE-KMS requires spec.encryption.enabled, so the operator rejects it up front instead of retrying RustFS's 500 KMS service not initialized.
Default encryption only affects objects written after it is set; nothing is re-encrypted.
RustFS behaviour this relies on (1.0.2-preview.2)
GET ?encryption without a configuration returns 400ServerSideEncryptionConfigurationNotFoundError, not 404.
The GET body has no XML namespace.
PUT with aws:kms and no key ID stores the default KMS key, so GET returns a KMSMasterKeyID that was not sent.
DELETE encryption is idempotent (204 on a missing configuration).
Activity
feat(provisioning): declare default bucket encryption
feat(provisioning): declare default bucket encryption
feat(provisioning): declare default bucket encryption