-
Notifications
You must be signed in to change notification settings - Fork 867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(controller): istio dropping fields not defined in type #2268
Conversation
Signed-off-by: zachaller <[email protected]>
Codecov ReportBase: 82.36% // Head: 82.39% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #2268 +/- ##
==========================================
+ Coverage 82.36% 82.39% +0.03%
==========================================
Files 121 121
Lines 18438 18476 +38
==========================================
+ Hits 15186 15224 +38
Misses 2466 2466
Partials 786 786
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Signed-off-by: zachaller <[email protected]>
Signed-off-by: zachaller <[email protected]>
…to fix-istio-droping-fields
Signed-off-by: zachaller <[email protected]>
Signed-off-by: zachaller <[email protected]>
Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]>
…ation as well Signed-off-by: zachaller <[email protected]>
…to fix-istio-droping-fields
Signed-off-by: zachaller <[email protected]>
Signed-off-by: zachaller <[email protected]>
Signed-off-by: zachaller <[email protected]>
Signed-off-by: zachaller <[email protected]>
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* fixes #2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]>
…j#2268) * fixes argoproj#2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]>
* feat: add support for influxdb as a metrics provider (argoproj#1839) * feat: add InfluxDB metric provider implementation Signed-off-by: Jayme Bird <[email protected]> * feat: add influx to metric provider util count, add missing graphite Signed-off-by: Jayme Bird <[email protected]> * feat: add protobuf definitions for InfluxdbMetric Signed-off-by: Jayme Bird <[email protected]> * feat: add docs for the Influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add tests for influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add go mod replace for version of moq due to security issue Signed-off-by: Jayme Bird <[email protected]> * feat: update error message to distinguish failed cases - review feedback Signed-off-by: Jayme Bird <[email protected]> * feat: update tests to simplify mocking of QueryTableResult An upstream change to the influx go client makes it easier to mock QueryTableResult in tests. This removes a lot of boilerplate duplication in the tests. Signed-off-by: Jayme Bird <[email protected]> * feat: re-run codegen Signed-off-by: Jayme Bird <[email protected]> * feat: Adds support for Istio traffic mirroring (argoproj#2074) * feat: Add support for istio traffic mirroring steps Signed-off-by: zachaller <[email protected]> * bump e2e timeout Signed-off-by: zachaller <[email protected]> * Remove unintended change Signed-off-by: zachaller <[email protected]> * Cleaner events Signed-off-by: zachaller <[email protected]> * Add docs for mirror and fix up header routing Signed-off-by: zachaller <[email protected]> * small doc changes Signed-off-by: zachaller <[email protected]> * Add example Signed-off-by: zachaller <[email protected]> * Fix types and change example Signed-off-by: zachaller <[email protected]> * Remove unused type Signed-off-by: zachaller <[email protected]> * Docs change Signed-off-by: zachaller <[email protected]> * Fix PR comments Signed-off-by: zachaller <[email protected]> * Check for >= Signed-off-by: zachaller <[email protected]> * Remove unused function Signed-off-by: zachaller <[email protected]> * codegen Signed-off-by: zachaller <[email protected]> * Add better error logging Signed-off-by: zachaller <[email protected]> * a few more error msgs Signed-off-by: zachaller <[email protected]> * fix comments Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * fix logic error Signed-off-by: zachaller <[email protected]> * redo header logic Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Fix issue with keeping route weight updated when no routes are defined in spec.strategy.canary.trafficRouting.istio.virtualService.routes requiring only a single route Signed-off-by: zachaller <[email protected]> * cleanup routes when promiting with last step being a pause Signed-off-by: zachaller <[email protected]> * fix bug with promote and last step is a pause Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * fix typo Signed-off-by: zachaller <[email protected]> * chore: improve openapi schema (argoproj#2081) * feat: include all CRDs to the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat: use kube-openapi naming convention in the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * chore: generate OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988) Signed-off-by: Jesse Antoszyk <[email protected]> * feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902) Signed-off-by: Simon Ninon <[email protected]> * chore: Add e2e and unit test comment reports (argoproj#2123) Signed-off-by: zachaller <[email protected]> * chore: upgrade deps (argoproj#2136) Signed-off-by: zachaller <[email protected]> * fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145) Signed-off-by: Martin Adler <[email protected]> * fix: Update ro.Status.ALB when first creating rollout object (argoproj#1986) * fix: make sure we update rollout.Status.ALB when first create Rollout object This fixes the case when we first create a rollout the status.ALB field does not get updated with valid information form the elb. Signed-off-by: zachaller <[email protected]> * Refactor check for if we should verify alb. This creates a new rolloututil function ShouldVerifyWeight that verifies that we should call aws because the rollout is in the middle of some update. The reason I feel this should move into the ingress implmentation function VerifyWeight is becuase in the future other ingresses might also need to verify weights and adding ingress specific status checks in trafficrouting.go like a leak details where it should be up to the ingress provider to determin if it should be careful of rate limiting do to say it being a cloud provider call. Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * Add new test for ShouldVerifyWeight Signed-off-by: zachaller <[email protected]> * Fix logic Signed-off-by: zachaller <[email protected]> * Add test for where we do not need to verify weight and its already set Signed-off-by: zachaller <[email protected]> * fix up review comments Signed-off-by: zachaller <[email protected]> * fix tests Signed-off-by: zachaller <[email protected]> * fix bad merge Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Clearer function name Signed-off-by: zachaller <[email protected]> * Clean up if logic Signed-off-by: zachaller <[email protected]> * fix: remove metrics when objects are removed from cluster to prevent build up (argoproj#2115) * fix: remove metrics on resource removal Signed-off-by: zachaller <[email protected]> * Add test Signed-off-by: zachaller <[email protected]> * More tests Signed-off-by: zachaller <[email protected]> * back off deps updates Signed-off-by: zachaller <[email protected]> * Fix dep change Signed-off-by: zachaller <[email protected]> * upgrade prom deps for new features Signed-off-by: zachaller <[email protected]> * fix deps Signed-off-by: zachaller <[email protected]> * chore: use controler-gen for cluster analysis template scope (argoproj#2148) Signed-off-by: zachaller <[email protected]> * fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131) Signed-off-by: Rohit Agrawal <[email protected]> * docs: update release doc with brew formula details (argoproj#2165) Signed-off-by: Leonardo Luz Almeida <[email protected]> * fix(docs) Graphite metrics provider linked in docs sidebar. Fixes argoproj#2102. (argoproj#2094) * Graphite metrics provider linked in docs sidebar This fixes an issue wherein the Graphite metrics provider has no sidebar link in the docs hosted at https://argoproj.github.io/argo-rollouts/. As a bonus, this also removes various trailing whitespace from analysis docs. Signed-off-by: Mike Ball <[email protected]> * build trigger Signed-off-by: Mike Ball <[email protected]> * feat: emit rollout delete event (argoproj#1893) Signed-off-by: Hui Kang <[email protected]> Co-authored-by: Hui Kang <[email protected]> * chore: Upgrade golang (argoproj#2160) * Upgrade golang Signed-off-by: zachaller <[email protected]> * upgrade golang to 1.18 for e2e Signed-off-by: zachaller <[email protected]> * Fix deps Signed-off-by: zachaller <[email protected]> * Update build action Signed-off-by: zachaller <[email protected]> * Upgrade push action Signed-off-by: zachaller <[email protected]> * Update docker file Signed-off-by: zachaller <[email protected]> * Bump golang lint to match Signed-off-by: zachaller <[email protected]> * fix go.mod Signed-off-by: zachaller <[email protected]> * fix: Failed to process: Object 'Kind' is missing in Errors with rollouts notification (argoproj#2150) * fix: update rolloutobject with gvk before writing to rollout informer Signed-off-by: Ravi Hari <[email protected]> * fix: controller schema linting Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * fix: rootPath support so that it uses the embedded files system (argoproj#2198) * fix: rootPath support so that it uses the embeded files system Signed-off-by: zachaller <[email protected]> * Catch edge cases and make sure we always server index.html on not found Signed-off-by: zachaller <[email protected]> * turn path.Clean into var Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: change completed condition so it only triggers on pod hash changes also adds an event for when it does changes. (argoproj#2203) * feat: add healthy event/condition and fix completed event/condition Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * rename vars to make more sense and remove healthy event becase it will never be consistent Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * possible fix for e2e Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * unit test for complete function Signed-off-by: zachaller <[email protected]> * small cleanup and changes to not check generation Signed-off-by: zachaller <[email protected]> * fix unit test and proper behavior Signed-off-by: zachaller <[email protected]> * Fix e2e Signed-off-by: zachaller <[email protected]> * rename and fix one unit test Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * fix unit test Signed-off-by: zachaller <[email protected]> * add seperate test for TestRolloutComplete Signed-off-by: zachaller <[email protected]> * renames Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * Set Completed to false Signed-off-by: zachaller <[email protected]> * Add event Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * refactor Signed-off-by: zachaller <[email protected]> * Fix all but one unit test Signed-off-by: zachaller <[email protected]> * fix last unit test Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Rename Signed-off-by: zachaller <[email protected]> * More renames Signed-off-by: zachaller <[email protected]> * small comment change Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * feat: Add support for spec.ingressClassName (argoproj#2178) This change adds support for `spec.ingressClassName` while still supporting `kubernetes.io/ingress.class` annotation for backwards compatibility. Fixes argoproj#1277 Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Siavash Safi <[email protected]> * fix: enable notifications without when condition (argoproj#2231) * fix: enable notifications without when condition Signed-off-by: Ravi Hari <[email protected]> * fix: use trigger action item from the list Signed-off-by: Ravi Hari <[email protected]> * fix: add emptycondition logic to make notifications work with/without conditions Signed-off-by: Ravi Hari <[email protected]> * fix: linting Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Ravi Hari <[email protected]> * Use standard cli format for dashboard root path (argoproj#2244) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: UI not redirecting on / (argoproj#2252) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: nil pointer while linting with basic canary and ingresses (argoproj#2256) * fix: nil pointer while linting basic canary with Ingress resources Signed-off-by: zachaller <[email protected]> * Add test case Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix(controller): Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261) * Add roundtripper to kubeconfig before creating kubeclient Signed-off-by: Nikhil <[email protected]> * Check if k8sRequestsCount is nil before attempting increase Signed-off-by: Nikhil <[email protected]> * Added Flipkart to Users.md Signed-off-by: Nikhil <[email protected]> * gofmt controller/metrics/client.go Signed-off-by: Nikhil <[email protected]> Signed-off-by: Nikhil <[email protected]> * fixes(controller): istio dropping fields not defined in type (argoproj#2268) * fixes argoproj#2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Jayme Bird <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Mário Bezerra <[email protected]> Signed-off-by: Jesse Antoszyk <[email protected]> Signed-off-by: Simon Ninon <[email protected]> Signed-off-by: Martin Adler <[email protected]> Signed-off-by: Rohit Agrawal <[email protected]> Signed-off-by: Leonardo Luz Almeida <[email protected]> Signed-off-by: Mike Ball <[email protected]> Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Nikhil <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Travis Perdue <[email protected]> Co-authored-by: jaymebrd <[email protected]> Co-authored-by: Zach Aller <[email protected]> Co-authored-by: Mário Bezerra <[email protected]> Co-authored-by: Jesse Antoszyk <[email protected]> Co-authored-by: Simon Ninon <[email protected]> Co-authored-by: Martin Adler <[email protected]> Co-authored-by: Rohit Agrawal <[email protected]> Co-authored-by: Leonardo Luz Almeida <[email protected]> Co-authored-by: Mike Ball <[email protected]> Co-authored-by: cskh <[email protected]> Co-authored-by: Hui Kang <[email protected]> Co-authored-by: RaviHari <[email protected]> Co-authored-by: Siavash Safi <[email protected]> Co-authored-by: nikhil1raghav <[email protected]>
…j#2268) * fixes argoproj#2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]>
* feat: add support for influxdb as a metrics provider (argoproj#1839) * feat: add InfluxDB metric provider implementation Signed-off-by: Jayme Bird <[email protected]> * feat: add influx to metric provider util count, add missing graphite Signed-off-by: Jayme Bird <[email protected]> * feat: add protobuf definitions for InfluxdbMetric Signed-off-by: Jayme Bird <[email protected]> * feat: add docs for the Influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add tests for influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add go mod replace for version of moq due to security issue Signed-off-by: Jayme Bird <[email protected]> * feat: update error message to distinguish failed cases - review feedback Signed-off-by: Jayme Bird <[email protected]> * feat: update tests to simplify mocking of QueryTableResult An upstream change to the influx go client makes it easier to mock QueryTableResult in tests. This removes a lot of boilerplate duplication in the tests. Signed-off-by: Jayme Bird <[email protected]> * feat: re-run codegen Signed-off-by: Jayme Bird <[email protected]> * feat: Adds support for Istio traffic mirroring (argoproj#2074) * feat: Add support for istio traffic mirroring steps Signed-off-by: zachaller <[email protected]> * bump e2e timeout Signed-off-by: zachaller <[email protected]> * Remove unintended change Signed-off-by: zachaller <[email protected]> * Cleaner events Signed-off-by: zachaller <[email protected]> * Add docs for mirror and fix up header routing Signed-off-by: zachaller <[email protected]> * small doc changes Signed-off-by: zachaller <[email protected]> * Add example Signed-off-by: zachaller <[email protected]> * Fix types and change example Signed-off-by: zachaller <[email protected]> * Remove unused type Signed-off-by: zachaller <[email protected]> * Docs change Signed-off-by: zachaller <[email protected]> * Fix PR comments Signed-off-by: zachaller <[email protected]> * Check for >= Signed-off-by: zachaller <[email protected]> * Remove unused function Signed-off-by: zachaller <[email protected]> * codegen Signed-off-by: zachaller <[email protected]> * Add better error logging Signed-off-by: zachaller <[email protected]> * a few more error msgs Signed-off-by: zachaller <[email protected]> * fix comments Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * fix logic error Signed-off-by: zachaller <[email protected]> * redo header logic Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Fix issue with keeping route weight updated when no routes are defined in spec.strategy.canary.trafficRouting.istio.virtualService.routes requiring only a single route Signed-off-by: zachaller <[email protected]> * cleanup routes when promiting with last step being a pause Signed-off-by: zachaller <[email protected]> * fix bug with promote and last step is a pause Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * fix typo Signed-off-by: zachaller <[email protected]> * chore: improve openapi schema (argoproj#2081) * feat: include all CRDs to the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat: use kube-openapi naming convention in the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * chore: generate OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988) Signed-off-by: Jesse Antoszyk <[email protected]> * feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902) Signed-off-by: Simon Ninon <[email protected]> * chore: Add e2e and unit test comment reports (argoproj#2123) Signed-off-by: zachaller <[email protected]> * chore: upgrade deps (argoproj#2136) Signed-off-by: zachaller <[email protected]> * fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145) Signed-off-by: Martin Adler <[email protected]> * fix: Update ro.Status.ALB when first creating rollout object (argoproj#1986) * fix: make sure we update rollout.Status.ALB when first create Rollout object This fixes the case when we first create a rollout the status.ALB field does not get updated with valid information form the elb. Signed-off-by: zachaller <[email protected]> * Refactor check for if we should verify alb. This creates a new rolloututil function ShouldVerifyWeight that verifies that we should call aws because the rollout is in the middle of some update. The reason I feel this should move into the ingress implmentation function VerifyWeight is becuase in the future other ingresses might also need to verify weights and adding ingress specific status checks in trafficrouting.go like a leak details where it should be up to the ingress provider to determin if it should be careful of rate limiting do to say it being a cloud provider call. Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * Add new test for ShouldVerifyWeight Signed-off-by: zachaller <[email protected]> * Fix logic Signed-off-by: zachaller <[email protected]> * Add test for where we do not need to verify weight and its already set Signed-off-by: zachaller <[email protected]> * fix up review comments Signed-off-by: zachaller <[email protected]> * fix tests Signed-off-by: zachaller <[email protected]> * fix bad merge Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Clearer function name Signed-off-by: zachaller <[email protected]> * Clean up if logic Signed-off-by: zachaller <[email protected]> * fix: remove metrics when objects are removed from cluster to prevent build up (argoproj#2115) * fix: remove metrics on resource removal Signed-off-by: zachaller <[email protected]> * Add test Signed-off-by: zachaller <[email protected]> * More tests Signed-off-by: zachaller <[email protected]> * back off deps updates Signed-off-by: zachaller <[email protected]> * Fix dep change Signed-off-by: zachaller <[email protected]> * upgrade prom deps for new features Signed-off-by: zachaller <[email protected]> * fix deps Signed-off-by: zachaller <[email protected]> * chore: use controler-gen for cluster analysis template scope (argoproj#2148) Signed-off-by: zachaller <[email protected]> * fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131) Signed-off-by: Rohit Agrawal <[email protected]> * docs: update release doc with brew formula details (argoproj#2165) Signed-off-by: Leonardo Luz Almeida <[email protected]> * fix(docs) Graphite metrics provider linked in docs sidebar. Fixes argoproj#2102. (argoproj#2094) * Graphite metrics provider linked in docs sidebar This fixes an issue wherein the Graphite metrics provider has no sidebar link in the docs hosted at https://argoproj.github.io/argo-rollouts/. As a bonus, this also removes various trailing whitespace from analysis docs. Signed-off-by: Mike Ball <[email protected]> * build trigger Signed-off-by: Mike Ball <[email protected]> * feat: emit rollout delete event (argoproj#1893) Signed-off-by: Hui Kang <[email protected]> Co-authored-by: Hui Kang <[email protected]> * chore: Upgrade golang (argoproj#2160) * Upgrade golang Signed-off-by: zachaller <[email protected]> * upgrade golang to 1.18 for e2e Signed-off-by: zachaller <[email protected]> * Fix deps Signed-off-by: zachaller <[email protected]> * Update build action Signed-off-by: zachaller <[email protected]> * Upgrade push action Signed-off-by: zachaller <[email protected]> * Update docker file Signed-off-by: zachaller <[email protected]> * Bump golang lint to match Signed-off-by: zachaller <[email protected]> * fix go.mod Signed-off-by: zachaller <[email protected]> * fix: Failed to process: Object 'Kind' is missing in Errors with rollouts notification (argoproj#2150) * fix: update rolloutobject with gvk before writing to rollout informer Signed-off-by: Ravi Hari <[email protected]> * fix: controller schema linting Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * fix: rootPath support so that it uses the embedded files system (argoproj#2198) * fix: rootPath support so that it uses the embeded files system Signed-off-by: zachaller <[email protected]> * Catch edge cases and make sure we always server index.html on not found Signed-off-by: zachaller <[email protected]> * turn path.Clean into var Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: change completed condition so it only triggers on pod hash changes also adds an event for when it does changes. (argoproj#2203) * feat: add healthy event/condition and fix completed event/condition Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * rename vars to make more sense and remove healthy event becase it will never be consistent Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * possible fix for e2e Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * unit test for complete function Signed-off-by: zachaller <[email protected]> * small cleanup and changes to not check generation Signed-off-by: zachaller <[email protected]> * fix unit test and proper behavior Signed-off-by: zachaller <[email protected]> * Fix e2e Signed-off-by: zachaller <[email protected]> * rename and fix one unit test Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * fix unit test Signed-off-by: zachaller <[email protected]> * add seperate test for TestRolloutComplete Signed-off-by: zachaller <[email protected]> * renames Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * Set Completed to false Signed-off-by: zachaller <[email protected]> * Add event Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * refactor Signed-off-by: zachaller <[email protected]> * Fix all but one unit test Signed-off-by: zachaller <[email protected]> * fix last unit test Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Rename Signed-off-by: zachaller <[email protected]> * More renames Signed-off-by: zachaller <[email protected]> * small comment change Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * feat: Add support for spec.ingressClassName (argoproj#2178) This change adds support for `spec.ingressClassName` while still supporting `kubernetes.io/ingress.class` annotation for backwards compatibility. Fixes argoproj#1277 Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Siavash Safi <[email protected]> * fix: enable notifications without when condition (argoproj#2231) * fix: enable notifications without when condition Signed-off-by: Ravi Hari <[email protected]> * fix: use trigger action item from the list Signed-off-by: Ravi Hari <[email protected]> * fix: add emptycondition logic to make notifications work with/without conditions Signed-off-by: Ravi Hari <[email protected]> * fix: linting Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Ravi Hari <[email protected]> * Use standard cli format for dashboard root path (argoproj#2244) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: UI not redirecting on / (argoproj#2252) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: nil pointer while linting with basic canary and ingresses (argoproj#2256) * fix: nil pointer while linting basic canary with Ingress resources Signed-off-by: zachaller <[email protected]> * Add test case Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix(controller): Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261) * Add roundtripper to kubeconfig before creating kubeclient Signed-off-by: Nikhil <[email protected]> * Check if k8sRequestsCount is nil before attempting increase Signed-off-by: Nikhil <[email protected]> * Added Flipkart to Users.md Signed-off-by: Nikhil <[email protected]> * gofmt controller/metrics/client.go Signed-off-by: Nikhil <[email protected]> Signed-off-by: Nikhil <[email protected]> * fixes(controller): istio dropping fields not defined in type (argoproj#2268) * fixes argoproj#2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Jayme Bird <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Mário Bezerra <[email protected]> Signed-off-by: Jesse Antoszyk <[email protected]> Signed-off-by: Simon Ninon <[email protected]> Signed-off-by: Martin Adler <[email protected]> Signed-off-by: Rohit Agrawal <[email protected]> Signed-off-by: Leonardo Luz Almeida <[email protected]> Signed-off-by: Mike Ball <[email protected]> Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Nikhil <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Travis Perdue <[email protected]> Co-authored-by: jaymebrd <[email protected]> Co-authored-by: Zach Aller <[email protected]> Co-authored-by: Mário Bezerra <[email protected]> Co-authored-by: Jesse Antoszyk <[email protected]> Co-authored-by: Simon Ninon <[email protected]> Co-authored-by: Martin Adler <[email protected]> Co-authored-by: Rohit Agrawal <[email protected]> Co-authored-by: Leonardo Luz Almeida <[email protected]> Co-authored-by: Mike Ball <[email protected]> Co-authored-by: cskh <[email protected]> Co-authored-by: Hui Kang <[email protected]> Co-authored-by: RaviHari <[email protected]> Co-authored-by: Siavash Safi <[email protected]> Co-authored-by: nikhil1raghav <[email protected]>
* feat: add support for influxdb as a metrics provider (argoproj#1839) * feat: add InfluxDB metric provider implementation Signed-off-by: Jayme Bird <[email protected]> * feat: add influx to metric provider util count, add missing graphite Signed-off-by: Jayme Bird <[email protected]> * feat: add protobuf definitions for InfluxdbMetric Signed-off-by: Jayme Bird <[email protected]> * feat: add docs for the Influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add tests for influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add go mod replace for version of moq due to security issue Signed-off-by: Jayme Bird <[email protected]> * feat: update error message to distinguish failed cases - review feedback Signed-off-by: Jayme Bird <[email protected]> * feat: update tests to simplify mocking of QueryTableResult An upstream change to the influx go client makes it easier to mock QueryTableResult in tests. This removes a lot of boilerplate duplication in the tests. Signed-off-by: Jayme Bird <[email protected]> * feat: re-run codegen Signed-off-by: Jayme Bird <[email protected]> * feat: Adds support for Istio traffic mirroring (argoproj#2074) * feat: Add support for istio traffic mirroring steps Signed-off-by: zachaller <[email protected]> * bump e2e timeout Signed-off-by: zachaller <[email protected]> * Remove unintended change Signed-off-by: zachaller <[email protected]> * Cleaner events Signed-off-by: zachaller <[email protected]> * Add docs for mirror and fix up header routing Signed-off-by: zachaller <[email protected]> * small doc changes Signed-off-by: zachaller <[email protected]> * Add example Signed-off-by: zachaller <[email protected]> * Fix types and change example Signed-off-by: zachaller <[email protected]> * Remove unused type Signed-off-by: zachaller <[email protected]> * Docs change Signed-off-by: zachaller <[email protected]> * Fix PR comments Signed-off-by: zachaller <[email protected]> * Check for >= Signed-off-by: zachaller <[email protected]> * Remove unused function Signed-off-by: zachaller <[email protected]> * codegen Signed-off-by: zachaller <[email protected]> * Add better error logging Signed-off-by: zachaller <[email protected]> * a few more error msgs Signed-off-by: zachaller <[email protected]> * fix comments Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * fix logic error Signed-off-by: zachaller <[email protected]> * redo header logic Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Fix issue with keeping route weight updated when no routes are defined in spec.strategy.canary.trafficRouting.istio.virtualService.routes requiring only a single route Signed-off-by: zachaller <[email protected]> * cleanup routes when promiting with last step being a pause Signed-off-by: zachaller <[email protected]> * fix bug with promote and last step is a pause Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * fix typo Signed-off-by: zachaller <[email protected]> * chore: improve openapi schema (argoproj#2081) * feat: include all CRDs to the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat: use kube-openapi naming convention in the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * chore: generate OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988) Signed-off-by: Jesse Antoszyk <[email protected]> * feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902) Signed-off-by: Simon Ninon <[email protected]> * chore: Add e2e and unit test comment reports (argoproj#2123) Signed-off-by: zachaller <[email protected]> * chore: upgrade deps (argoproj#2136) Signed-off-by: zachaller <[email protected]> * fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145) Signed-off-by: Martin Adler <[email protected]> * fix: Update ro.Status.ALB when first creating rollout object (argoproj#1986) * fix: make sure we update rollout.Status.ALB when first create Rollout object This fixes the case when we first create a rollout the status.ALB field does not get updated with valid information form the elb. Signed-off-by: zachaller <[email protected]> * Refactor check for if we should verify alb. This creates a new rolloututil function ShouldVerifyWeight that verifies that we should call aws because the rollout is in the middle of some update. The reason I feel this should move into the ingress implmentation function VerifyWeight is becuase in the future other ingresses might also need to verify weights and adding ingress specific status checks in trafficrouting.go like a leak details where it should be up to the ingress provider to determin if it should be careful of rate limiting do to say it being a cloud provider call. Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * Add new test for ShouldVerifyWeight Signed-off-by: zachaller <[email protected]> * Fix logic Signed-off-by: zachaller <[email protected]> * Add test for where we do not need to verify weight and its already set Signed-off-by: zachaller <[email protected]> * fix up review comments Signed-off-by: zachaller <[email protected]> * fix tests Signed-off-by: zachaller <[email protected]> * fix bad merge Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Clearer function name Signed-off-by: zachaller <[email protected]> * Clean up if logic Signed-off-by: zachaller <[email protected]> * fix: remove metrics when objects are removed from cluster to prevent build up (argoproj#2115) * fix: remove metrics on resource removal Signed-off-by: zachaller <[email protected]> * Add test Signed-off-by: zachaller <[email protected]> * More tests Signed-off-by: zachaller <[email protected]> * back off deps updates Signed-off-by: zachaller <[email protected]> * Fix dep change Signed-off-by: zachaller <[email protected]> * upgrade prom deps for new features Signed-off-by: zachaller <[email protected]> * fix deps Signed-off-by: zachaller <[email protected]> * chore: use controler-gen for cluster analysis template scope (argoproj#2148) Signed-off-by: zachaller <[email protected]> * fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131) Signed-off-by: Rohit Agrawal <[email protected]> * docs: update release doc with brew formula details (argoproj#2165) Signed-off-by: Leonardo Luz Almeida <[email protected]> * fix(docs) Graphite metrics provider linked in docs sidebar. Fixes argoproj#2102. (argoproj#2094) * Graphite metrics provider linked in docs sidebar This fixes an issue wherein the Graphite metrics provider has no sidebar link in the docs hosted at https://argoproj.github.io/argo-rollouts/. As a bonus, this also removes various trailing whitespace from analysis docs. Signed-off-by: Mike Ball <[email protected]> * build trigger Signed-off-by: Mike Ball <[email protected]> * feat: emit rollout delete event (argoproj#1893) Signed-off-by: Hui Kang <[email protected]> Co-authored-by: Hui Kang <[email protected]> * chore: Upgrade golang (argoproj#2160) * Upgrade golang Signed-off-by: zachaller <[email protected]> * upgrade golang to 1.18 for e2e Signed-off-by: zachaller <[email protected]> * Fix deps Signed-off-by: zachaller <[email protected]> * Update build action Signed-off-by: zachaller <[email protected]> * Upgrade push action Signed-off-by: zachaller <[email protected]> * Update docker file Signed-off-by: zachaller <[email protected]> * Bump golang lint to match Signed-off-by: zachaller <[email protected]> * fix go.mod Signed-off-by: zachaller <[email protected]> * fix: Failed to process: Object 'Kind' is missing in Errors with rollouts notification (argoproj#2150) * fix: update rolloutobject with gvk before writing to rollout informer Signed-off-by: Ravi Hari <[email protected]> * fix: controller schema linting Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * fix: rootPath support so that it uses the embedded files system (argoproj#2198) * fix: rootPath support so that it uses the embeded files system Signed-off-by: zachaller <[email protected]> * Catch edge cases and make sure we always server index.html on not found Signed-off-by: zachaller <[email protected]> * turn path.Clean into var Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: change completed condition so it only triggers on pod hash changes also adds an event for when it does changes. (argoproj#2203) * feat: add healthy event/condition and fix completed event/condition Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * rename vars to make more sense and remove healthy event becase it will never be consistent Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * possible fix for e2e Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * unit test for complete function Signed-off-by: zachaller <[email protected]> * small cleanup and changes to not check generation Signed-off-by: zachaller <[email protected]> * fix unit test and proper behavior Signed-off-by: zachaller <[email protected]> * Fix e2e Signed-off-by: zachaller <[email protected]> * rename and fix one unit test Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * fix unit test Signed-off-by: zachaller <[email protected]> * add seperate test for TestRolloutComplete Signed-off-by: zachaller <[email protected]> * renames Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * Set Completed to false Signed-off-by: zachaller <[email protected]> * Add event Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * refactor Signed-off-by: zachaller <[email protected]> * Fix all but one unit test Signed-off-by: zachaller <[email protected]> * fix last unit test Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Rename Signed-off-by: zachaller <[email protected]> * More renames Signed-off-by: zachaller <[email protected]> * small comment change Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * feat: Add support for spec.ingressClassName (argoproj#2178) This change adds support for `spec.ingressClassName` while still supporting `kubernetes.io/ingress.class` annotation for backwards compatibility. Fixes argoproj#1277 Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Siavash Safi <[email protected]> * fix: enable notifications without when condition (argoproj#2231) * fix: enable notifications without when condition Signed-off-by: Ravi Hari <[email protected]> * fix: use trigger action item from the list Signed-off-by: Ravi Hari <[email protected]> * fix: add emptycondition logic to make notifications work with/without conditions Signed-off-by: Ravi Hari <[email protected]> * fix: linting Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Ravi Hari <[email protected]> * Use standard cli format for dashboard root path (argoproj#2244) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: UI not redirecting on / (argoproj#2252) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: nil pointer while linting with basic canary and ingresses (argoproj#2256) * fix: nil pointer while linting basic canary with Ingress resources Signed-off-by: zachaller <[email protected]> * Add test case Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix(controller): Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261) * Add roundtripper to kubeconfig before creating kubeclient Signed-off-by: Nikhil <[email protected]> * Check if k8sRequestsCount is nil before attempting increase Signed-off-by: Nikhil <[email protected]> * Added Flipkart to Users.md Signed-off-by: Nikhil <[email protected]> * gofmt controller/metrics/client.go Signed-off-by: Nikhil <[email protected]> Signed-off-by: Nikhil <[email protected]> * fixes(controller): istio dropping fields not defined in type (argoproj#2268) * fixes argoproj#2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Jayme Bird <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Mário Bezerra <[email protected]> Signed-off-by: Jesse Antoszyk <[email protected]> Signed-off-by: Simon Ninon <[email protected]> Signed-off-by: Martin Adler <[email protected]> Signed-off-by: Rohit Agrawal <[email protected]> Signed-off-by: Leonardo Luz Almeida <[email protected]> Signed-off-by: Mike Ball <[email protected]> Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Nikhil <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Travis Perdue <[email protected]> Co-authored-by: jaymebrd <[email protected]> Co-authored-by: Zach Aller <[email protected]> Co-authored-by: Mário Bezerra <[email protected]> Co-authored-by: Jesse Antoszyk <[email protected]> Co-authored-by: Simon Ninon <[email protected]> Co-authored-by: Martin Adler <[email protected]> Co-authored-by: Rohit Agrawal <[email protected]> Co-authored-by: Leonardo Luz Almeida <[email protected]> Co-authored-by: Mike Ball <[email protected]> Co-authored-by: cskh <[email protected]> Co-authored-by: Hui Kang <[email protected]> Co-authored-by: RaviHari <[email protected]> Co-authored-by: Siavash Safi <[email protected]> Co-authored-by: nikhil1raghav <[email protected]> Signed-off-by: Travis Perdue <[email protected]>
* feat: add support for influxdb as a metrics provider (argoproj#1839) * feat: add InfluxDB metric provider implementation Signed-off-by: Jayme Bird <[email protected]> * feat: add influx to metric provider util count, add missing graphite Signed-off-by: Jayme Bird <[email protected]> * feat: add protobuf definitions for InfluxdbMetric Signed-off-by: Jayme Bird <[email protected]> * feat: add docs for the Influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add tests for influxdb metrics provider Signed-off-by: Jayme Bird <[email protected]> * feat: add go mod replace for version of moq due to security issue Signed-off-by: Jayme Bird <[email protected]> * feat: update error message to distinguish failed cases - review feedback Signed-off-by: Jayme Bird <[email protected]> * feat: update tests to simplify mocking of QueryTableResult An upstream change to the influx go client makes it easier to mock QueryTableResult in tests. This removes a lot of boilerplate duplication in the tests. Signed-off-by: Jayme Bird <[email protected]> * feat: re-run codegen Signed-off-by: Jayme Bird <[email protected]> * feat: Adds support for Istio traffic mirroring (argoproj#2074) * feat: Add support for istio traffic mirroring steps Signed-off-by: zachaller <[email protected]> * bump e2e timeout Signed-off-by: zachaller <[email protected]> * Remove unintended change Signed-off-by: zachaller <[email protected]> * Cleaner events Signed-off-by: zachaller <[email protected]> * Add docs for mirror and fix up header routing Signed-off-by: zachaller <[email protected]> * small doc changes Signed-off-by: zachaller <[email protected]> * Add example Signed-off-by: zachaller <[email protected]> * Fix types and change example Signed-off-by: zachaller <[email protected]> * Remove unused type Signed-off-by: zachaller <[email protected]> * Docs change Signed-off-by: zachaller <[email protected]> * Fix PR comments Signed-off-by: zachaller <[email protected]> * Check for >= Signed-off-by: zachaller <[email protected]> * Remove unused function Signed-off-by: zachaller <[email protected]> * codegen Signed-off-by: zachaller <[email protected]> * Add better error logging Signed-off-by: zachaller <[email protected]> * a few more error msgs Signed-off-by: zachaller <[email protected]> * fix comments Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * fix logic error Signed-off-by: zachaller <[email protected]> * redo header logic Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Fix issue with keeping route weight updated when no routes are defined in spec.strategy.canary.trafficRouting.istio.virtualService.routes requiring only a single route Signed-off-by: zachaller <[email protected]> * cleanup routes when promiting with last step being a pause Signed-off-by: zachaller <[email protected]> * fix bug with promote and last step is a pause Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * fix typo Signed-off-by: zachaller <[email protected]> * chore: improve openapi schema (argoproj#2081) * feat: include all CRDs to the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat: use kube-openapi naming convention in the OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * chore: generate OpenAPI schema Signed-off-by: Mário Bezerra <[email protected]> * feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988) Signed-off-by: Jesse Antoszyk <[email protected]> * feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902) Signed-off-by: Simon Ninon <[email protected]> * chore: Add e2e and unit test comment reports (argoproj#2123) Signed-off-by: zachaller <[email protected]> * chore: upgrade deps (argoproj#2136) Signed-off-by: zachaller <[email protected]> * fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145) Signed-off-by: Martin Adler <[email protected]> * fix: Update ro.Status.ALB when first creating rollout object (argoproj#1986) * fix: make sure we update rollout.Status.ALB when first create Rollout object This fixes the case when we first create a rollout the status.ALB field does not get updated with valid information form the elb. Signed-off-by: zachaller <[email protected]> * Refactor check for if we should verify alb. This creates a new rolloututil function ShouldVerifyWeight that verifies that we should call aws because the rollout is in the middle of some update. The reason I feel this should move into the ingress implmentation function VerifyWeight is becuase in the future other ingresses might also need to verify weights and adding ingress specific status checks in trafficrouting.go like a leak details where it should be up to the ingress provider to determin if it should be careful of rate limiting do to say it being a cloud provider call. Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * Fix tests Signed-off-by: zachaller <[email protected]> * Add new test for ShouldVerifyWeight Signed-off-by: zachaller <[email protected]> * Fix logic Signed-off-by: zachaller <[email protected]> * Add test for where we do not need to verify weight and its already set Signed-off-by: zachaller <[email protected]> * fix up review comments Signed-off-by: zachaller <[email protected]> * fix tests Signed-off-by: zachaller <[email protected]> * fix bad merge Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Fix test Signed-off-by: zachaller <[email protected]> * Clearer function name Signed-off-by: zachaller <[email protected]> * Clean up if logic Signed-off-by: zachaller <[email protected]> * fix: remove metrics when objects are removed from cluster to prevent build up (argoproj#2115) * fix: remove metrics on resource removal Signed-off-by: zachaller <[email protected]> * Add test Signed-off-by: zachaller <[email protected]> * More tests Signed-off-by: zachaller <[email protected]> * back off deps updates Signed-off-by: zachaller <[email protected]> * Fix dep change Signed-off-by: zachaller <[email protected]> * upgrade prom deps for new features Signed-off-by: zachaller <[email protected]> * fix deps Signed-off-by: zachaller <[email protected]> * chore: use controler-gen for cluster analysis template scope (argoproj#2148) Signed-off-by: zachaller <[email protected]> * fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131) Signed-off-by: Rohit Agrawal <[email protected]> * docs: update release doc with brew formula details (argoproj#2165) Signed-off-by: Leonardo Luz Almeida <[email protected]> * fix(docs) Graphite metrics provider linked in docs sidebar. Fixes argoproj#2102. (argoproj#2094) * Graphite metrics provider linked in docs sidebar This fixes an issue wherein the Graphite metrics provider has no sidebar link in the docs hosted at https://argoproj.github.io/argo-rollouts/. As a bonus, this also removes various trailing whitespace from analysis docs. Signed-off-by: Mike Ball <[email protected]> * build trigger Signed-off-by: Mike Ball <[email protected]> * feat: emit rollout delete event (argoproj#1893) Signed-off-by: Hui Kang <[email protected]> Co-authored-by: Hui Kang <[email protected]> * chore: Upgrade golang (argoproj#2160) * Upgrade golang Signed-off-by: zachaller <[email protected]> * upgrade golang to 1.18 for e2e Signed-off-by: zachaller <[email protected]> * Fix deps Signed-off-by: zachaller <[email protected]> * Update build action Signed-off-by: zachaller <[email protected]> * Upgrade push action Signed-off-by: zachaller <[email protected]> * Update docker file Signed-off-by: zachaller <[email protected]> * Bump golang lint to match Signed-off-by: zachaller <[email protected]> * fix go.mod Signed-off-by: zachaller <[email protected]> * fix: Failed to process: Object 'Kind' is missing in Errors with rollouts notification (argoproj#2150) * fix: update rolloutobject with gvk before writing to rollout informer Signed-off-by: Ravi Hari <[email protected]> * fix: controller schema linting Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * docs: comment the details on the change Signed-off-by: Ravi Hari <[email protected]> * fix: rootPath support so that it uses the embedded files system (argoproj#2198) * fix: rootPath support so that it uses the embeded files system Signed-off-by: zachaller <[email protected]> * Catch edge cases and make sure we always server index.html on not found Signed-off-by: zachaller <[email protected]> * turn path.Clean into var Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: change completed condition so it only triggers on pod hash changes also adds an event for when it does changes. (argoproj#2203) * feat: add healthy event/condition and fix completed event/condition Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * rename vars to make more sense and remove healthy event becase it will never be consistent Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * possible fix for e2e Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * unit test for complete function Signed-off-by: zachaller <[email protected]> * small cleanup and changes to not check generation Signed-off-by: zachaller <[email protected]> * fix unit test and proper behavior Signed-off-by: zachaller <[email protected]> * Fix e2e Signed-off-by: zachaller <[email protected]> * rename and fix one unit test Signed-off-by: zachaller <[email protected]> * fix unit tests Signed-off-by: zachaller <[email protected]> * fix unit test Signed-off-by: zachaller <[email protected]> * add seperate test for TestRolloutComplete Signed-off-by: zachaller <[email protected]> * renames Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * Set Completed to false Signed-off-by: zachaller <[email protected]> * Add event Signed-off-by: zachaller <[email protected]> * fix e2e Signed-off-by: zachaller <[email protected]> * refactor Signed-off-by: zachaller <[email protected]> * Fix all but one unit test Signed-off-by: zachaller <[email protected]> * fix last unit test Signed-off-by: zachaller <[email protected]> * lint Signed-off-by: zachaller <[email protected]> * cleanup Signed-off-by: zachaller <[email protected]> * Rename Signed-off-by: zachaller <[email protected]> * More renames Signed-off-by: zachaller <[email protected]> * small comment change Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * feat: Add support for spec.ingressClassName (argoproj#2178) This change adds support for `spec.ingressClassName` while still supporting `kubernetes.io/ingress.class` annotation for backwards compatibility. Fixes argoproj#1277 Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Siavash Safi <[email protected]> * fix: enable notifications without when condition (argoproj#2231) * fix: enable notifications without when condition Signed-off-by: Ravi Hari <[email protected]> * fix: use trigger action item from the list Signed-off-by: Ravi Hari <[email protected]> * fix: add emptycondition logic to make notifications work with/without conditions Signed-off-by: Ravi Hari <[email protected]> * fix: linting Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Ravi Hari <[email protected]> * Use standard cli format for dashboard root path (argoproj#2244) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: UI not redirecting on / (argoproj#2252) Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix: nil pointer while linting with basic canary and ingresses (argoproj#2256) * fix: nil pointer while linting basic canary with Ingress resources Signed-off-by: zachaller <[email protected]> * Add test case Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> * fix(controller): Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261) * Add roundtripper to kubeconfig before creating kubeclient Signed-off-by: Nikhil <[email protected]> * Check if k8sRequestsCount is nil before attempting increase Signed-off-by: Nikhil <[email protected]> * Added Flipkart to Users.md Signed-off-by: Nikhil <[email protected]> * gofmt controller/metrics/client.go Signed-off-by: Nikhil <[email protected]> Signed-off-by: Nikhil <[email protected]> * fixes(controller): istio dropping fields not defined in type (argoproj#2268) * fixes argoproj#2266 Signed-off-by: zachaller <[email protected]> * typo Signed-off-by: zachaller <[email protected]> * test after calling set mirror Signed-off-by: zachaller <[email protected]> * Keep port on user defined service by adding to internal types Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * Drop port on virtual service to be consistent with added routes Drop the port on the virtual service with the statment that rollouts only supports one port services. Signed-off-by: zachaller <[email protected]> * cleanup test to just test extra fields and add a port check on destination as well Signed-off-by: zachaller <[email protected]> * keep port for both mirroring and header routes Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * github trigger re-run Signed-off-by: zachaller <[email protected]> * add function comment Signed-off-by: zachaller <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Jayme Bird <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Mário Bezerra <[email protected]> Signed-off-by: Jesse Antoszyk <[email protected]> Signed-off-by: Simon Ninon <[email protected]> Signed-off-by: Martin Adler <[email protected]> Signed-off-by: Rohit Agrawal <[email protected]> Signed-off-by: Leonardo Luz Almeida <[email protected]> Signed-off-by: Mike Ball <[email protected]> Signed-off-by: Ravi Hari <[email protected]> Signed-off-by: Siavash Safi <[email protected]> Signed-off-by: Nikhil <[email protected]> Signed-off-by: zachaller <[email protected]> Signed-off-by: Travis Perdue <[email protected]> Co-authored-by: jaymebrd <[email protected]> Co-authored-by: Zach Aller <[email protected]> Co-authored-by: Mário Bezerra <[email protected]> Co-authored-by: Jesse Antoszyk <[email protected]> Co-authored-by: Simon Ninon <[email protected]> Co-authored-by: Martin Adler <[email protected]> Co-authored-by: Rohit Agrawal <[email protected]> Co-authored-by: Leonardo Luz Almeida <[email protected]> Co-authored-by: Mike Ball <[email protected]> Co-authored-by: cskh <[email protected]> Co-authored-by: Hui Kang <[email protected]> Co-authored-by: RaviHari <[email protected]> Co-authored-by: Siavash Safi <[email protected]> Co-authored-by: nikhil1raghav <[email protected]> Signed-off-by: Travis Perdue <[email protected]>
We were casting to an internal type when ordering routes which would cause use to drop any field not specified. This switches that logic to keep the interface{} type while sorting so we keep all the upstream fields.
fixes: #2266
Signed-off-by: zachaller [email protected]