Yusuke Kuoka
6661406b75
Metrics provider for deployments and services behind Envoy
...
Assumes `envoy:smi` as the mesh provider name as I've successfully tested the progressive delivery for Envoy + Crossover with it.
This enhances Flagger to translate it to the metrics provider name of `envoy` for deployment targets, or `envoy:service` for service targets.
The `envoy` metrics provider is equivalent to `appmesh`, as both relies on the same set of standard metrics exposed by Envoy itself.
The `envoy:service` is almost the same as the `envoy` provider, but removing the condition on pod name, as we only need to filter on the backing service name = envoy_cluster_name. We don't consider other Envoy xDS implementations that uses anything that is different to original servicen ames as `envoy_cluster_name`, for now.
Ref #385
2019-11-30 13:03:01 +09:00
stefanprodan
4454c9b5b5
Add canary factory for Kubernetes targets
...
- extract Kubernetes operations to controller interface
- implement controller interface for kind Deployment
2019-11-25 18:45:19 +02:00
stefanprodan
1cb09890fb
Add env to chart options to be used for Slack and Teams URLs
2019-10-09 16:53:34 +03:00
stefanprodan
faae6a7c3b
Add env vars for Slack and Teams URLs
2019-10-09 16:03:30 +03:00
Anton Kislitcyn
f56b6dd6a7
Add annotations prefix for ingresses
2019-09-06 11:36:06 +02:00
stefanprodan
10c61daee4
Exit when losing leadership
2019-07-07 13:09:05 +03:00
stefanprodan
b937c4ea8d
Implement leader election
...
Add enable-leader-election and leader-election-namespace flags
2019-07-07 11:41:27 +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
ba4a2406ba
Refactor notifier to allow more implementations
2019-07-06 15:47:12 +03:00
Daniel Herman
764e7e275d
Validate the minimum supported k8s version
...
Fixes #103
2019-06-27 00:18:08 -04:00
stefanprodan
d0591916a4
Update k8s packages
2019-06-21 23:42:59 +03:00
stefanprodan
b5f73d66ec
Add version command
2019-06-21 12:54:43 +03:00
stefanprodan
028933b635
Switch to go mod from dep
2019-06-11 19:37:36 +03:00
stefanprodan
0032c14a78
Refactor metrics
...
- add observer interface with builtin metrics functions
- add metrics observer factory
- add prometheus client
- implement the observer interface for istio, envoy and nginx
- remove deprecated istio and app mesh metric aliases (istio_requests_total, istio_request_duration_seconds_bucket, envoy_cluster_upstream_rq, envoy_cluster_upstream_rq_time_bucket)
2019-05-13 17:34:08 +03:00
stefanprodan
5f544b90d6
Log mesh provider at startup
2019-05-06 18:41:04 +03:00
Yuval Kohavi
2173bfc1a0
Merge remote-tracking branch 'origin/master' into supergloo-updated
2019-04-19 11:17:37 -04:00
stefanprodan
0c68983c62
Update deps to Kubernetes 1.13.1
2019-04-18 19:30:55 +03:00
Yuval Kohavi
156488c8d5
Merge remote-tracking branch 'origin/master' into supergloo-updated
2019-04-17 18:24:41 -04:00
Yuval Kohavi
868482c240
basics seem working!
2019-04-16 15:10:08 -04:00
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
a09dc2cbd8
Rename logging package
2019-04-15 11:25:45 +03: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
b4ae060122
Move to weaveworks org
2019-03-20 18:26:04 +02:00
stefanprodan
7d340c5e61
Change mesh providers based on cmd flag
2019-03-17 10:52:52 +02:00
stefanprodan
48e79d5dd4
Add mesh provider flag
2019-03-16 14:12:23 +02:00
stefanprodan
780ba82385
Log namespace restriction if one exists
2019-03-08 13:05:25 +02:00
Stefan Prodan
e094c2ae14
Merge pull request #80 from stefanprodan/istio
...
Add Istio k8s client
2019-03-06 11:55:27 +02:00
Huy Le
d8cb8f1064
Added Namespace Flag for Flagger
...
- introduce the namespace flag for flagger to watch a single namespace
for Canary Objects
2019-03-05 20:57:00 -08:00
stefanprodan
b0b6198ec8
Add Istio virtual service and signal packages
2019-03-06 01:43:09 +02:00
Alex Wong
231a32331b
move flags to main packages
2019-03-05 17:48:55 +08:00
Alex Wong
104e8ef050
Add options for customizing threadiness, logger encoding, and global logger level
2019-03-05 14:30:23 +08:00
stefanprodan
882b4b2d23
Update the control loop interval flag description
2019-01-08 13:15:10 +02:00
stefanprodan
bec96356ec
Bump CRD version to v1alpha3
...
- new field canaryAnalysis.interval
2019-01-07 01:03:31 +02:00
stefanprodan
0d96bedfee
Add webhooks to Canary CRD v1alpha2
2018-12-26 13:42:36 +02:00
Stefan Prodan
769aff57cb
Add Slack notifications for canary events
2018-11-25 11:44:45 +02:00
stefanprodan
583c9cc004
Rename Istio client set
2018-11-25 00:05:43 +02:00
Stefan Prodan
663dc82574
Controller refactoring part two
...
- share components between loops
2018-10-11 20:51:12 +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