--- # REDIS apiVersion: apps/v1 kind: Deployment metadata: name: outline-redis namespace: outline spec: replicas: 1 selector: matchLabels: app: outline-redis template: metadata: labels: app: outline-redis spec: containers: - name: redis image: redis:alpine command: ["redis-server", "--requirepass", "$(REDIS_PASSWORD)"] ports: - containerPort: 6379 env: - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: outline-secrets key: redis-password --- apiVersion: v1 kind: Service metadata: name: outline-redis namespace: outline spec: ports: - port: 6379 targetPort: 6379 selector: app: outline-redis --- # POSTGRES apiVersion: apps/v1 kind: StatefulSet metadata: name: outline-postgres namespace: outline spec: serviceName: outline-postgres replicas: 1 selector: matchLabels: app: outline-postgres template: metadata: labels: app: outline-postgres spec: containers: - name: postgres image: postgres:15-alpine ports: - containerPort: 5432 env: - name: POSTGRES_DB value: outline - name: POSTGRES_USER value: outline - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: outline-secrets key: postgres-password volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data volumeClaimTemplates: - metadata: name: postgres-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 5Gi --- apiVersion: v1 kind: Service metadata: name: outline-postgres namespace: outline spec: ports: - port: 5432 targetPort: 5432 selector: app: outline-postgres