stefanprodan
fc676e3cb7
Release v0.18.0
2019-07-29 15:06:30 +03:00
stefanprodan
c463b6b231
Add finalising state tests
2019-07-29 14:02:16 +03:00
stefanprodan
b2ca0c4c16
Implement finalising state
...
Set the canary status to finalising after routing the traffic back to the primary. Run one final loop before scaling the canary to zero so that the canary has a chance to process all inflight requests.
2019-07-29 13:52:11 +03:00
stefanprodan
69875cb3dc
Add finalising status phase to CRD
2019-07-29 13:43:30 +03:00
stefanprodan
163f5292b0
Push a notification when a canary is waiting for approval
2019-07-25 19:13:22 +03:00
stefanprodan
f204fe53f4
Implement canary gating API with in-memory storage
...
POST /gate/[check|open|close]
2019-07-24 16:14:22 +03:00
stefanprodan
28e7e89047
Pause or resume analysis on confirmation gate toggle
2019-07-24 16:09:13 +03:00
stefanprodan
04cbacb6e0
Implement confirm rollout gate and hook
...
The confirm-rollout hooks are executed before the pre-rollout hooks. Flagger will halt the canary rollout until the confirm webhook returns HTTP status 200.
2019-07-24 12:09:39 +03:00
stefanprodan
919dafa567
Add gate halt and approve endpoints
2019-07-24 12:02:44 +03:00
stefanprodan
dfdcfed26e
Add Waiting canary status phase
...
means the canary rollout is paused (waiting for confirmation to proceed)
2019-07-24 12:00:04 +03:00
stefanprodan
ff4aa62061
Retry canary status update on conflict
2019-07-10 11:31:20 +03:00
stefanprodan
9d89e0c83f
Log status update error
2019-07-10 09:55:20 +03:00
stefanprodan
b26542f38d
Do not trigger a canary deployment on manual rollback
...
Save the primary spec hash and check if it matches the canary spec. If the canary hash is identical with the primary one skip promotion.
2019-07-10 09:08:33 +03:00
stefanprodan
108bf9ca65
Add initializing canary phase/status condition reason
...
Fix HPA reconciliation min replicas diff
2019-07-09 17:10:43 +03:00
stefanprodan
438f952128
Implement status conditions
...
Add Promoted status condition with the following reasons: Initialized, Progressing, Succeeded, Failed
Usage: `kubectl wait canary/app --for=condition=promoted`
Fix : #184
2019-07-09 15:22:56 +03:00
stefanprodan
3e84799644
Detect changes in pod template metadata
...
Use the pod template spec hash to track changes (breaking)
2019-07-09 08:52:31 +03:00
stefanprodan
78233fafd3
Release v0.17.0
2019-07-08 13:35:36 +03:00
stefanprodan
10c61daee4
Exit when losing leadership
2019-07-07 13:09:05 +03:00
stefanprodan
b847345308
Add 5 seconds timeout to notifier
2019-07-06 18:02:45 +03:00
stefanprodan
8ca9cf24bb
Implement MS Teams notifier
2019-07-06 17:14:21 +03:00
stefanprodan
61d0216c21
Add traffic routing to notifications
2019-07-06 17:13:09 +03:00
stefanprodan
ba4a2406ba
Refactor notifier to allow more implementations
2019-07-06 15:47:12 +03:00
stefanprodan
85ee7d17cf
Set min analysis interval to 10s
2019-07-01 09:23:05 +03:00
stefanprodan
ad8d02f701
Use Linkerd metrics when NGINX is the mesh ingress
...
Set the metrics provider to Linkerd Prometheus when using NGINX as Linkerd Ingress. This mitigates the lack of canary metrics in the NGINX controller exporter.
2019-06-30 13:03:27 +03:00
stefanprodan
00fa5542f7
Add linkerd as mesh provider
2019-06-30 12:46:23 +03:00
stefanprodan
d651e8fe48
Fix Linkerd metrics test
2019-06-29 15:23:40 +03:00
stefanprodan
e3321118e5
Fix linkerd success rate query
2019-06-29 15:03:36 +03:00
stefanprodan
93f37a3022
Update primary HPA only when canary changed
2019-06-24 16:21:22 +03:00
stefanprodan
d076f0859e
Release v0.16.0
2019-06-23 13:48:39 +03:00
Stefan Prodan
6800181594
Merge pull request #217 from weaveworks/provider
...
Add the service mesh provider to the canary spec
2019-06-21 11:13:17 +03:00
stefanprodan
fd23a2f98f
Add kubernetes provider type
...
Synonym to provider `none`, to be used for blue/green deployments
2019-06-20 15:18:48 +03:00
stefanprodan
63cb8a5ba5
Lookup the canary provider field during reconciliation
...
Override the global provider if one is specified in the canary spec
2019-06-20 14:52:43 +03:00
stefanprodan
4a9e3182c6
Add the mesh provider field to canary CRD
2019-06-20 14:50:21 +03:00
stefanprodan
dcadc2303f
Add HPA promotion tests
2019-06-20 13:31:34 +03:00
stefanprodan
cf5f364ed2
Update the primary HPA on canary promotion
2019-06-20 13:30:55 +03:00
stefanprodan
647d02890f
Add HTTP metrics when no mesh provider is specified
...
Implement request-success-rate and request-duration checks using http_request_duration_seconds histogram
2019-06-19 13:15:17 +03:00
stefanprodan
9fada306f0
Add a service mesh provider of type none
...
To be used for Kubernetes blue/green deployments with the no-operations router
2019-06-19 12:02:40 +03:00
stefanprodan
8d1cc83405
Add a no-operation router
...
To be used for Kubernetes blue/green deployments (no service mesh or ingress controller)
2019-06-19 12:01:02 +03:00
stefanprodan
bf7ebc9708
Skip readiness check on init for Istio SMI
2019-06-19 11:16:11 +03:00
stefanprodan
98beb1011e
Skip primary check on init when using Istio
...
The deployment will become ready after the ClusterIP are created
2019-06-19 10:50:55 +03:00
stefanprodan
8c59e9d2b4
Fix metrics URL getter
2019-06-19 10:30:19 +03:00
stefanprodan
9a87d47f45
Check primary readiness on initialisation
...
Wait for the primary to become ready before scaling down the canary in the init phase
2019-06-19 09:49:25 +03:00
stefanprodan
f25023ed1b
Include selector in service reconciliation
...
- detect changes in the Kubernetes service selectors and ports
- preserve the immutable fields when updating the ClusterIP services
2019-06-18 17:57:00 +03:00
stefanprodan
6d1da5bb45
Use container name in port discovery
...
If the port name is missing, append the container name to the tcp port name
2019-06-17 20:50:21 +03:00
stefanprodan
88c450e3bd
Implement port discovery
...
If port discovery is enabled, Flagger scans the deployment pod template and extracts the container ports excluding the port specified in the canary service spec and Istio proxy ports. All the extra ports will be used when generation the ClusterIP services.
2019-06-15 16:34:32 +03:00
stefanprodan
2ebedd185c
Add port discovery field to canary service spec
2019-06-15 16:18:54 +03:00
stefanprodan
12a29f1939
Release v0.15.0
2019-06-12 15:38:56 +03:00
stefanprodan
028933b635
Switch to go mod from dep
2019-06-11 19:37:36 +03:00
stefanprodan
2285bd210e
Add traffic policy to canary service spec
...
Attach traffic policy to canary and primary destination rules
2019-06-07 13:58:59 +03:00
stefanprodan
3fa9f37192
Reconcile Istio destination rule
...
Remove port selector from virtual service destinations
Ignore the destination weight field when diffing the virtual service spec
2019-06-07 13:31:07 +03:00