Files
argocd-apps/apps/base/bind-system/rbac.yaml
T
unkinben 3b4620ade4
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
Bump bind-operator to v0.2.0 and deploy companion TSIG API
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.
2026-07-12 19:10:34 +10:00

55 lines
1.6 KiB
YAML

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bind-operator
namespace: bind-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: bind-operator
rules:
- apiGroups: ["bind.unkin.net"]
resources: ["*"]
verbs: ["*"]
- apiGroups: [""]
resources: ["services", "configmaps", "secrets"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create", "get"]
- apiGroups: ["apps"]
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"]
verbs: ["create", "patch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: bind-operator
subjects:
- kind: ServiceAccount
name: bind-operator
namespace: bind-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: bind-operator