apiVersion: v1 kind: ServiceAccount metadata: name: keycloak-bootstrap namespace: keycloak --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: keycloak-secret-writer namespace: keycloak rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "create", "update", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: keycloak-secret-writer namespace: keycloak subjects: - kind: ServiceAccount name: keycloak-bootstrap namespace: keycloak roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: keycloak-secret-writer --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: shared-postgresql-secret-reader rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["shared-postgresql-superuser-secret"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: shared-postgresql-secret-reader namespace: shared-db subjects: - kind: ServiceAccount name: keycloak-bootstrap namespace: keycloak roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: shared-postgresql-secret-reader