forked from heubeck/flux-kind-flagger-cilium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcanary.yaml
81 lines (72 loc) · 1.84 KB
/
canary.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
# https://github.com/fluxcd/flagger/blob/main/pkg/apis/flagger/v1beta1/canary.go
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: examiner
namespace: plain
spec:
analysis:
# schedule interval (default 60s)
interval: 60s
# max traffic percentage routed to canary
# percentage (0-100)
maxWeight: 100
# Incremental traffic weight step for analysis phase
# percentage (0-100)
stepWeight: 20
# or: Predefined traffic weight steps for analysis phase
# stepWeights: [1, 2, 10, 80]
# Incremental traffic weight step for promotion phase
# percentage (0-100)
stepWeightPromotion: 35
# Max number of failed checks before the canary is terminated and rolled back
threshold: 2
# https://docs.flagger.app/usage/webhooks
webhooks:
- name: "logging"
type: event
url: "http://logger.default/examine"
# https://docs.flagger.app/usage/alerting
alerts: []
metrics:
- interval: 1m
name: server-success-rate
templateRef:
name: server-success-rate
namespace: flux-system
thresholdRange:
min: 90
- interval: 1m
name: request-latency-p99
templateRef:
name: request-latency-p99
namespace: flux-system
thresholdRange:
max: 500
progressDeadlineSeconds: 600
autoscalerRef:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
name: examiner
provider: gatewayapi:v1
service:
gatewayRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: http-gateway
namespace: default
match:
- uri:
prefix: /examine-plain
rewrite:
uri: /examine
type: ReplacePrefixMatch
port: 80
targetPort: 8080
timeout: 120s
skipAnalysis: false
targetRef:
apiVersion: apps/v1
kind: Deployment
name: examiner