mirror of
https://github.com/hanzoai/kms-operator.git
synced 2026-10-30 18:32:57 +00:00
The operator reconciled `secrets.lux.network` on Hanzo clusters. It is a Lux-lineage component — it depends on luxfi/kms and luxfi/keys — but the group is what every manifest in the estate names, and a Hanzo cluster naming a Lux domain is the white-label rule broken in the most-copied place there is. Group becomes kms.hanzo.ai, version stays v1 and there is no alpha: a second served version is the thing a migration exists to remove, not something to carry. The CRD bases are renamed to match, because the filename carries the group and a stale name is a manifest that applies to nothing. Two tests hold it. One pins group and version. The other walks the tree and fails on any file still naming the old group — a rename that misses one manifest ships a CRD the operator has no RBAC for, and that surfaces as "no permission" long after the commit that caused it. This is the operator half only. Nothing in a cluster moves until the objects are migrated, and that sequence is not a sed: 147 live CRs, two of which are creationPolicy Owner, so deleting those two CRs deletes the Secrets they manage.
33 lines
981 B
YAML
33 lines
981 B
YAML
apiVersion: kms.hanzo.ai/v1
|
|
kind: KMSSecret
|
|
metadata:
|
|
name: kmssecret-sample
|
|
labels:
|
|
label-to-be-passed-to-managed-secret: sample-value
|
|
annotations:
|
|
example.com/annotation-to-be-passed-to-managed-secret: "sample-value"
|
|
spec:
|
|
hostAPI: https://kms.hanzo.ai/api
|
|
resyncInterval: 10
|
|
authentication:
|
|
# Native Kubernetes Auth
|
|
kubernetesAuth:
|
|
identityId: <>
|
|
serviceAccountRef:
|
|
name: kms-auth
|
|
namespace: default
|
|
|
|
# secretsScope is identical to the secrets scope in the universalAuth field in this sample.
|
|
secretsScope:
|
|
projectSlug: dsf-gpb-t
|
|
envSlug: dev
|
|
secretsPath: "/"
|
|
recursive: true
|
|
|
|
|
|
managedSecretReference:
|
|
secretName: managed-secret-k8s
|
|
secretNamespace: default
|
|
creationPolicy: "Orphan" ## Owner | Orphan
|
|
# secretType: kubernetes.io/dockerconfigjson
|