mypastebin/k8s/pastebin-deployment.yaml
2025-05-29 22:40:58 +02:00

98 lines
2.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: pastebin-app
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: pastebin
template:
metadata:
labels:
app: pastebin
spec:
initContainers:
- name: fix-permissions
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/uploads"]
volumeMounts:
- name: uploads
mountPath: /app/uploads
containers:
- name: pastebin-container
image: prietus/pastebin-app:1.65
ports:
- containerPort: 5000
env:
- name: DB_ENGINE
value: "postgres"
- name: POSTGRES_HOST
value: "pastebin-postgres"
- name: VALID_USER
valueFrom:
configMapKeyRef:
name: pastebin-config
key: VALID_USER
- name: VALID_PASS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: VALID_PASS
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: pastebin-secret
key: POSTGRES_PASSWORD
- name: DATABASE_URL
value: "postgresql://mypasteuser:$(POSTGRES_PASSWORD)@pastebin-postgres:5432/mypastedb?connect_timeout=10"
- name: SMTP_USE_TLS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_USE_TLS
- name: SMTP_USE_SSL
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_USE_SSL
- name: SMTP_SERVER
value: "priet.us"
- name: SMTP_PORT
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_PORT
- name: SMTP_USERNAME
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_USERNAME
- name: SMTP_PASSWORD
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_PASSWORD
volumeMounts:
- name: uploads
mountPath: /app/uploads
volumes:
- name: uploads
persistentVolumeClaim:
claimName: uploads-pvc
---
apiVersion: v1
kind: Service
metadata:
name: pastebin-service
namespace: default
spec:
ports:
- port: 80
targetPort: 5000
selector:
app: pastebin
type: ClusterIP