apiVersion: v1 kind: ServiceAccount metadata: name: schemas --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: schemas name: schemas annotations: kubernetes.io/change-cause: "${TIMESTAMP} Deployed commit id: ${COMMIT}" spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: schemas strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: schemas spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: "app.kubernetes.io/name" operator: In values: - schemas topologyKey: kubernetes.io/hostname containers: - name: schemas resources: limits: cpu: "500m" memory: "100Mi" requests: cpu: "10m" memory: "20Mi" readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 5 imagePullPolicy: IfNotPresent image: registry.gitlab.com/unboundsoftware/schemas:${COMMIT} ports: - name: api containerPort: 8080 envFrom: - secretRef: name: schemas - secretRef: name: rabbitmq restartPolicy: Always serviceAccountName: schemas --- apiVersion: v1 kind: Service metadata: name: schemas spec: ports: - port: 80 name: api protocol: TCP targetPort: 8080 selector: app.kubernetes.io/name: schemas type: NodePort