Skip to content
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

feat: Adds support for Istio traffic mirroring #2074

Merged
merged 27 commits into from
Jun 29, 2022

Conversation

zachaller
Copy link
Collaborator

@zachaller zachaller commented Jun 3, 2022

This PR add support for Istio traffic mirroring it also implements #2073 and standardized header routing steps as well.

@zachaller zachaller marked this pull request as ready for review June 3, 2022 22:18
@zachaller zachaller marked this pull request as draft June 3, 2022 22:19
@codecov
Copy link

codecov bot commented Jun 3, 2022

Codecov Report

Merging #2074 (5f237bd) into master (e3c33d8) will decrease coverage by 0.28%.
The diff coverage is 63.44%.

@@            Coverage Diff             @@
##           master    #2074      +/-   ##
==========================================
- Coverage   82.47%   82.19%   -0.29%     
==========================================
  Files         121      121              
  Lines       17519    17865     +346     
==========================================
+ Hits        14449    14684     +235     
- Misses       2356     2415      +59     
- Partials      714      766      +52     
Impacted Files Coverage Δ
rollout/canary.go 75.48% <0.00%> (-0.42%) ⬇️
utils/replicaset/canary.go 92.72% <ø> (-0.17%) ⬇️
rollout/trafficrouting.go 76.56% <19.04%> (-4.28%) ⬇️
rollout/trafficrouting/istio/istio.go 72.93% <57.38%> (-4.49%) ⬇️
pkg/apis/rollouts/validation/validation.go 95.67% <100.00%> (+0.73%) ⬆️
rollout/trafficrouting/alb/alb.go 82.46% <100.00%> (+1.30%) ⬆️
rollout/trafficrouting/ambassador/ambassador.go 83.67% <100.00%> (+1.38%) ⬆️
rollout/trafficrouting/appmesh/appmesh.go 78.03% <100.00%> (+1.10%) ⬆️
rollout/trafficrouting/nginx/nginx.go 80.76% <100.00%> (+1.35%) ⬆️
rollout/trafficrouting/smi/smi.go 94.94% <100.00%> (+0.87%) ⬆️
... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e3c33d8...5f237bd. Read the comment docs.

@zachaller zachaller force-pushed the feat-setMirror branch 3 times, most recently from 59bdb0f to cd17daa Compare June 9, 2022 17:46
@zachaller zachaller marked this pull request as ready for review June 9, 2022 17:56
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
@harikrongali
Copy link
Contributor

@zachaller I don't see any documentation and sample examples? can you add them?

Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
@@ -142,6 +143,21 @@ func (r *Reconciler) generateVirtualServicePatches(rolloutVsvcRouteNames []strin
stableSubset = r.rollout.Spec.Strategy.Canary.TrafficRouting.Istio.DestinationRule.StableSubsetName
}

// Go through all the routes on the Istio Virtual Service looking for routes that are Istio mirror routes as well as on the
// managedRoutes field on the rollout object so that we can update the Istio mirror upon set weight calls
if r.rollout.Spec.Strategy.Canary.TrafficRouting != nil && r.rollout.Spec.Strategy.Canary.TrafficRouting.ManagedRoutes != nil {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Always true:
r.rollout.Spec.Strategy.Canary.TrafficRouting != nil

rollout/trafficrouting/istio/istio.go Outdated Show resolved Hide resolved
pkg/apis/rollouts/validation/validation.go Outdated Show resolved Hide resolved
rollout/trafficrouting.go Show resolved Hide resolved
rollout/trafficrouting/istio/istio.go Outdated Show resolved Hide resolved
Signed-off-by: zachaller <zachaller@hotmail.com>
@harikrongali harikrongali added this to the v1.3 milestone Jun 22, 2022
Signed-off-by: zachaller <zachaller@hotmail.com>
@zachaller zachaller force-pushed the feat-setMirror branch 2 times, most recently from 89f8f19 to 907ab3b Compare June 29, 2022 00:37
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
are defined in spec.strategy.canary.trafficRouting.istio.virtualService.routes
requiring only a single route

Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Copy link
Contributor

@leoluz leoluz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: zachaller <zachaller@hotmail.com>
@sonarcloud
Copy link

sonarcloud bot commented Jun 29, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 18 Code Smells

No Coverage information No Coverage information
12.3% 12.3% Duplication

@leoluz leoluz merged commit 40c356c into argoproj:master Jun 29, 2022
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Oct 18, 2022
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* merge conflict broke tests

Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
jenciso pushed a commit to jenciso/argo-rollouts that referenced this pull request Oct 25, 2022
* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Oct 31, 2022
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix: UI not redirecting on / (argoproj#2252)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test case

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(controller):  Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261)

* Add roundtripper to kubeconfig before creating kubeclient

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Check if k8sRequestsCount is nil before attempting increase

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Added Flipkart to Users.md

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* gofmt controller/metrics/client.go

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* fixes(controller): istio dropping fields not defined in type (argoproj#2268)

* fixes argoproj#2266

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* typo

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* test after calling set mirror

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* Keep port on user defined service by adding to internal types

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* 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 <zachaller@users.noreply.github.com>

* cleanup test to just test extra fields and add a port check on destination as well

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* keep port for both mirroring and header routes

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* add function comment

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>
Signed-off-by: zachaller <zachaller@users.noreply.github.com>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
Co-authored-by: nikhil1raghav <44281594+nikhil1raghav@users.noreply.github.com>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Jan 12, 2023
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* merge conflict broke tests

Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Jan 12, 2023
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix: UI not redirecting on / (argoproj#2252)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test case

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(controller):  Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261)

* Add roundtripper to kubeconfig before creating kubeclient

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Check if k8sRequestsCount is nil before attempting increase

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Added Flipkart to Users.md

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* gofmt controller/metrics/client.go

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* fixes(controller): istio dropping fields not defined in type (argoproj#2268)

* fixes argoproj#2266

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* typo

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* test after calling set mirror

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* Keep port on user defined service by adding to internal types

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* 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 <zachaller@users.noreply.github.com>

* cleanup test to just test extra fields and add a port check on destination as well

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* keep port for both mirroring and header routes

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* add function comment

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>
Signed-off-by: zachaller <zachaller@users.noreply.github.com>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
Co-authored-by: nikhil1raghav <44281594+nikhil1raghav@users.noreply.github.com>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Jan 12, 2023
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* merge conflict broke tests

Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Jan 12, 2023
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix: UI not redirecting on / (argoproj#2252)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test case

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(controller):  Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261)

* Add roundtripper to kubeconfig before creating kubeclient

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Check if k8sRequestsCount is nil before attempting increase

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Added Flipkart to Users.md

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* gofmt controller/metrics/client.go

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* fixes(controller): istio dropping fields not defined in type (argoproj#2268)

* fixes argoproj#2266

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* typo

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* test after calling set mirror

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* Keep port on user defined service by adding to internal types

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* 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 <zachaller@users.noreply.github.com>

* cleanup test to just test extra fields and add a port check on destination as well

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* keep port for both mirroring and header routes

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* add function comment

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>
Signed-off-by: zachaller <zachaller@users.noreply.github.com>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
Co-authored-by: nikhil1raghav <44281594+nikhil1raghav@users.noreply.github.com>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Jan 12, 2023
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* merge conflict broke tests

Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
tperdue321 added a commit to rallyhealth/argo-rollouts that referenced this pull request Jan 12, 2023
* feat: add support for influxdb as a metrics provider (argoproj#1839)

* feat: add InfluxDB metric provider implementation

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add influx to metric provider util count, add missing graphite

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add protobuf definitions for InfluxdbMetric

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add docs for the Influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add tests for influxdb metrics provider

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: add go mod replace for version of moq due to security issue

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: update error message to distinguish failed cases - review feedback

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* 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 <jbird@influxdata.com>

* feat: re-run codegen

Signed-off-by: Jayme Bird <jbird@influxdata.com>

* feat: Adds support for Istio traffic mirroring (argoproj#2074)

* feat: Add support for istio traffic mirroring steps

Signed-off-by: zachaller <zachaller@hotmail.com>

* bump e2e timeout

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unintended change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Cleaner events

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add docs for mirror and fix up header routing

Signed-off-by: zachaller <zachaller@hotmail.com>

* small doc changes

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix types and change example

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused type

Signed-off-by: zachaller <zachaller@hotmail.com>

* Docs change

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix PR comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* Check for >=

Signed-off-by: zachaller <zachaller@hotmail.com>

* Remove unused function

Signed-off-by: zachaller <zachaller@hotmail.com>

* codegen

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add better error logging

Signed-off-by: zachaller <zachaller@hotmail.com>

* a few more error msgs

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix logic error

Signed-off-by: zachaller <zachaller@hotmail.com>

* redo header logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* cleanup routes when promiting with last step being a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bug with promote and last step is a pause

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix typo

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: improve openapi schema (argoproj#2081)

* feat: include all CRDs to the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat: use kube-openapi naming convention in the OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* chore: generate OpenAPI schema

Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>

* feat(grafana): Allow selecting datasource for grafana dashboard (argoproj#1988)

Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>

* feat: support /rollouts/:namespace?q=... and /rollout/:namespace/:name (argoproj#1902)

Signed-off-by: Simon Ninon <sninon@pagerduty.com>

* chore: Add e2e and unit test comment reports (argoproj#2123)

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: upgrade deps (argoproj#2136)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fixes argoproj#2141 Added list and watch to clusterrole (argoproj#2145)

Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>

* 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 <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add new test for ShouldVerifyWeight

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add test for where we do not need to verify weight and its already set

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix up review comments

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix bad merge

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix test

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clearer function name

Signed-off-by: zachaller <zachaller@hotmail.com>

* Clean up if logic

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test

Signed-off-by: zachaller <zachaller@hotmail.com>

* More tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* back off deps updates

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix dep change

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade prom deps for new features

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* chore: use controler-gen for cluster analysis template scope (argoproj#2148)

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(analysis): Fix Analysis Terminal Decision For Dry-Run Metrics (argoproj#2131)

Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>

* docs: update release doc with brew formula details (argoproj#2165)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* 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 <mikedball@gmail.com>

* build trigger

Signed-off-by: Mike Ball <mikedball@gmail.com>

* feat: emit rollout delete event (argoproj#1893)

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>

* chore: Upgrade golang (argoproj#2160)

* Upgrade golang

Signed-off-by: zachaller <zachaller@hotmail.com>

* upgrade golang to 1.18 for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix deps

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update build action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Upgrade push action

Signed-off-by: zachaller <zachaller@hotmail.com>

* Update docker file

Signed-off-by: zachaller <zachaller@hotmail.com>

* Bump golang lint to match

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix go.mod

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <ravireliable@gmail.com>

* fix: controller schema linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* docs: comment the details on the change

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* 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 <zachaller@hotmail.com>

* Catch edge cases and make sure we always server index.html on not found

Signed-off-by: zachaller <zachaller@hotmail.com>

* turn path.Clean into var

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename vars to make more sense and remove healthy event becase it will never be consistent

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* possible fix for e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* unit test for complete function

Signed-off-by: zachaller <zachaller@hotmail.com>

* small cleanup and changes to not check generation

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test and proper behavior

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* rename and fix one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit tests

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* add seperate test for TestRolloutComplete

Signed-off-by: zachaller <zachaller@hotmail.com>

* renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* Set Completed to false

Signed-off-by: zachaller <zachaller@hotmail.com>

* Add event

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix e2e

Signed-off-by: zachaller <zachaller@hotmail.com>

* refactor

Signed-off-by: zachaller <zachaller@hotmail.com>

* Fix all but one unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix last unit test

Signed-off-by: zachaller <zachaller@hotmail.com>

* lint

Signed-off-by: zachaller <zachaller@hotmail.com>

* cleanup

Signed-off-by: zachaller <zachaller@hotmail.com>

* Rename

Signed-off-by: zachaller <zachaller@hotmail.com>

* More renames

Signed-off-by: zachaller <zachaller@hotmail.com>

* small comment change

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <git@hosted.run>

Signed-off-by: Siavash Safi <git@hosted.run>

* fix: enable notifications without when condition (argoproj#2231)

* fix: enable notifications without when condition

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: use trigger action item from the list

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: add emptycondition logic to make notifications work with/without conditions

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* fix: linting

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

Signed-off-by: Ravi Hari <ravireliable@gmail.com>

* Use standard cli format for dashboard root path (argoproj#2244)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix: UI not redirecting on / (argoproj#2252)

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* 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 <zachaller@hotmail.com>

* Add test case

Signed-off-by: zachaller <zachaller@hotmail.com>

Signed-off-by: zachaller <zachaller@hotmail.com>

* fix(controller):  Fix k8s clientset controller metrics. Fixes argoproj#2139 (argoproj#2261)

* Add roundtripper to kubeconfig before creating kubeclient

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Check if k8sRequestsCount is nil before attempting increase

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* Added Flipkart to Users.md

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* gofmt controller/metrics/client.go

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>

* fixes(controller): istio dropping fields not defined in type (argoproj#2268)

* fixes argoproj#2266

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* typo

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* test after calling set mirror

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* Keep port on user defined service by adding to internal types

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* 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 <zachaller@users.noreply.github.com>

* cleanup test to just test extra fields and add a port check on destination as well

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* keep port for both mirroring and header routes

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* github trigger re-run

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

* add function comment

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: zachaller <zachaller@users.noreply.github.com>

Signed-off-by: Jayme Bird <jbird@influxdata.com>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Mário Bezerra <mario.bezerra@incognia.com>
Signed-off-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Signed-off-by: Simon Ninon <sninon@pagerduty.com>
Signed-off-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Signed-off-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: Mike Ball <mikedball@gmail.com>
Signed-off-by: Ravi Hari <ravireliable@gmail.com>
Signed-off-by: Siavash Safi <git@hosted.run>
Signed-off-by: Nikhil <nikhil1.raghav@gmail.com>
Signed-off-by: zachaller <zachaller@users.noreply.github.com>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Co-authored-by: jaymebrd <jaymeb.email@gmail.com>
Co-authored-by: Zach Aller <zachaller@users.noreply.github.com>
Co-authored-by: Mário Bezerra <mvgmb@cin.ufpe.br>
Co-authored-by: Jesse Antoszyk <22500761+jcantosz@users.noreply.github.com>
Co-authored-by: Simon Ninon <simon@ninon.me>
Co-authored-by: Martin Adler <1208749+EagleIJoe@users.noreply.github.com>
Co-authored-by: Rohit Agrawal <rohit.agrawal@databricks.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
Co-authored-by: Mike Ball <mikedball@gmail.com>
Co-authored-by: cskh <huikang209@gmail.com>
Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: RaviHari <ravireliable@gmail.com>
Co-authored-by: Siavash Safi <git@hosted.run>
Co-authored-by: nikhil1raghav <44281594+nikhil1raghav@users.noreply.github.com>
Signed-off-by: Travis Perdue <travis.perdue@rallyhealth.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants