--- apiVersion: apps/v1 kind: Deployment metadata: name: datastore-v1 namespace: apps spec: replicas: 1 selector: matchLabels: app: datastore role: database-service version: v1 template: metadata: labels: app: datastore role: database-service version: v1 annotations: prometheus.io/scrape: 'false' spec: containers: - name: go image: public.ecr.aws/awsvijisarathy/k8s-backend:v1 imagePullPolicy: Always env: - name: POSTGRES_USER valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_PASSWORD - name: POSTGRES_DATABASE valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_DATABASE - name: POSTGRES_HOST valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_HOST - name: POSTGRES_PORT valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_PORT - name: POSTGRES_TABLEPREFIX valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_TABLEPREFIX resources: requests: cpu: "50m" memory: "128Mi" livenessProbe: httpGet: path: /live port: 3000 initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /live port: 3000 initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3 --- apiVersion: apps/v1 kind: Deployment metadata: name: datastore-v2 namespace: apps spec: replicas: 1 selector: matchLabels: app: datastore role: database-service version: v2 template: metadata: labels: app: datastore role: database-service version: v2 annotations: prometheus.io/scrape: 'false' spec: containers: - name: go image: public.ecr.aws/awsvijisarathy/k8s-backend:v2 imagePullPolicy: Always env: - name: POSTGRES_USER valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_PASSWORD - name: POSTGRES_DATABASE valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_DATABASE - name: POSTGRES_HOST valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_HOST - name: POSTGRES_PORT valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_PORT - name: POSTGRES_TABLEPREFIX valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_TABLEPREFIX resources: requests: cpu: "50m" memory: "128Mi" livenessProbe: httpGet: path: /live port: 3000 initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /live port: 3000 initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3 --- apiVersion: v1 kind: Service metadata: name: datastore-v1-svc namespace: apps spec: sessionAffinity: None type: ClusterIP ports: - port: 80 protocol: TCP targetPort: 3000 selector: app: datastore role: database-service version: v1 --- apiVersion: v1 kind: Service metadata: name: datastore-v2-svc namespace: apps spec: sessionAffinity: None type: ClusterIP ports: - port: 80 protocol: TCP targetPort: 3000 selector: app: datastore role: database-service version: v2