1006 Commits
Author SHA1 Message Date
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
Stefan Prodan e5d198f110 Add Travis CI build 2018-09-24 20:28:45 +03:00
Stefan Prodan db683655a7 Run go fmt 2018-09-24 18:27:18 +03:00