feat: add ServiceAccounts for poimen-memory/kmsvc/immich operator Roles
Bind each service's operator Role to a ServiceAccount alongside the existing oidc:*-admins Group, and wire serviceAccountName into the pods we control (immich-server, immich-machine-learning, management-service). poimen-memory's Deployment lives in its own repo/ArgoCD app, so its SA is created here but not yet wired to a pod.
This commit is contained in:
@@ -19,6 +19,7 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: immich-server
|
app: immich-server
|
||||||
spec:
|
spec:
|
||||||
|
serviceAccountName: immich
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
kubernetes.io/hostname: talos-cp-3
|
kubernetes.io/hostname: talos-cp-3
|
||||||
containers:
|
containers:
|
||||||
@@ -81,6 +82,7 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: immich-machine-learning
|
app: immich-machine-learning
|
||||||
spec:
|
spec:
|
||||||
|
serviceAccountName: immich
|
||||||
containers:
|
containers:
|
||||||
- name: immich-machine-learning
|
- name: immich-machine-learning
|
||||||
image: ghcr.io/immich-app/immich-machine-learning:release
|
image: ghcr.io/immich-app/immich-machine-learning:release
|
||||||
|
|||||||
@@ -3,6 +3,11 @@
|
|||||||
# provisioning-managed (immich-oidc). Same pattern as
|
# provisioning-managed (immich-oidc). Same pattern as
|
||||||
# k8s/apps/paperless/rbac.yaml. Inert until kube-apiserver's OIDC wiring
|
# k8s/apps/paperless/rbac.yaml. Inert until kube-apiserver's OIDC wiring
|
||||||
# lands (--oidc-groups-claim=groups, --oidc-groups-prefix=oidc:).
|
# lands (--oidc-groups-claim=groups, --oidc-groups-prefix=oidc:).
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: immich
|
||||||
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
@@ -29,6 +34,9 @@ subjects:
|
|||||||
- kind: Group
|
- kind: Group
|
||||||
name: "oidc:immich-admins"
|
name: "oidc:immich-admins"
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: immich
|
||||||
|
namespace: immich
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: Role
|
kind: Role
|
||||||
name: immich-operator
|
name: immich-operator
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: management-service
|
app: management-service
|
||||||
spec:
|
spec:
|
||||||
|
serviceAccountName: kmsvc
|
||||||
topologySpreadConstraints:
|
topologySpreadConstraints:
|
||||||
- maxSkew: 1
|
- maxSkew: 1
|
||||||
topologyKey: kubernetes.io/hostname
|
topologyKey: kubernetes.io/hostname
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
# operator configmap are Strimzi-managed - hand-editing them gets reverted
|
# operator configmap are Strimzi-managed - hand-editing them gets reverted
|
||||||
# by the operator's reconcile loop or breaks the Kafka cluster. Inert until
|
# by the operator's reconcile loop or breaks the Kafka cluster. Inert until
|
||||||
# kube-apiserver's OIDC wiring lands.
|
# kube-apiserver's OIDC wiring lands.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: kmsvc
|
||||||
|
namespace: sqs
|
||||||
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
@@ -27,6 +33,9 @@ subjects:
|
|||||||
- kind: Group
|
- kind: Group
|
||||||
name: "oidc:kmsvc-admins"
|
name: "oidc:kmsvc-admins"
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: kmsvc
|
||||||
|
namespace: sqs
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: Role
|
kind: Role
|
||||||
name: kmsvc-operator
|
name: kmsvc-operator
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
# poimen-git-info/poimen-secrets-* (owned by poimen's own repo/ArgoCD app,
|
# poimen-git-info/poimen-secrets-* (owned by poimen's own repo/ArgoCD app,
|
||||||
# not this one) are excluded. Inert until kube-apiserver's OIDC wiring lands
|
# not this one) are excluded. Inert until kube-apiserver's OIDC wiring lands
|
||||||
# (--oidc-groups-claim=groups, --oidc-groups-prefix=oidc:).
|
# (--oidc-groups-claim=groups, --oidc-groups-prefix=oidc:).
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: poimen-memory
|
||||||
|
namespace: poimen
|
||||||
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
@@ -27,6 +33,9 @@ subjects:
|
|||||||
- kind: Group
|
- kind: Group
|
||||||
name: "oidc:poimen-memory-admins"
|
name: "oidc:poimen-memory-admins"
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: poimen-memory
|
||||||
|
namespace: poimen
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: Role
|
kind: Role
|
||||||
name: poimen-memory-operator
|
name: poimen-memory-operator
|
||||||
|
|||||||
Reference in New Issue
Block a user