apiVersion: apps/v1 kind: Deployment metadata: name: sharkey namespace: sharkey labels: app: sharkey spec: replicas: 1 selector: matchLabels: app: sharkey template: metadata: labels: app: sharkey spec: initContainers: - name: init-config image: busybox volumeMounts: - name: sharkey-config mountPath: "/sharkey/.config" readOnly: false - name: config-secret mountPath: "/config-secret" readOnly: true - name: config mountPath: "/config" readOnly: true command: ['sh', '-c', 'cat /config/default.yml > /sharkey/.config/default.yml; cat /config-secret/secret.yml >> /sharkey/.config/default.yml;'] containers: - image: ghcr.io/transfem-org/sharkey:stable name: sharkey volumeMounts: - name: sharkey-files mountPath: "/sharkey/files" - name: sharkey-config mountPath: "/sharkey/.config" readOnly: true ports: - containerPort: 3000 name: http protocol: TCP - name: redis image: redis ports: - containerPort: 6379 name: redis protocol: TCP volumes: - name: config-secret secret: secretName: sharkey-config-secret optional: false - name: config configMap: name: sharkey-config items: - key: "default.yml" path: "default.yml" - name: sharkey-files persistentVolumeClaim: claimName: sharkey-files-pvc - name: sharkey-config persistentVolumeClaim: claimName: sharkey-config-pvc