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
@@ -0,0 +1,27 @@
---
# Companion TSIG API. The operator reconciles this into a Deployment, Service,
# ConfigMap, master-token Secret and namespaced RBAC. vault-plugin-secrets-bind-tsig
# calls it to create/rotate/delete TSIG keys, which it does by managing
# BindTSIGKey resources in this namespace (the operator reconciles the material).
#
# The master access token Secret (bind-tsig-api-token) is generated by the
# operator if absent; a VaultStaticSecret may later pre-seed/overwrite it so the
# token is sourced from Vault rather than generated in-cluster.
apiVersion: bind.unkin.net/v1alpha1
kind: BindTSIGAPI
metadata:
name: bind-tsig-api
namespace: bind-internal
spec:
image: git.unkin.net/unkin/bind-tsig-api:v0.2.0
replicas: 1
port: 8443
# targetNamespace defaults to this resource's namespace (bind-internal), where
# the authoritative cluster and its keys live.
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 250m
memory: 128Mi