--- apiVersion: v1 kind: Namespace metadata: name: ghost-en --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ghost-en-content namespace: ghost-en spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: local-path --- apiVersion: apps/v1 kind: Deployment metadata: name: ghost-en namespace: ghost-en labels: app: ghost-en spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: ghost-en template: metadata: labels: app: ghost-en spec: containers: - name: ghost image: ghost:5-alpine ports: - containerPort: 2368 env: - name: url value: "https://www.theexclusionzone.com" - name: NODE_ENV value: "production" - name: database__client value: "sqlite3" - name: database__connection__filename value: "/var/lib/ghost/content/data/ghost.db" - name: mail__transport value: "SMTP" - name: mail__options__service value: "Gmail" - name: mail__options__host value: "smtp.gmail.com" - name: mail__options__port value: "465" - name: mail__options__secureConnection value: "true" - name: mail__options__auth__user valueFrom: secretKeyRef: name: ghost-en-smtp key: SMTP_USER - name: mail__options__auth__pass valueFrom: secretKeyRef: name: ghost-en-smtp key: SMTP_PASS - name: privacy__useUpdateCheck value: "false" livenessProbe: httpGet: path: /ghost/api/v4/admin/site/ port: 2368 initialDelaySeconds: 60 periodSeconds: 30 timeoutSeconds: 10 readinessProbe: httpGet: path: /ghost/api/v4/admin/site/ port: 2368 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 resources: requests: cpu: "50m" memory: "256Mi" limits: cpu: "500m" memory: "512Mi" volumeMounts: - name: ghost-en-content mountPath: /var/lib/ghost/content volumes: - name: ghost-en-content persistentVolumeClaim: claimName: ghost-en-content --- apiVersion: v1 kind: Service metadata: name: ghost-en namespace: ghost-en spec: selector: app: ghost-en ports: - port: 2368 targetPort: 2368 protocol: TCP