apiVersion: apps/v1 kind: Deployment metadata: name: node-1-deployment namespace: alex-elixir-demo labels: app: node-1 spec: replicas: 1 selector: matchLabels: app: node-1 template: metadata: labels: app: node-1 spec: containers: - name: node-1 image: alexmickelson/elixir-demo-backend:$GITHUB_RUN_NUMBER ports: - containerPort: 4000 env: - name: PORT value: "4000" - name: RELEASE_NODE value: "backend@node-1" - name: RELEASE_DISTRIBUTION value: "sname" - name: ERL_DIST_PORT value: "9000" - name: RELEASE_COOKIE valueFrom: secretKeyRef: name: backend-secret key: cookie - name: SECRET_KEY_BASE valueFrom: secretKeyRef: name: backend-secret key: secret_key_base - name: CLUSTER_NODES value: "backend@node-1,backend@node-2,backend@node-3" resources: requests: memory: 256Mi cpu: 100m limits: memory: 512Mi cpu: 500m livenessProbe: httpGet: path: /api/health port: 4000 initialDelaySeconds: 15 periodSeconds: 10 --- apiVersion: v1 kind: Service metadata: namespace: alex-elixir-demo name: node-1 spec: selector: app: node-1 ports: - name: http protocol: TCP port: 4000 targetPort: 4000 - name: dist protocol: TCP port: 9000 targetPort: 9000 type: ClusterIP