stefanprodan
6ef72e2550
Make the pod selector configurable
...
- default labels: app, name and app.kubernetes.io/name
2019-04-15 12:57:25 +03:00
stefanprodan
60f51ad7d5
Move deployer and config tracker to canary package
2019-04-15 11:27:08 +03:00
stefanprodan
edcff9cd15
Execute pre/post rollout webhooks
...
- halt the canary advancement if pre-rollout hooks are failing
- include the canary status (Succeeded/Failed) in the post-rollout webhook payload
- ignore post-rollout webhook failures
- log pre/post rollout webhook response result
2019-04-13 15:43:23 +03:00
stefanprodan
352ed898d4
Add request success rate and duration metrics alias
2019-04-12 17:00:04 +03:00
stefanprodan
f211e0fe31
Use go templates to render the builtin promql queries
2019-03-31 13:55:14 +03:00
stefanprodan
c91a128b65
Fix observer mock init
2019-03-30 11:55:41 +02:00
stefanprodan
6a080f3032
Rename observer and recorder
2019-03-30 11:49:43 +02:00
stefanprodan
b2c12c1131
Move observer to metrics package
2019-03-30 11:45:39 +02:00
stefanprodan
025785389d
Refactor Prometheus recorder
...
- add flagger_info gauge metric
- expose the version and mesh provider as labels
- move the recorder to the metrics package
2019-03-28 11:58:19 +02:00
stefanprodan
48d9a0dede
Ensure the status metric is set after a restart
2019-03-28 11:52:13 +02:00
stefanprodan
ca074ef13f
Rename router sync to reconcile
2019-03-26 17:12:46 +02:00
stefanprodan
d07925d79d
Fix canary status prom metrics
2019-03-25 17:26:22 +02:00
stefanprodan
941be15762
Fix typo in comments
2019-03-23 11:25:31 +02:00
stefanprodan
578ebcf6ed
Use pod name filter in Envoy metrics query
...
Add support for Weave Cloud Prometheus agent
2019-03-23 11:20:51 +02:00
stefanprodan
b4ae060122
Move to weaveworks org
2019-03-20 18:26:04 +02:00
stefanprodan
4b6126dd1a
Add Envoy HTTP success rate metric check
2019-03-19 15:52:26 +02:00
stefanprodan
9d0e38c2e1
Disable primary readiness check in tests
2019-03-17 12:50:48 +02:00
stefanprodan
8b758fd616
Set primary min replicas
2019-03-17 12:30:11 +02:00
stefanprodan
7b4153113e
Fix router tests
2019-03-17 11:14:47 +02:00
stefanprodan
7d340c5e61
Change mesh providers based on cmd flag
2019-03-17 10:52:52 +02:00
stefanprodan
437b1d30c0
Copy labels from canary to primary
2019-03-14 01:49:07 +02:00
Stefan Prodan
1cd0c49872
Merge pull request #88 from stefanprodan/ab-testing
...
A/B testing - canary with session affinity
2019-03-11 13:55:06 +02:00
stefanprodan
86ea172380
Fix weight metric report
2019-03-08 23:28:45 +02:00
Huy Le
6196f69f4d
Create New Job when Canary's Interval changes
...
- Currently whenever the Canary analysis interval changes, flagger does
not reflect this into canary's job.
- This change will make sure the canary analysis interval got updated whenever
the Canary object's interval changes
2019-03-08 10:27:34 -08:00
stefanprodan
d8b847a973
Mention session affinity in docs
2019-03-08 15:05:44 +02:00
stefanprodan
e80a3d3232
Add A/B testing scheduling unit tests
2019-03-08 13:06:39 +02:00
stefanprodan
bf1ca293dc
Implement fix routing for canary analysis
...
Allow A/B testing scenarios where instead of weighted routing the traffic is split between the primary and canary based on HTTP headers or cookies.
2019-03-08 11:54:41 +02:00
stefanprodan
b0b6198ec8
Add Istio virtual service and signal packages
2019-03-06 01:43:09 +02:00
stefanprodan
9680ca98f2
Rename service router to Kubernetes router
2019-03-05 02:12:52 +02:00
stefanprodan
42b850ca52
Replace controller routing management with router pkg
2019-03-05 02:04:55 +02:00
Stefan Prodan
535a92e871
Merge pull request #70 from stefanprodan/append-headers
...
Allow headers to be appended to HTTP requests
2019-03-04 10:39:43 +02:00
Huy Le
6befee79c2
Fixed namepace typo in the repo
2019-03-02 13:49:42 -08:00
stefanprodan
35e20406ef
Append HTTP headers when configuring routing
2019-03-02 13:35:36 +02:00
stefanprodan
197e987d5f
Avoid mesh gateway duplicates
2019-03-01 13:09:27 +02:00
stefanprodan
e322ba0065
Add timeout and retries to router
2019-02-28 00:05:40 +02:00
stefanprodan
5d81876d07
Make the metric interval optional
...
- set default value to 1m
2019-02-27 16:03:56 +02:00
stefanprodan
4d61a896c3
Add custom promql queries support
2019-02-27 15:48:31 +02:00
stefanprodan
eabef3db30
Router improvements
...
- change virtual service route to canary service
- keep the existing destination weights on virtual service updates
- set the match conditions and URI rewrite when changing the traffic weight
2019-02-25 03:14:45 +02:00
stefanprodan
56cb888cbf
Add HTTP match and rewrite to virtual service
2019-02-25 00:08:06 +02:00
stefanprodan
1dc7677dfb
Add tests for virtual service sync
2019-02-24 19:58:01 +02:00
stefanprodan
8e699a7543
Detect changes in virtual service
...
- ignore destination weight when comparing the two specs
2019-02-24 18:25:12 +02:00
Carlos Sanchez
0c0ebaecd5
Compare only hosts and gateways
2019-02-19 19:54:38 +01:00
Carlos Sanchez
1925f99118
If generated VirtualService already exists update it
...
Only if spec has changed
2019-02-19 19:40:46 +01:00
stefanprodan
df1d9e3011
Add skip analysis test
2019-02-13 15:56:40 +02:00
stefanprodan
29cdd43288
Implement skip analysis
...
When skip analysis is enabled, Flagger checks if the canary deployment is healthy and promotes it without analysing it. If an analysis is underway, Flagger cancels it and runs the promotion.
2019-02-13 15:30:29 +02:00
stefanprodan
97fc4a90ae
Add validation for label selectors
...
- Reject deployment if the pod label selector doesn't match 'app: <DEPLOYMENT_NAME>'
2019-02-11 11:46:59 +02:00
stefanprodan
4bcf82d295
Copy annotations from canary to primary on promotion
2019-01-28 11:02:33 +02:00
stefanprodan
0830abd51d
Trigger a rolling update when configs change
...
- generate a unique pod annotation on promotion
2019-01-28 10:49:43 +02:00
stefanprodan
5b296e01b3
Detect changes in configs and trigger canary analysis
...
- restart analysis if a ConfigMap or Secret changes during rollout
- add tests for tracked changes
2019-01-26 12:36:27 +02:00
stefanprodan
5904348ba5
Refactor tests
...
- consolidate fake clients and mock objects
2019-01-26 00:39:33 +02:00