Olivier Michaelis
d7b878f980
style: rename CanaryWaitingPromotion to CanaryPhaseWaitingPromotion
...
Renames the CanaryPhase to be more consistent with the existing phases.
Signed-off-by: Olivier Michaelis <38879457+oliviermichaelis@users.noreply.github.com >
2021-05-01 00:21:13 +02:00
Jason Blackburn
f0bf5219d4
added WaitingPromotion phase and only generate one alert when transitioning into the phase
...
Signed-off-by: Jason Blackburn <jason.blackburn@outlook.com >
2021-03-19 08:04:18 -05:00
Mayank Shah
873141b9ca
Add webhook confirm-traffic-increase for manually approving traffic increase
...
Signed-off-by: Mayank Shah <mayankshah1614@gmail.com >
2021-03-16 20:18:27 +05:30
Stefan Prodan
cd75c5fa25
Copyright Flux authors
...
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com >
2020-12-21 19:44:52 +02:00
Stefan Prodan
90abb7ba5b
Rename imports to fluxcd/flagger
...
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com >
2020-12-21 19:02:23 +02:00
robq99
c53cbac22c
fix: tests added, edge cases protection added
2020-11-18 12:20:42 +01:00
Robert Kwolek
1ea2e22734
fix: full weight => total weight
2020-11-17 16:30:45 +01:00
Robert Kwolek
2a0473fc9b
fix: fullWeight removed, fullWeight => totalWeight
2020-11-17 09:00:21 +01:00
Robert Kwolek
67dca9c7ad
Merge remote-tracking branch 'upstream/master'
2020-11-12 20:47:37 +01:00
Stefan Prodan
17237fbb3e
Merge pull request #695 from worldtiki/skip_analysis
...
Do not promote when not ready on skip analysis
2020-09-29 08:48:43 +03:00
Daniel Albuquerque
2907526452
Do not promote when not ready on skip analysis
2020-09-14 19:46:35 +01:00
Forrest Thomas
f70f43bb3d
use the existing labelSelector value instead of using the service name as the value
2020-09-02 12:46:02 -07:00
Robert Kwolek
a6a38c6a7a
fix: go fixes
2020-08-25 12:22:57 +02:00
Robert Kwolek
0ccf97bec1
fix: max weight for steps fixed
2020-08-25 10:34:59 +02:00
Robert Kwolek
906103daa5
feat: weighted deployments
2020-08-20 20:56:10 +02:00
Sebastien Le Digabel
8c55bb222d
Rephrasing Canary Progressing message
...
Fixes #606 .
Also fixed the alert message to keep it consistent with the message,
along with the documentation.
2020-06-02 14:35:55 +01:00
stefanprodan
2e75dbb170
Add progressive promotion test
2020-05-18 10:44:23 +03:00
stefanprodan
eaa5b14be6
Implement progressive traffic shifting on promotion
2020-05-18 10:34:10 +03:00
mathetake
a17e8b4794
not return even if checkMetricProviderAvailability fails
2020-05-15 21:44:35 +09:00
mathetake
5d84596bc0
pkg/controller: check metrics server's availability during initalization
2020-05-15 19:35:40 +09:00
stefanprodan
6cfa432834
Retry canary initialization on conflict
2020-05-14 11:03:32 +03:00
stefanprodan
86939d9dce
Register AppMesh VirtualNodes before Deployment init
2020-05-08 13:16:19 +03:00
Tariq Ibrahim
d41ed43ef9
fix issues reported by the linter
2020-04-17 11:45:44 -07:00
stefanprodan
84dd0006ca
Add service metadata update unit test
2020-04-04 17:16:49 +03:00
sayboras
c0515fc6ff
Upgrade to kube 1.18
2020-04-04 23:46:38 +11:00
stefanprodan
cbcd6ab03b
pkg/controller: avoid status conflicts on initialization
2020-04-01 20:47:31 +03:00
mathetake
65d4b28b58
pkg/{canary,controller}: remove unused skipLivenessChecks
2020-03-28 18:13:00 +09:00
stefanprodan
d35290dd6e
pkg/controller: Refactor scheduler
...
- move scheduler metrics and hooks to dedicate files
- remove weight params from shouldSkipAnalysis
2020-03-09 10:40:16 +02:00
mathetake
22f860a3a3
refactor pkg/controller
2020-03-08 16:06:53 +09:00
mathetake
64efd56ce9
pkg/metrics/observers: wrap errors
2020-03-08 10:56:35 +09:00
mathetake
2ec24bb17d
pkg/metrics/providers: wrap ErrNoValuesFound and modify controller accordingly
2020-03-08 00:17:52 +09:00
mathetake
8e9b9a358f
pkg/canary: refator error handlings and enhance messages
2020-03-07 23:10:07 +09:00
stefanprodan
287977c2b5
Deprecate spec.canaryAnalysis replaced by spec.analysis
...
- add analysis field to Canary spec
- deprecate canaryAnalysis filed (to be removed in the next API version)
- maintain backwards compatibility with v1alpha3 by using spec.canaryAnalysis if spec.analysis is nil
- set analysis threshold default value to 1
2020-02-28 11:24:38 +02:00
mathetake
a157824130
metrics/provider: add datadog metrics provider
...
implement metrics provider interface for datadog, tested against
the actual datadog account
resolves #284
2020-02-27 17:35:03 +09:00
mathetake
5af1665ef8
pkg/controller: add unit test for daemonset target
2020-02-23 13:39:11 +09:00
stefanprodan
1a87a9be45
Implement notifications based on alert providers and severity
2020-02-10 15:25:56 +02:00
stefanprodan
898edee67e
Refactor Flagger APIs and tests
...
- add CrossNamespaceObjectReference type
- add informers collection to controller
- use the informer cache to query for metric templates
- rename mock to fixture
- regenerate clientset
2020-02-10 10:36:31 +02:00
stefanprodan
de03d49f55
Implement metric threshold range
...
- add CanaryThresholdRange type to Canary API
- add optional thresholdRange field to the analysis metric object
- implement min/max metric result validation
- thresholdRange takes precedence over threshold when both are specified
2020-02-08 15:04:03 +02:00
stefanprodan
448c210324
Release API version v1beta1
...
- bump Canary and MetricTemplate version to v1beta1
- regenerate clientset and CRD
2020-02-07 12:35:56 +02:00
stefanprodan
b17d84a39d
Run the metric checks defined in templates
2020-02-06 15:07:53 +02:00
stefanprodan
d7d9d1eabe
Migrate the builtin Prometheus checks to metric templates
2020-02-06 15:07:53 +02:00
Tanner Altares
fa950e1a48
support gated rollback
2020-01-30 15:11:59 -06:00
Michael Parker
8d61e6f893
rename
2020-01-09 14:26:53 -06:00
Michael Parker
91395ea1ab
deepcopy canary for failed notification
2020-01-09 11:05:22 -06:00
Michael Parker
0894304fce
use canary copy for new revision notification
2020-01-09 10:45:13 -06:00
Stefan Prodan
968d67a7c3
Merge pull request #386 from mumoshu/envoy-canary-analysis
...
feat: Support for canary analysis on deployments and services behind Envoy
2019-12-18 19:22:18 +02:00
Yusuke Kuoka
357ef86c8b
Differentiate AppMesh observer vs Crossover observer
...
To not break AppMesh integration.
2019-12-18 22:03:30 +09:00
Yusuke Kuoka
d75ade5e8c
Fix envoy dashboard, scheduler, and envoy metrics provider to correctly pass canary analysis and show graphs
2019-12-18 10:55:49 +09:00
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
8766523279
Add initialization phase to Kubernetes router
...
Create Kubernetes services before deployments because Envoy's readiness depends on existing ClusterIPs
2019-11-27 22:15:04 +02:00