Bump bind-operator to v0.2.0 and deploy companion TSIG API
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful

v0.2.0 adds the BindTSIGAPI CRD and companion API that
vault-plugin-secrets-bind-tsig calls to create, rotate and delete TSIG
keys. This rolls the operator forward and deploys an API instance.

- Bump the operator image and the pulled CRD bundle to v0.2.0.
- Broaden the operator ClusterRole with deployments, serviceaccounts and
  roles/rolebindings so the BindTSIGAPI reconciler can deploy the API and
  its namespaced RBAC.
- Add a BindTSIGAPI (bind-tsig-api) in bind-internal; the operator
  reconciles it into a Deployment, Service, ConfigMap, master-token Secret
  and RBAC. Keys are created in bind-internal alongside the authoritative
  cluster.
- Add the generated kubeconform schema for BindTSIGAPI.
This commit is contained in:
2026-07-12 19:10:34 +10:00
parent 2409a4d3a0
commit 3b4620ade4
7 changed files with 252 additions and 3 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ spec:
runAsNonRoot: true
containers:
- name: operator
image: git.unkin.net/unkin/bind-operator:v0.1.5
image: git.unkin.net/unkin/bind-operator:v0.2.0
args:
- --metrics-bind-address=:8080
- --health-probe-bind-address=:8081
+1 -1
View File
@@ -6,6 +6,6 @@ resources:
- namespace.yaml
# CRDs are pulled from the bind-operator repo at the matching tag rather than
# vendored here, so they never drift from the operator.
- https://git.unkin.net/unkin/bind-operator/raw/tag/v0.1.5/config/crd/install.yaml
- https://git.unkin.net/unkin/bind-operator/raw/tag/v0.2.0/config/crd/install.yaml
- rbac.yaml
- deployment.yaml
+9 -1
View File
@@ -23,7 +23,15 @@ rules:
resources: ["pods/exec"]
verbs: ["create", "get"]
- apiGroups: ["apps"]
resources: ["statefulsets"]
resources: ["statefulsets", "deployments"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
# The BindTSIGAPI reconciler deploys the companion API: a ServiceAccount plus
# a namespaced Role/RoleBinding granting it access to BindTSIGKey + Secrets.
- apiGroups: [""]
resources: ["serviceaccounts"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: [""]
resources: ["events"]