Commit Graph
148 Commits
Author SHA1 Message Date
Stefan Prodan eaf5bb992c Ensure constant format strings in fmt calls
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2025-03-23 08:59:45 +02:00
f1c8807c0d feat: add knative integration
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
Co-authored-by: Thomas Banks
2025-03-22 01:02:30 +05:30
Sanskar Jaiswal 757d90121b scheduler: fail canary according to progress deadline
Modify `canary.IsPrimaryReady()` and `canary.Initialize()` to return a
boolean indicating if the error is retriable. Modify the scheduler to
rollback the analysis and mark the Canary object as failed if the above
two functions or `canary.IsCanaryRead()` returns false along with an
error.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2024-03-05 00:10:30 +05:30
Kevin McDermottandKevin McDermott 56b6339f8c Add Canary Webhook checksum.
This adds a new Checksum field to the canary webhook body, which is a
hash of the LastAppliedSpec and TrackedConfigs.

This can be used to identify the rollout of a specific configuration,
and differentiate between webhooks being sent for different
configuration and deployment versions.

Signed-off-by: Kevin McDermott <kevin@weave.works>
2023-09-19 12:50:37 +01:00
miguelvalerioandSanskar Jaiswal b25e12d45d fix initial deployment downtime
Signed-off-by: miguelvalerio <miguelgomes.valerio@gmail.com>
2023-08-18 12:40:56 +05:30
ta924@yahoo.com ca6867a6b1 fix trafficIncrease calls when using confirmPromotion
Signed-off-by: ta924@yahoo.com <ta924@yahoo.com>
2023-08-03 11:16:25 -05:00
Sanskar Jaiswal 6384bfb4a2 add spec.suspend to allow suspending canary
Suspend, if set to true will suspend the Canary, disabling any canary runs
regardless of any changes to its target, services, etc. Note that if the
Canary is suspended during an analysis, its paused until the Canary is unsuspended.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-05-17 13:43:23 +05:30
Sanskar Jaiswal 495a5b24f4 run confirm-rollout checks only before scaling up
Run the `confirm-rollout` webhook check right before scaling up the
deployment only, instead of running it on every loop.

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2023-05-08 20:15:42 +05:30
Sanskar Jaiswal b2dc762937 add support for KEDA ScaledObjects via ScaledObjectReconciler
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-09 21:36:57 +05:30
Sanskar Jaiswal fa595e160c add ScalerReconciler to canary and refactor hpa out of deployment controller
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-07 13:43:11 +05:30
Stefan ProdanandGitHub 95381e1892 Merge pull request #1150 from cdlliuy/be_honor_to_skip_analysis_new
ignore FailedCheck result when skipAnalysis defined and be honor to skipAnalysis when internal error happens
2022-04-28 11:19:05 +03:00
Sanskar Jaiswal c7c0c76bd3 fix canary rollback behaviour
Prevents the canary from getting triggered, when a canary deploy is
updated to match the primary deploy after an analysis fails.

Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-04-15 13:49:05 +05:30
Ying Liu 77b2eb36a5 ignore FailedCheck result when skipAnalysis defined and be honor to skipAnalysi when internal error happens
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-17 10:49:30 +08:00
Ying Liu ab84ac207a shorten the metric analysis cycle after confirmpromption gate is open and make the analysis check still works during waitingpromption status
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-17 10:32:01 +08:00
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 ProdanandGitHub 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