mirror of
https://github.com/fluxcd/flagger.git
synced 2026-04-15 06:57:34 +00:00
61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
{{- if .Values.canary.enabled }}
|
|
apiVersion: flagger.app/v1beta1
|
|
kind: Canary
|
|
metadata:
|
|
name: {{ template "podinfo.fullname" . }}
|
|
labels:
|
|
app: {{ template "podinfo.name" . }}
|
|
chart: {{ template "podinfo.chart" . }}
|
|
release: {{ .Release.Name }}
|
|
heritage: {{ .Release.Service }}
|
|
spec:
|
|
targetRef:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: {{ template "podinfo.fullname" . }}
|
|
autoscalerRef:
|
|
apiVersion: autoscaling/v2
|
|
kind: HorizontalPodAutoscaler
|
|
name: {{ template "podinfo.fullname" . }}
|
|
service:
|
|
port: {{ .Values.service.port }}
|
|
{{- if .Values.canary.istioIngress.enabled }}
|
|
gateways:
|
|
- {{ .Values.canary.istioIngress.gateway }}
|
|
hosts:
|
|
- {{ .Values.canary.istioIngress.host }}
|
|
{{- end }}
|
|
trafficPolicy:
|
|
tls:
|
|
mode: {{ .Values.canary.istioTLS }}
|
|
analysis:
|
|
interval: {{ .Values.canary.analysis.interval }}
|
|
threshold: {{ .Values.canary.analysis.threshold }}
|
|
maxWeight: {{ .Values.canary.analysis.maxWeight }}
|
|
stepWeight: {{ .Values.canary.analysis.stepWeight }}
|
|
metrics:
|
|
- name: request-success-rate
|
|
threshold: {{ .Values.canary.thresholds.successRate }}
|
|
interval: 1m
|
|
- name: request-duration
|
|
threshold: {{ .Values.canary.thresholds.latency }}
|
|
interval: 1m
|
|
webhooks:
|
|
{{- if .Values.canary.helmtest.enabled }}
|
|
- name: "helm test"
|
|
type: pre-rollout
|
|
url: {{ .Values.canary.helmtest.url }}
|
|
timeout: 3m
|
|
metadata:
|
|
type: "helmv3"
|
|
cmd: "test {{ .Release.Name }} -n {{ .Release.Namespace }}"
|
|
{{- end }}
|
|
{{- if .Values.canary.loadtest.enabled }}
|
|
- name: load-test-get
|
|
url: {{ .Values.canary.loadtest.url }}
|
|
timeout: 5s
|
|
metadata:
|
|
cmd: "hey -z 1m -q 5 -c 2 http://{{ template "podinfo.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.service.port }}"
|
|
{{- end }}
|
|
{{- end }}
|