3b4620ade4
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.
55 lines
1.6 KiB
YAML
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
|