Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f2609037fa | ||
|
|
e00f1d39ca |
@@ -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
|
||||||
|
|||||||
@@ -176,6 +176,7 @@ GROUP_PERMISSIONS = {
|
|||||||
"immich-admins": ["immich:read", "immich:write"],
|
"immich-admins": ["immich:read", "immich:write"],
|
||||||
"poimen-memory-admins": ["poimen-memory:read", "poimen-memory:write"],
|
"poimen-memory-admins": ["poimen-memory:read", "poimen-memory:write"],
|
||||||
"k8s-devops-admin": ["k8s:devops"],
|
"k8s-devops-admin": ["k8s:devops"],
|
||||||
|
"vault-service-api": ["vault:read", "vault:write"],
|
||||||
}
|
}
|
||||||
perms = set()
|
perms = set()
|
||||||
for group in request.user.groups.all():
|
for group in request.user.groups.all():
|
||||||
@@ -268,6 +269,10 @@ SERVICE_ADMIN_GROUP_NAMES = [
|
|||||||
"portainer-admins", "kmsvc-admins", "temporal-admins", "llm-admins",
|
"portainer-admins", "kmsvc-admins", "temporal-admins", "llm-admins",
|
||||||
"paperless-admins", "immich-admins", "poimen-memory-admins",
|
"paperless-admins", "immich-admins", "poimen-memory-admins",
|
||||||
"k8s-devops-admin",
|
"k8s-devops-admin",
|
||||||
|
# Not a human-admin group like the others - Vault Identity Group aliasing
|
||||||
|
# target for service/API (non-browser) access to Vault, kept separate from
|
||||||
|
# homelab-admins' blanket "*" grant. See k8s/infra/iam/scripts/vault-provision.sh.
|
||||||
|
"vault-service-api",
|
||||||
]
|
]
|
||||||
service_admin_groups = {}
|
service_admin_groups = {}
|
||||||
for group_name in SERVICE_ADMIN_GROUP_NAMES:
|
for group_name in SERVICE_ADMIN_GROUP_NAMES:
|
||||||
|
|||||||
@@ -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