onboarding-carts/argo/carts/templates/rollout.yaml

76 lines
2.3 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: {{ template "carts.fullname" . }}
labels:
app: {{ template "carts.name" . }}
chart: {{ template "carts.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
revisionHistoryLimit: 3
selector:
matchLabels:
app: {{ template "carts.name" . }}
release: {{ .Release.Name }}
strategy:
blueGreen:
autoPromotionEnabled: false
activeService: {{ template "carts.name" . }}-primary
previewService: {{ template "carts.name" . }}-canary
template:
metadata:
labels:
app: {{ template "carts.name" . }}
release: {{ .Release.Name }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 8080
protocol: TCP
env:
- name: DT_CUSTOM_PROP
value: "keptn_project={{ .Values.keptn.project }} keptn_service={{ .Values.keptn.service }} keptn_stage={{ .Values.keptn.stage }}"
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: "metadata.name"
- name: DEPLOYMENT_NAME
valueFrom:
fieldRef:
fieldPath: "metadata.labels['deployment']"
- name: CONTAINER_IMAGE
value: "{{ .Values.image }}"
- name: KEPTN_PROJECT
value: "{{ .Values.keptn.project }}"
- name: KEPTN_STAGE
value: "{{ .Values.keptn.stage }}"
- name: KEPTN_SERVICE
value: "{{ .Values.keptn.service }}"
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 60
periodSeconds: 10
timeoutSeconds: 15
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 60
periodSeconds: 10
timeoutSeconds: 15
resources:
limits:
cpu: 1000m
memory: 2048Mi
requests:
cpu: 500m
memory: 1024Mi