Files
homelab/k8s-ng/apps/k8s-secrets/reader.yaml
T
Ultradesu af717cc530
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 7s
Update k8s-secrets image digest for 0.2.2
2026-10-21 12:10:56 +01:00

110 lines
2.4 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
name: secret-reader
labels:
app: secret-reader
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: secret-reader
rules:
- apiGroups: [""]
resources: ["secrets"]
resourceNames: ["openai-creds"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: secret-reader
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: secret-reader
subjects:
- kind: ServiceAccount
name: secret-reader
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: secret-reader
labels:
app: secret-reader
spec:
replicas: 1
selector:
matchLabels:
app: secret-reader
template:
metadata:
labels:
app: secret-reader
spec:
serviceAccountName: secret-reader
nodeSelector:
homelab.hexor.cy/pool: core
homelab.hexor.cy/exposure: external
securityContext:
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
containers:
- name: secret-reader
image: ultradesu/k8s-secrets:0.2.2@sha256:f206942d21ca9dcd131d6e19ba26cc17671815919217aef657b30a9f85854778
imagePullPolicy: IfNotPresent
args:
- --secrets
- openai-creds
- --namespace
- k8s-secret
- --port
- "3000"
ports:
- name: http
containerPort: 3000
env:
- name: RUST_LOG
value: info
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 150m
memory: 128Mi
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 5
periodSeconds: 5
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
periodSeconds: 10
securityContext:
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
---
apiVersion: v1
kind: Service
metadata:
name: secret-reader
labels:
app: secret-reader
spec:
selector:
app: secret-reader
ports:
- name: http
port: 80
targetPort: http