diff --git a/bundle/manifests/argoproj.io_analysisruns.yaml b/bundle/manifests/argoproj.io_analysisruns.yaml index 587a8fbca..90841d64c 100644 --- a/bundle/manifests/argoproj.io_analysisruns.yaml +++ b/bundle/manifests/argoproj.io_analysisruns.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 creationTimestamp: null name: analysisruns.argoproj.io spec: @@ -98,6 +98,11 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + consecutiveSuccessLimit: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true count: anyOf: - type: integer @@ -207,6 +212,13 @@ spec: type: object query: type: string + secretRef: + properties: + name: + type: string + namespaced: + type: boolean + type: object type: object graphite: properties: @@ -3015,6 +3027,9 @@ spec: type: string query: type: string + timeout: + format: int64 + type: integer required: - query type: object @@ -3066,6 +3081,15 @@ spec: type: boolean query: type: string + rangeQuery: + properties: + end: + type: string + start: + type: string + step: + type: string + type: object timeout: format: int64 type: integer @@ -3200,6 +3224,9 @@ spec: consecutiveError: format: int32 type: integer + consecutiveSuccess: + format: int32 + type: integer count: format: int32 type: integer diff --git a/bundle/manifests/argoproj.io_analysistemplates.yaml b/bundle/manifests/argoproj.io_analysistemplates.yaml index 333378ccb..1cd9a5aa8 100644 --- a/bundle/manifests/argoproj.io_analysistemplates.yaml +++ b/bundle/manifests/argoproj.io_analysistemplates.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 creationTimestamp: null name: analysistemplates.argoproj.io spec: @@ -94,6 +94,11 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + consecutiveSuccessLimit: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true count: anyOf: - type: integer @@ -203,6 +208,13 @@ spec: type: object query: type: string + secretRef: + properties: + name: + type: string + namespaced: + type: boolean + type: object type: object graphite: properties: @@ -3011,6 +3023,9 @@ spec: type: string query: type: string + timeout: + format: int64 + type: integer required: - query type: object @@ -3062,6 +3077,15 @@ spec: type: boolean query: type: string + rangeQuery: + properties: + end: + type: string + start: + type: string + step: + type: string + type: object timeout: format: int64 type: integer diff --git a/bundle/manifests/argoproj.io_clusteranalysistemplates.yaml b/bundle/manifests/argoproj.io_clusteranalysistemplates.yaml index 1568a0412..74e2f7d09 100644 --- a/bundle/manifests/argoproj.io_clusteranalysistemplates.yaml +++ b/bundle/manifests/argoproj.io_clusteranalysistemplates.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 creationTimestamp: null name: clusteranalysistemplates.argoproj.io spec: @@ -94,6 +94,11 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + consecutiveSuccessLimit: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true count: anyOf: - type: integer @@ -203,6 +208,13 @@ spec: type: object query: type: string + secretRef: + properties: + name: + type: string + namespaced: + type: boolean + type: object type: object graphite: properties: @@ -3011,6 +3023,9 @@ spec: type: string query: type: string + timeout: + format: int64 + type: integer required: - query type: object @@ -3062,6 +3077,15 @@ spec: type: boolean query: type: string + rangeQuery: + properties: + end: + type: string + start: + type: string + step: + type: string + type: object timeout: format: int64 type: integer diff --git a/bundle/manifests/argoproj.io_experiments.yaml b/bundle/manifests/argoproj.io_experiments.yaml index dbbd656ba..e9411e5f6 100644 --- a/bundle/manifests/argoproj.io_experiments.yaml +++ b/bundle/manifests/argoproj.io_experiments.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 creationTimestamp: null name: experiments.argoproj.io spec: diff --git a/bundle/manifests/argoproj.io_rollouts.yaml b/bundle/manifests/argoproj.io_rollouts.yaml index 741c4bd52..b6e7c68d2 100644 --- a/bundle/manifests/argoproj.io_rollouts.yaml +++ b/bundle/manifests/argoproj.io_rollouts.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 creationTimestamp: null name: rollouts.argoproj.io spec: @@ -662,6 +662,16 @@ spec: - type: string x-kubernetes-int-or-string: true type: object + plugin: + properties: + config: + type: object + x-kubernetes-preserve-unknown-fields: true + name: + type: string + required: + - name + type: object setCanaryScale: properties: matchTrafficWeight: @@ -934,6 +944,10 @@ spec: type: object annotationPrefix: type: string + canaryIngressAnnotations: + additionalProperties: + type: string + type: object stableIngress: type: string stableIngresses: @@ -3717,6 +3731,45 @@ spec: type: object stablePingPong: type: string + stepPluginStatuses: + items: + properties: + backoff: + type: string + disabled: + type: boolean + executions: + format: int32 + type: integer + finishedAt: + format: date-time + type: string + index: + format: int32 + type: integer + message: + type: string + name: + type: string + operation: + type: string + phase: + type: string + startedAt: + format: date-time + type: string + status: + type: object + x-kubernetes-preserve-unknown-fields: true + updatedAt: + format: date-time + type: string + required: + - index + - name + - operation + type: object + type: array weights: properties: additional: diff --git a/bundle/manifests/gitops-operator.clusterserviceversion.yaml b/bundle/manifests/gitops-operator.clusterserviceversion.yaml index a5d0052a7..e1ed2740d 100644 --- a/bundle/manifests/gitops-operator.clusterserviceversion.yaml +++ b/bundle/manifests/gitops-operator.clusterserviceversion.yaml @@ -164,7 +164,7 @@ metadata: capabilities: Deep Insights console.openshift.io/plugins: '["gitops-plugin"]' containerImage: quay.io/redhat-developer/gitops-operator - createdAt: "2025-01-30T07:45:55Z" + createdAt: "2025-02-13T17:48:46Z" description: Enables teams to adopt GitOps principles for managing cluster configurations and application delivery across hybrid multi-cluster Kubernetes environments. features.operators.openshift.io/disconnected: "true" diff --git a/config/crd/bases/analysis-run-crd.yaml b/config/crd/bases/analysis-run-crd.yaml index 04539115a..e6256b151 100644 --- a/config/crd/bases/analysis-run-crd.yaml +++ b/config/crd/bases/analysis-run-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: analysisruns.argoproj.io spec: group: argoproj.io @@ -98,6 +98,11 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + consecutiveSuccessLimit: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true count: anyOf: - type: integer @@ -207,6 +212,13 @@ spec: type: object query: type: string + secretRef: + properties: + name: + type: string + namespaced: + type: boolean + type: object type: object graphite: properties: @@ -3015,6 +3027,9 @@ spec: type: string query: type: string + timeout: + format: int64 + type: integer required: - query type: object @@ -3066,6 +3081,15 @@ spec: type: boolean query: type: string + rangeQuery: + properties: + end: + type: string + start: + type: string + step: + type: string + type: object timeout: format: int64 type: integer @@ -3200,6 +3224,9 @@ spec: consecutiveError: format: int32 type: integer + consecutiveSuccess: + format: int32 + type: integer count: format: int32 type: integer diff --git a/config/crd/bases/analysis-template-crd.yaml b/config/crd/bases/analysis-template-crd.yaml index ffb0da24c..0b9f22d2c 100644 --- a/config/crd/bases/analysis-template-crd.yaml +++ b/config/crd/bases/analysis-template-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: analysistemplates.argoproj.io spec: group: argoproj.io @@ -94,6 +94,11 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + consecutiveSuccessLimit: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true count: anyOf: - type: integer @@ -203,6 +208,13 @@ spec: type: object query: type: string + secretRef: + properties: + name: + type: string + namespaced: + type: boolean + type: object type: object graphite: properties: @@ -3011,6 +3023,9 @@ spec: type: string query: type: string + timeout: + format: int64 + type: integer required: - query type: object @@ -3062,6 +3077,15 @@ spec: type: boolean query: type: string + rangeQuery: + properties: + end: + type: string + start: + type: string + step: + type: string + type: object timeout: format: int64 type: integer diff --git a/config/crd/bases/cluster-analysis-template-crd.yaml b/config/crd/bases/cluster-analysis-template-crd.yaml index 444d46fca..f966d4f8b 100644 --- a/config/crd/bases/cluster-analysis-template-crd.yaml +++ b/config/crd/bases/cluster-analysis-template-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: clusteranalysistemplates.argoproj.io spec: group: argoproj.io @@ -94,6 +94,11 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + consecutiveSuccessLimit: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true count: anyOf: - type: integer @@ -203,6 +208,13 @@ spec: type: object query: type: string + secretRef: + properties: + name: + type: string + namespaced: + type: boolean + type: object type: object graphite: properties: @@ -3011,6 +3023,9 @@ spec: type: string query: type: string + timeout: + format: int64 + type: integer required: - query type: object @@ -3062,6 +3077,15 @@ spec: type: boolean query: type: string + rangeQuery: + properties: + end: + type: string + start: + type: string + step: + type: string + type: object timeout: format: int64 type: integer diff --git a/config/crd/bases/experiment-crd.yaml b/config/crd/bases/experiment-crd.yaml index e4287b51e..0dae59cb3 100644 --- a/config/crd/bases/experiment-crd.yaml +++ b/config/crd/bases/experiment-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: experiments.argoproj.io spec: group: argoproj.io diff --git a/config/crd/bases/rollout-crd.yaml b/config/crd/bases/rollout-crd.yaml index cd244b8b9..aa06634f9 100644 --- a/config/crd/bases/rollout-crd.yaml +++ b/config/crd/bases/rollout-crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: rollouts.argoproj.io spec: group: argoproj.io @@ -662,6 +662,16 @@ spec: - type: string x-kubernetes-int-or-string: true type: object + plugin: + properties: + config: + type: object + x-kubernetes-preserve-unknown-fields: true + name: + type: string + required: + - name + type: object setCanaryScale: properties: matchTrafficWeight: @@ -934,6 +944,10 @@ spec: type: object annotationPrefix: type: string + canaryIngressAnnotations: + additionalProperties: + type: string + type: object stableIngress: type: string stableIngresses: @@ -3717,6 +3731,45 @@ spec: type: object stablePingPong: type: string + stepPluginStatuses: + items: + properties: + backoff: + type: string + disabled: + type: boolean + executions: + format: int32 + type: integer + finishedAt: + format: date-time + type: string + index: + format: int32 + type: integer + message: + type: string + name: + type: string + operation: + type: string + phase: + type: string + startedAt: + format: date-time + type: string + status: + type: object + x-kubernetes-preserve-unknown-fields: true + updatedAt: + format: date-time + type: string + required: + - index + - name + - operation + type: object + type: array weights: properties: additional: diff --git a/go.mod b/go.mod index 6dd031b8b..5354f99d5 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.5 require ( - github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250108152600-b4635b5b8dd1 + github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250212035559-38faac6d4127 github.com/argoproj-labs/argocd-operator v0.13.0-rc1.0.20250108102230-dd067457c82b github.com/coreos/prometheus-operator v0.40.0 github.com/go-logr/logr v1.4.2 @@ -72,7 +72,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect - golang.org/x/net v0.25.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/oauth2 v0.17.0 // indirect golang.org/x/sys v0.28.0 // indirect golang.org/x/term v0.27.0 // indirect diff --git a/go.sum b/go.sum index 40462acbb..a7e03b53f 100644 --- a/go.sum +++ b/go.sum @@ -620,8 +620,8 @@ github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4x github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= -github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250108152600-b4635b5b8dd1 h1:zc2NU/E3R5IRM4+aGh2g2MM+efT+NYyUZPQi+rL1Ve0= -github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250108152600-b4635b5b8dd1/go.mod h1:seR9B+tx6AbGaya+JA61HDBFciKx7FM7t/1IMhOwXlM= +github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250212035559-38faac6d4127 h1:chOb5NQfFybnoDHwdkjhC2Y9YgsSjNxgXIKLEGBgWho= +github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250212035559-38faac6d4127/go.mod h1:hX18xfJcnomx/k6urvDp/7+Zwa/y5aF1Mlhz5a2en4k= github.com/argoproj-labs/argocd-operator v0.13.0-rc1.0.20250108102230-dd067457c82b h1:AxAfqU70G612yuTD/R/PLtj2kgjwmDIues2LE7KFJi0= github.com/argoproj-labs/argocd-operator v0.13.0-rc1.0.20250108102230-dd067457c82b/go.mod h1:MUtczQYV6MPOjGb2gCju80r1qB4jsRgy8bllChve35U= github.com/argoproj/argo-cd/v2 v2.12.3 h1:Bi4QahHTnKl3esU5MplQP1wraGhaTpvgAV4GsMqc3Zc= @@ -1775,8 +1775,8 @@ golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= diff --git a/scripts/run-rollouts-e2e-tests.sh b/scripts/run-rollouts-e2e-tests.sh index 724b2ef48..1b9f60739 100755 --- a/scripts/run-rollouts-e2e-tests.sh +++ b/scripts/run-rollouts-e2e-tests.sh @@ -161,7 +161,7 @@ cd "$ROLLOUTS_TMP_DIR/argo-rollouts-manager" # This commit value will be automatically updated by calling 'hack/upgrade-rollouts-manager/go-run.sh': # - It should always point to the same argo-rollouts-manager commit that is referenced in go.mod of gitops-operator (which will usually be the most recent argo-rollouts-manager commit) -TARGET_ROLLOUT_MANAGER_COMMIT=b4635b5b8dd1f9683a25df512fec7169cab4403c +TARGET_ROLLOUT_MANAGER_COMMIT=38faac6d4127850207da231d153526a3777fa3bf # This commit value will be automatically updated by calling 'hack/upgrade-rollouts-manager/go-run.sh': # - It should always point to the same argo-rollouts-manager commit that is referenced in the version of argo-rollouts-manager that is in go.mod @@ -216,3 +216,4 @@ make test-e2e + diff --git a/test/openshift/e2e/sequential/1-040_validate_quoted_RBAC_group_names/01-login_argocd_api_server.yaml b/test/openshift/e2e/sequential/1-040_validate_quoted_RBAC_group_names/01-login_argocd_api_server.yaml index ca687cb6c..3477e93c2 100644 --- a/test/openshift/e2e/sequential/1-040_validate_quoted_RBAC_group_names/01-login_argocd_api_server.yaml +++ b/test/openshift/e2e/sequential/1-040_validate_quoted_RBAC_group_names/01-login_argocd_api_server.yaml @@ -5,7 +5,10 @@ commands: api_server=$(oc get routes -n openshift-gitops --field-selector metadata.name=openshift-gitops-server -o jsonpath="{.items[*]['spec.host']}") password=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d) - output=$(argocd login $api_server --username admin --password $password --insecure) + # '--skip-test-tls' parameter was added in Feb 2025, to work around OpenShift Routes not supporting HTTP2 by default, along with Argo CD upstream bugs https://github.com/argoproj/argo-cd/issues/21764, and https://github.com/argoproj/argo-cd/issues/20121 + # '--skip-test-tls' should be removed once we have resolved these issues. + + output=$(argocd login $api_server --username admin --password $password --insecure --skip-test-tls) if ! [[ "${output}" =~ "'admin:login' logged in successfully" ]]; then exit 1