Commit Graph

58 Commits

Author SHA1 Message Date
stefanprodan
5977ff9bae Add rollback test based on failed checks threshold 2018-11-27 17:00:13 +02:00
stefanprodan
c7e7785b06 Fix canary deployer is ready test 2018-11-27 15:55:04 +02:00
stefanprodan
4cb5ceb48b Rollback canary based on the deployment progress deadline check
- determine if the canary deployment is stuck by checking if there is a minimum replicas unavailable condition and if the last update time exceeds the deadline
- set progress deadline default value to 60 seconds
2018-11-27 15:44:15 +02:00
stefanprodan
5a79402a73 Add canary status state constants 2018-11-27 15:29:06 +02:00
stefanprodan
c24b11ff8b Add ProgressDeadlineSeconds to Canary CRD 2018-11-27 12:16:20 +02:00
stefanprodan
042d3c1a5b Set ProgressDeadlineSeconds for primary deployment on init/promote 2018-11-27 12:10:14 +02:00
stefanprodan
f8821cf30b bump dev version 2018-11-27 11:56:11 +02:00
stefanprodan
8c12cdb21d Release v0.1.0 2018-11-25 21:05:16 +02:00
Stefan Prodan
769aff57cb Add Slack notifications for canary events 2018-11-25 11:44:45 +02:00
Stefan Prodan
4138f37f9a Add Slack notifier component 2018-11-25 11:40:35 +02:00
Stefan Prodan
c5930e6f70 Update deployment strategy on promotion
- include spec strategy, min ready seconds and revision history limit to initialization and promotion
2018-11-24 20:03:02 +02:00
Stefan Prodan
07771f500f Release 0.1.0-beta.7 2018-11-24 15:58:17 +02:00
Stefan Prodan
65bd77c88f Add last transition time to Canary CRD status 2018-11-24 15:48:35 +02:00
Stefan Prodan
df98de7d11 Release v0.1.0-beta.6 2018-10-29 21:46:54 +02:00
Stefan Prodan
580924e63b Record canary duration and total
- add Prometheus metrics canary_duration_seconds and canary_total
2018-10-29 21:44:43 +02:00
Stefan Prodan
1b2108001f Add Prometheus registry flag to recorder
- fix tests
2018-10-29 14:04:45 +02:00
Stefan Prodan
074e57aa12 Add recorder to revision tests 2018-10-29 13:43:54 +02:00
Stefan Prodan
e16dde809d Add recorder to mock controller 2018-10-29 13:34:28 +02:00
Stefan Prodan
188e4ea82e Release v0.1.0-beta.5 2018-10-29 11:26:56 +02:00
Stefan Prodan
4a8aa3b547 Add recorder component
- records the canary analysis status and current weight as Prometheus metrics
2018-10-29 11:25:36 +02:00
Stefan Prodan
344c7db968 Make golint happy and add codecov 2018-10-23 16:36:48 +03:00
Stefan Prodan
65b908e702 Release v0.1.0-beta.2 2018-10-23 13:42:43 +03:00
Stefan Prodan
8e2f538e4c Add scheduler tests for initialization and revision 2018-10-22 20:14:09 +03:00
Stefan Prodan
be289ef7ce Add router tests 2018-10-22 17:21:06 +03:00
Stefan Prodan
fa13c92a15 Add deployer status and scaling tests 2018-10-22 16:29:59 +03:00
Stefan Prodan
dbd0908313 Add deployer promote tests 2018-10-22 16:03:06 +03:00
Stefan Prodan
9b5c4586b9 Add deployer sync tests 2018-10-22 16:02:01 +03:00
Stefan Prodan
b022124415 bump version 2018-10-15 11:05:39 +02:00
Stefan Prodan
663dc82574 Controller refactoring part two
- share components between loops
2018-10-11 20:51:12 +03:00
Stefan Prodan
baeee62a26 Controller refactoring
- split controller logic into components (deployer, observer, router and scheduler)
- set the canary analysis final state (failed or finished) in a single run
2018-10-11 19:59:40 +03:00
Stefan Prodan
a4f890c8b2 Add autoscaling support
- add HorizontalPodAutoscaler reference to CRD
- create primary HPA on canary bootstrap
2018-10-11 11:16:56 +03:00
Stefan Prodan
302de10fec Canary CRD refactoring
- set canaries.flagger.app version to v1alpha1
- replace old Canary spec with CanaryDeployment
2018-10-11 01:43:53 +03:00
Stefan Prodan
e2be4fdaed Add CanaryDeployment kind
- bootstrap the deployments. services and Istio virtual service
- use google/go-cmp to detect changes in the deployment pod spec
2018-10-10 16:57:12 +03:00
Stefan Prodan
c3f4f0a925 Rename project to flagger 2018-10-07 13:08:42 +03:00
Stefan Prodan
10dfea4203 Rename CRD group and kind name to canaries.steerer.app 2018-10-04 14:52:36 +03:00
Stefan Prodan
cfc1621c06 Scale up the deployment when canary revision changes 2018-10-02 00:24:18 +03:00
Stefan Prodan
d331d908a8 Add gofmt check and verify CRD codegen as part of CI testing 2018-09-30 12:38:18 +03:00
Stefan Prodan
217ad6ef19 Release 0.0.1-rc.6
- canary rollback based on failed checks threshold
2018-09-30 09:48:39 +03:00
Stefan Prodan
887daeaffa Implement canary rollback based on failed checks threshold
- use CRD status to store failed checks count
- refactor canary status check and remove annotations
2018-09-30 09:46:58 +03:00
Stefan Prodan
7993ae100b Refactor canary analysis
- move CRD metrics and weight setting to canary analysis
- add max weight to CRD spec
2018-09-29 11:08:40 +03:00
Stefan Prodan
388aa8a594 Release v0.0.1-beta.12
- use CRD status for canary state
2018-09-28 16:50:58 +03:00
Stefan Prodan
a2021ea947 Update CRD status for canary revision and rollout stage persistence 2018-09-28 16:49:37 +03:00
Stefan Prodan
7c96e8b081 Add req duration metric to CRD spec 2018-09-28 13:27:25 +03:00
Stefan Prodan
2671723c4c Add goreleaser
- rename controller
- remove cli
2018-09-27 15:33:43 +03:00
Stefan Prodan
7ac20fe625 Release 0.0.1-beta.5 2018-09-26 23:05:32 +03:00
Stefan Prodan
81157572f1 Add metrics server check at startup 2018-09-26 11:58:55 +03:00
Stefan Prodan
1b7210ec74 Add a 5s timeout to Prometheus queries 2018-09-26 11:20:11 +03:00
Stefan Prodan
0a03c8c04f Replace glog with zap and refactor controller 2018-09-26 11:07:33 +03:00
Stefan Prodan
6f68769150 Add Prometheus instrumentation and liveness/readiness probes 2018-09-25 14:28:53 +03:00
Stefan Prodan
b9309703e0 Refactor rollout advancement 2018-09-25 13:30:07 +03:00