From 24d8230dc516e6d1296825e6861be07559d738d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20Gond=C5=BEa?= Date: Tue, 19 Aug 2025 08:37:35 +0200 Subject: [PATCH 1/2] feat: Update apiVersion argoproj.io/v1alpha1 to v1beta1 for ArgoCD in docs and tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Oliver Gondža --- docs/developer-guide/development.md | 2 +- docs/reference/argocd.md | 2 +- docs/usage/aggregated_roles.md | 4 +- docs/usage/apps-in-any-namespace.md | 6 +- docs/usage/basics.md | 2 +- docs/usage/config_management_2.0.md | 2 +- docs/usage/custom_roles.md | 4 +- docs/usage/customization.md | 2 +- docs/usage/dex.md | 8 +- docs/usage/extra-config.md | 2 +- docs/usage/ha/redis.md | 2 +- docs/usage/ingress.md | 2 +- docs/usage/insights.md | 4 +- docs/usage/keycloak/kubernetes.md | 183 ++++++++++++++++++ docs/usage/keycloak/openshift.md | 179 +++++++++++++++++ docs/usage/monitoring.md | 6 +- docs/usage/notifications.md | 4 +- docs/usage/resource_management.md | 2 +- .../01-assert.yaml | 4 +- .../01-basic.yaml | 4 +- .../02-assert.yaml | 4 +- .../02-enable-ha.yaml | 4 +- .../03-assert.yaml | 2 +- .../03-update-ha-resources.yaml | 3 +- .../04-assert.yaml | 4 +- .../04-disable-ha.yaml | 4 +- tests/k8s/1-0017_validate_cmp/01-assert.yaml | 2 +- tests/k8s/1-0017_validate_cmp/01-cmp2.yaml | 2 +- tests/k8s/1-0017_validate_cmp/02-assert.yaml | 2 +- .../02-cmp2-default-image.yaml | 2 +- tests/k8s/1-001_validate_basic/01-assert.yaml | 2 +- tests/k8s/1-001_validate_basic/01-basic.yaml | 2 +- tests/k8s/1-001_validate_basic/02-assert.yaml | 2 +- .../02-ingress-available.yaml | 2 +- tests/k8s/1-001_validate_basic/03-assert.yaml | 2 +- .../03-disable-admin.yaml | 2 +- tests/k8s/1-001_validate_basic/04-assert.yaml | 2 +- tests/k8s/1-001_validate_basic/04-export.yaml | 2 +- .../05-applicationset.yaml | 4 +- .../01-install.yaml | 2 +- .../01-assert.yaml | 4 +- .../01-install.yaml | 4 +- .../01-assert.yaml | 2 +- .../01-install.yaml | 4 +- .../01-assert.yaml | 4 +- .../02-change-loglevel.yaml | 4 +- .../01-assert.yaml | 4 +- .../01-install.yaml | 2 +- .../1-012_validate_custom_env/01-assert.yaml | 4 +- .../1-012_validate_custom_env/01-install.yaml | 4 +- .../02-change-env-vars.yaml | 4 +- .../1-015_validate_sso_status/01-assert.yaml | 4 +- .../1-015_validate_sso_status/01-install.yaml | 4 +- .../1-015_validate_sso_status/02-assert.yaml | 2 +- .../02-provider-dex-no-dex-spec.yaml | 4 +- .../1-015_validate_sso_status/03-assert.yaml | 4 +- .../03-dex-spec-sso.yaml | 4 +- .../1-015_validate_sso_status/04-assert.yaml | 4 +- .../1-015_validate_sso_status/05-assert.yaml | 7 + .../05-provider-keycloak-dex-spec.yaml | 9 + .../01-argocd-keycloak.yaml | 14 ++ .../1-016_validate_keycloak/01-assert.yaml | 30 +++ .../01-argocd-with-extraconfig.yaml | 4 +- .../01-assert.yaml | 4 +- ...-with-firstclass-and-extraconfig copy.yaml | 4 +- .../04-create-dex-without-extraconfig.yaml | 2 +- ...de-rbac-inheritance-using-extraconfig.yaml | 4 +- .../02-custom-node-placement.yaml | 4 +- .../03-node-placement-with-toleration.yaml | 5 +- .../01-assert.yaml | 4 +- .../03-assert.yaml | 2 +- .../04-assert.yaml | 2 +- .../1-032_validate_server_hpa/01-assert.yaml | 4 +- .../1-032_validate_server_hpa/01-install.yaml | 4 +- .../02-enable-server-autoscale.yaml | 6 +- .../04-update-hpa.yaml | 6 +- 76 files changed, 538 insertions(+), 118 deletions(-) create mode 100644 docs/usage/keycloak/kubernetes.md create mode 100644 docs/usage/keycloak/openshift.md create mode 100644 tests/k8s/1-015_validate_sso_status/05-assert.yaml create mode 100644 tests/k8s/1-015_validate_sso_status/05-provider-keycloak-dex-spec.yaml create mode 100644 tests/k8s/1-016_validate_keycloak/01-argocd-keycloak.yaml create mode 100644 tests/k8s/1-016_validate_keycloak/01-assert.yaml diff --git a/docs/developer-guide/development.md b/docs/developer-guide/development.md index 1870d455d..15be747b2 100644 --- a/docs/developer-guide/development.md +++ b/docs/developer-guide/development.md @@ -129,7 +129,7 @@ For more infomation see [build operator images to test on a cluster.](https://ar Once the operator is installed, you would need to configure an ArgoCD instance that the operator would manage. The sample instance configuration is below: ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/reference/argocd.md b/docs/reference/argocd.md index f488f4af5..83b965aae 100644 --- a/docs/reference/argocd.md +++ b/docs/reference/argocd.md @@ -60,7 +60,7 @@ This property maps directly to the `application.instanceLabelKey` field in the ` The following example sets the default value in the `argocd-cm` ConfigMap using the `ApplicationInstanceLabelKey` property on the `ArgoCD` resource. ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/aggregated_roles.md b/docs/usage/aggregated_roles.md index fe2c208ff..8d01df00c 100644 --- a/docs/usage/aggregated_roles.md +++ b/docs/usage/aggregated_roles.md @@ -5,7 +5,7 @@ Using an aggregated cluster role enables users to easily add their own permissio A user can enable creation of aggregated ClusterRole by setting `argocd.spec.aggregatedClusterRoles` field to `true`. ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -121,4 +121,4 @@ rules: Let's summarize this example. The `argocd-argocd-argocd-application-controller` cluster role inherits permissions from two cluster role which are `argocd-argocd-argocd-application-controller-view` for view permissions and `argocd-argocd-argocd-application-controller-admin` for admin permission. These three are operator managed. Now `argocd-argocd-argocd-application-controller-admin` inherits permissions from `my-cluster-role` which is a user defined cluster role. -For more details on aggregated cluster role, check the [documentation](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles). \ No newline at end of file +For more details on aggregated cluster role, check the [documentation](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles). diff --git a/docs/usage/apps-in-any-namespace.md b/docs/usage/apps-in-any-namespace.md index fe4cf12d3..c5c1f1a76 100644 --- a/docs/usage/apps-in-any-namespace.md +++ b/docs/usage/apps-in-any-namespace.md @@ -15,7 +15,7 @@ In order to enable this feature, specify the namespaces where Argo CD should man ## Enable application creation in a specific namespace ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -30,7 +30,7 @@ In this example: ## Enable application creation in namespaces matching a glob pattern ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd-wildcard-pattern @@ -45,7 +45,7 @@ In this example: ## Enable application creation in all namespaces ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd-all-namespaces diff --git a/docs/usage/basics.md b/docs/usage/basics.md index f23fdc7d1..33f32d404 100644 --- a/docs/usage/basics.md +++ b/docs/usage/basics.md @@ -5,7 +5,7 @@ See the [ArgoCD Reference][argocd_reference] for the full list of properties and The following example shows the most minimal valid manifest to create a new Argo CD cluster with the default configuration. ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/config_management_2.0.md b/docs/usage/config_management_2.0.md index 5948f1bb2..44d0cd8c1 100644 --- a/docs/usage/config_management_2.0.md +++ b/docs/usage/config_management_2.0.md @@ -28,7 +28,7 @@ data: allowConcurrency: true lockRepo: true --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/custom_roles.md b/docs/usage/custom_roles.md index 102de533e..dde2c90bf 100644 --- a/docs/usage/custom_roles.md +++ b/docs/usage/custom_roles.md @@ -50,7 +50,7 @@ as needed and have them applied across all cluster scoped instances. For example These customized ClusterRoles need to be created and referred in ClusterRoleBinding by admin. A user can disable creation of default ClusterRoles by setting `ArgoCD.Spec.DefaultClusterScopedRoleDisabled` field to `true`. ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -60,4 +60,4 @@ spec: defaultClusterScopedRoleDisabled: true ``` -When `defaultClusterScopedRoleDisabled` is `true`, the default ClusterRole/ClusterRoleBindings for the Argo CD instance will not be created, and the administrative user is free to create and customize these independent of the operator. The field can later be set to `false`, to recreate these resources, if needed. \ No newline at end of file +When `defaultClusterScopedRoleDisabled` is `true`, the default ClusterRole/ClusterRoleBindings for the Argo CD instance will not be created, and the administrative user is free to create and customize these independent of the operator. The field can later be set to `false`, to recreate these resources, if needed. diff --git a/docs/usage/customization.md b/docs/usage/customization.md index 9ca66d2d5..810097c07 100644 --- a/docs/usage/customization.md +++ b/docs/usage/customization.md @@ -7,7 +7,7 @@ See [upstream documentation](https://argo-cd.readthedocs.io/en/stable/operator-m Both init containers and volumes can be added to the repo server using the `ArgoCD` custom resource ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd-sample diff --git a/docs/usage/dex.md b/docs/usage/dex.md index c1ac09c6a..074dd7ef5 100644 --- a/docs/usage/dex.md +++ b/docs/usage/dex.md @@ -25,7 +25,7 @@ Dex configuration has moved to `.spec.sso` in release v0.4.0. Dex can be enabled An example of correctly configured dex would look as follows: ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -43,7 +43,7 @@ The below section describes how to configure Argo CD SSO using OpenShift connect The `openShiftOAuth` property can be used to trigger the operator to auto configure the built-in OpenShift OAuth server. The `groups` property is used to mandate users to be part of one or all the groups in the groups list. The RBAC `Policy` property is used to give the admin role in the Argo CD cluster to users in the OpenShift `cluster-admins` group. ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -88,7 +88,7 @@ You will very likely want to restrict logins to one or more GitHub organization. `connectors.config.orgs` list, add one or more GitHub organizations. Any member of the org will then be able to login to Argo CD to perform management tasks. ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -122,7 +122,7 @@ The below section describes how to configure Argo CD's Dex to accept authenticat In the `sso.dex.env` key, add the environment variable as shown in the [example manifests for authenticating against Argo CD's Dex](https://argoproj.github.io/argo-workflows/argo-server-sso-argocd/#example-manifests-for-authenticating-against-argo-cds-dex-kustomize). ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/extra-config.md b/docs/usage/extra-config.md index 9997b3df4..26387faac 100644 --- a/docs/usage/extra-config.md +++ b/docs/usage/extra-config.md @@ -18,7 +18,7 @@ When `ExtraConfig` is set, the entries specified are reconciled to the live Argo ## Example ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/ha/redis.md b/docs/usage/ha/redis.md index 2e56e8cfa..f8261107c 100644 --- a/docs/usage/ha/redis.md +++ b/docs/usage/ha/redis.md @@ -8,7 +8,7 @@ To enable HA for an Argo CD cluster, include the `ha` section in the `ArgoCD` Cu When `ha` is enabled, changes to `.spec.redis.resources` doesn't have any effect. Redis resource limits can be set using `.spec.ha.resources`. ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/ingress.md b/docs/usage/ingress.md index 4781516d7..8bf047c60 100644 --- a/docs/usage/ingress.md +++ b/docs/usage/ingress.md @@ -79,7 +79,7 @@ Create an ArgoCD resource that enables ingress. Note that in this case we run th terminate TLS at the Ingress controller. See `examples/argocd-ingress.yaml` for this example. ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/insights.md b/docs/usage/insights.md index 74463972e..425e20a46 100644 --- a/docs/usage/insights.md +++ b/docs/usage/insights.md @@ -65,7 +65,7 @@ prometheus-operator-7f6dfb7686-wb9h2 1/1 Running 0 9m4s The following example shows how to enable Prometheus to provide operator insights. This example also enables Ingress for accessing the cluster resources. ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -118,7 +118,7 @@ example-argocd-prometheus example-argocd-prometheus 192.168.39.68 For OpenShift clusters, Routes will be created when route is enabled as shown in the below example. ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/keycloak/kubernetes.md b/docs/usage/keycloak/kubernetes.md new file mode 100644 index 000000000..c8a3db94f --- /dev/null +++ b/docs/usage/keycloak/kubernetes.md @@ -0,0 +1,183 @@ +# Usage + +This document describes the usage of Keycloak as a Single sign-on provider for ArgoCD. + +The following example shows the most minimal valid manifest to create a new Argo CD cluster with keycloak as a Single sign-on provider. + +This guide assumes a Kubernetes cluster based on [minikube](https://minikube.sigs.k8s.io/). + +## Ingress Controller + +Ensure that the `ingress` addon is enabled for the minikube cluster. + +The addon is disabled by default, enable it if necessary. + +```bash +minikube addons enable ingress +``` + +Verify that the ingress Pod is running. In this example, the ingress controller is running in the `ingress-nginx` namespace. + +```bash +kubectl get pods -A +``` + +```txt +NAMESPACE NAME READY STATUS RESTARTS AGE +ingress-nginx nginx-ingress-controller-6fc5bcc8c9-vg26z 1/1 Running 0 9h +``` + +The following example shows the most minimal valid manifest to create a new Argo CD cluster with Keycloak as a Single sign-on provider. + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd + labels: + example: basic +spec: + sso: + provider: keycloak + server: + ingress: + enabled: true + insecure: true +``` + +If your keycloak is setup with a certificate which is not signed by one of the well known certificate authorities you can provide a custom certificate which will be used in verifying the Keycloak's TLS certificate when communicating with it. +Add the rootCA to your Argo CD custom resource `.spec.sso.keycloak.rootCA` field. The operator reconciles to this change and updates the `oidc.config` in `argocd-cm` configmap with the PEM encoded root certificate. + +!!! note + Argo CD server pod should be restarted after updating the `.spec.sso.keycloak.rootCA`. + +Please refer to the below example: + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd + labels: + example: basic +spec: + sso: + provider: keycloak + keycloak: + rootCA: | + ---- BEGIN CERTIFICATE ---- + This is a dummy certificate + Please place this section with appropriate rootCA + ---- END CERTIFICATE ---- + server: + ingress: + enabled: true +``` + +!!! note + `.spec.sso.Image`, `.spec.sso.Version`, `.spec.sso.Resources` and `.spec.sso.verifyTLS` fields are no longer supported in Argo CD operator v0.8.0 onwards. Please use equivalent fields under `.spec.sso.keycloak` to configure your keycloak instance. + +!!! note + If you test the operator locally using `make run`, please add `.spec.sso.keycloak.verifyTLS: false` to your Argo CD CR. Specifying conflicting information in both specs will result in errors. + +## Create + +Create a namespace for Argo CD. + +```bash +kubectl create ns argocd +``` + +Create a new Argo CD Instance in the `argocd` namespace using the provided example. + +```bash +kubectl create -n argocd -f examples/argocd-keycloak-k8s.yaml +``` + +!!! note + `verifyTLS` option should be set to `true` if you want to enable strict TLS validation in production. If you are running operator on your machine using `operator-sdk run local`, `verifyTLS` should be set to `false`. + +## Keycloak Instance + +The above configuration creates a Keycloak instance and its relevant resources along with the Argo CD resources. The default credentials for Keycloak is `admin/admin`. + +Get the Keycloak Ingress URL for Login. + +```bash +kubectl -n argocd get ingress keycloak +``` + +```txt +NAME HOST/PORT +keycloak keycloak-ingress +``` + +If you running Kubernetes on minikube. Add keycloak hostname to the `/etc/hosts` file on the local machine, which is needed to access the services running locally on minikube. + +Run the below commands using **root** user. + +```bash +echo "`minikube ip` keycloak-ingress" | sudo tee -a /etc/hosts +``` + +Make sure an entry for `keycloak-ingress` is added in the `/etc/hosts`. + +## Argo CD Login + +Get the Argo CD Ingress URL for Login. + +```bash +kubectl -n argocd get ingress example-argocd-server +``` + +```txt +NAME HOST/PORT +example-argocd-server example-argocd +``` + +As explained above, add `example-argocd` hostname to the `/etc/hosts` file on the local machine, which is needed to access the services running locally on minikube. + +```bash +echo "`minikube ip` example-argocd" | sudo tee -a /etc/hosts +``` + +Login to Argo CD using the ingress URL. You can see an option to Log in via keycloak apart from the usual ArgoCD login. + +![LOGIN VIA KEYCLOAK](../../assets/keycloak/login_via_keycloak.png) + +Click on **LOGIN VIA KEYCLOAK**. + +You can [create keycloak users](https://www.keycloak.org/docs/latest/getting_started/#creating-a-user) by logging in to keycloak admin console using the Keycloak admin credentials and Keycloak Ingress URL. + +!!! note + Keycloak instance takes 2-3 minutes to be up and running. You will see the option **LOGIN VIA KEYCLOAK** only after the keycloak instance is up. + +## RBAC + +By default any user logged into ArgoCD will have read-only access. User/Group level access can be managed by updating the argocd-rbac-cm configmap. + +The below example show how to grant user `foo` with email ID `foo@example.com` admin access to ArgoCD. More information regarding ArgoCD RBAC can be found [here](https://argoproj.github.io/argo-cd/operator-manual/rbac/) + +```yaml +policy.csv: | + g, foo@example.com, role:admin +``` + +### Uninstall + +You can delete the Keycloak resources and its relevant configuration by removing the SSO field from ArgoCD Custom Resource Spec. + +Example ArgoCD after removing the SSO field should look something like this. + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd + labels: + example: basic +spec: + server: + ingress: + enabled: true +``` diff --git a/docs/usage/keycloak/openshift.md b/docs/usage/keycloak/openshift.md new file mode 100644 index 000000000..89bb4dacb --- /dev/null +++ b/docs/usage/keycloak/openshift.md @@ -0,0 +1,179 @@ +# Usage + +This document describes the usage of Keycloak as a Single sign-on provider for ArgoCD in OpenShift Container Platform. Keycloak acts as an Identity broker between ArgoCD and OpenShift, Which means one can also login into Argo CD using their OpenShift credentials. + +The following example shows the most minimal valid manifest to create a new Argo CD cluster with keycloak as a Single sign-on provider. + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd + labels: + example: basic +spec: + sso: + provider: keycloak + server: + route: + enabled: true +``` + +If your keycloak is setup with a certificate which is not signed by one of the well known certificate authorities you can provide a custom certificate which will be used in verifying the Keycloak's TLS certificate when communicating with it. +Add the rootCA to your Argo CD custom resource `.spec.sso.keycloak.rootCA` field. The operator reconciles to this change and updates the `oidc.config` in `argocd-cm` configmap with the PEM encoded root certificate. + +!!! note + Argo CD server pod should be restarted after updating the `.spec.sso.keycloak.rootCA`. + +Please refer to the below example: + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd + labels: + example: basic +spec: + sso: + provider: keycloak + keycloak: + rootCA: | + ---- BEGIN CERTIFICATE ---- + This is a dummy certificate + Please place this section with appropriate rootCA + ---- END CERTIFICATE ---- + server: + route: + enabled: true +``` + +!!! note + `.spec.sso.Image`, `.spec.sso.Version`, `.spec.sso.Resources` and `.spec.sso.verifyTLS` fields are no longer supported in Argo CD operator v0.8.0 onwards. Please use equivalent fields under `.spec.sso.keycloak` to configure your keycloak instance. + +## Create + +Create a new Argo CD Instance in the `argocd` namespace using the provided example. + +```bash +kubectl create -n argocd -f examples/argocd-keycloak.yaml +``` + +## Keycloak-Instance + +The above configuration creates a keycloak instance and its relevant resources along with the Argo CD resources. Users can login into the keycloak console using the below commands. + +Get the Keycloak Route URL for Login. + +```bash +kubectl -n argocd get route keycloak +``` + +```bash +NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD +keycloak keycloak-default.apps.ci-ln-******.origin-ci-int-aws.dev.**.com keycloak reencrypt None +``` + +Get the Keycloak Credentials which are stored as environment variables in the keycloak pod. + +Get the Keycloak Pod name. + +```bash +kubectl -n argocd get pods +``` + +```bash +NAME READY STATUS RESTARTS AGE +keycloak-1-2sjcl 1/1 Running 0 45m +``` + +Get the Keycloak Username. + +```bash +kubectl -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME +``` + +```bash +SSO_ADMIN_USERNAME=Cqid54Ih +``` + +Get the Keycloak Password. + +```bash +kubectl -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD +``` + +```bash +SSO_ADMIN_PASSWORD=GVXxHifH +``` + +## Login + +You can see an option to Log in via keycloak apart from the usual ArgoCD login. + +![LOGIN VIA KEYCLOAK](../../assets/keycloak/login_via_keycloak.png) + +Click on **LOGIN VIA KEYCLOAK**. You will see two different options for login as shown below. The one on the left will allow you to login into argo cd via keycloak username and password. The one on the right will allow you to login into argo cd using your openshift username and password. + +![Login with Openshift](../../assets/keycloak/login_with_openshift.png) + +You can create keycloak users by logging in to keycloak admin console using the Keycloak admin credentials. + +!!! note + Keycloak instance takes 2-3 minutes to be up and running. You will see the option **LOGIN VIA KEYCLOAK** only after the keycloak instance is up. + +## RBAC + +By default any user logged into ArgoCD will have read-only access. User level access can be managed by updating the `argocd-rbac-cm` configmap. + +### Group Level RBAC + +The below example shows how to grant admin access to a group with name `cluster-admins`. More information regarding ArgoCD RBAC can be found [here](https://argoproj.github.io/argo-cd/operator-manual/rbac/) + +```yaml +policy.csv: | + g, cluster-admins, role:admin +``` + +### User Level RBAC + +If you wish to configure RBAC for users instead of groups, consider the below example. +Example shows how to grant admin access to User foobar with email ID `foobar@example.com`. More information regarding ArgoCD RBAC can be found [here](https://argoproj.github.io/argo-cd/operator-manual/rbac/) + +```yaml +policy.csv: | + g, foobar@example.com, role:admin +``` + +## Change Keycloak Admin Password + +You can change the Keycloak Admin Password that is created by the operator as shown below. + +Login to the Keycloak Admin Console using the Admin user as described in the above section. Click on the user drop-down at the top right and click on the `Manage Account`. + +![Manage Account](../../assets/keycloak/Keycloak_Manageaccount.png) + +Click on the `Password` tab to update the Keycloak Admin Password. + +![Change Admin Password](../../assets/keycloak/Keycloak_ChangePassword.png) + +## Uninstall + +You can delete the Keycloak resources and its relevant configuration by removing the SSO field from ArgoCD Custom Resource Spec. + +Example ArgoCD after removing the SSO field should look something like this. + +```yaml +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd + labels: + example: basic +spec: + server: + route: + enabled: true +``` + +Note: Keycloak application created by this feature is currently not persistent. Incase of restarts, Any additional configuration created by the users in ArgoCD Keycloak realm will be deleted. diff --git a/docs/usage/monitoring.md b/docs/usage/monitoring.md index f0342883c..869236a0e 100644 --- a/docs/usage/monitoring.md +++ b/docs/usage/monitoring.md @@ -13,7 +13,7 @@ Instance workload monitoring can be enabled by setting `.spec.monitoring.enabled For example: ``` -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -63,7 +63,7 @@ Instance workload monitoring can be disabled by setting `.spec.monitoring.enable For example: ``` -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -76,4 +76,4 @@ spec: ... ``` -Disabling workload monitoring will delete the created PrometheusRule. \ No newline at end of file +Disabling workload monitoring will delete the created PrometheusRule. diff --git a/docs/usage/notifications.md b/docs/usage/notifications.md index dbed822ba..1960a2632 100644 --- a/docs/usage/notifications.md +++ b/docs/usage/notifications.md @@ -7,7 +7,7 @@ Argo CD Notifications controller can be enabled/disabled using a new toggle within the Argo CD CR with default specs as follows: ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -37,7 +37,7 @@ Instructions for appropriate configuration of these resources can be found withi Argo CD Notifications controller can be disabled by setting `.spec.notifications.enabled` to `false` : ``` yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/docs/usage/resource_management.md b/docs/usage/resource_management.md index 300b599d3..3bfbdcc0c 100644 --- a/docs/usage/resource_management.md +++ b/docs/usage/resource_management.md @@ -7,7 +7,7 @@ The Argo CD Custom Resource allows you to create the workloads with desired reso For example, the below Argo CD instance deploys the Argo CD workloads such as Application Controller, ApplicationSet Controller, Dex, Redis, Repo Server and Server with resource requests and limits. Similarly you can also create the other workloads with resource requirements. ```yaml -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example diff --git a/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml index 77e2f772f..f4219929a 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml @@ -7,7 +7,7 @@ kind: Service metadata: name: example-argocd-redis --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -20,4 +20,4 @@ kind: Deployment metadata: name: example-argocd-redis status: - readyReplicas: 1 \ No newline at end of file + readyReplicas: 1 diff --git a/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml b/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml index 2ccddd829..ba974b264 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd labels: example: basic -spec: {} \ No newline at end of file +spec: {} diff --git a/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml index 4cc9aa442..5bee326be 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml @@ -27,7 +27,7 @@ kind: Service metadata: name: example-argocd-redis-ha-announce-2 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -56,4 +56,4 @@ kind: Deployment metadata: name: example-argocd-redis-ha-haproxy status: - readyReplicas: 3 \ No newline at end of file + readyReplicas: 3 diff --git a/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml b/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml index a28e21c82..6e8f7a714 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -6,4 +6,4 @@ metadata: example: basic spec: ha: - enabled: true \ No newline at end of file + enabled: true diff --git a/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml index d7040dcf5..4e7369cd9 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml b/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml index 1b88f4801..3d89d82a1 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -14,4 +14,3 @@ spec: requests: cpu: 200m memory: 128Mi - \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml index 2d48ff872..ca1006e61 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -15,4 +15,4 @@ kind: Deployment metadata: name: example-argocd-redis status: - readyReplicas: 1 \ No newline at end of file + readyReplicas: 1 diff --git a/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml b/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml index f2d981897..338d89565 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -6,4 +6,4 @@ metadata: example: basic spec: ha: - enabled: false \ No newline at end of file + enabled: false diff --git a/tests/k8s/1-0017_validate_cmp/01-assert.yaml b/tests/k8s/1-0017_validate_cmp/01-assert.yaml index 20c7b832d..bec5d70b3 100644 --- a/tests/k8s/1-0017_validate_cmp/01-assert.yaml +++ b/tests/k8s/1-0017_validate_cmp/01-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml b/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml index 44c095b52..5c07023b0 100644 --- a/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml +++ b/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml @@ -24,7 +24,7 @@ data: allowConcurrency: true lockRepo: true --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-0017_validate_cmp/02-assert.yaml b/tests/k8s/1-0017_validate_cmp/02-assert.yaml index 480123763..63d1ff36c 100644 --- a/tests/k8s/1-0017_validate_cmp/02-assert.yaml +++ b/tests/k8s/1-0017_validate_cmp/02-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml b/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml index a1a70bc7b..1632929f4 100644 --- a/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml +++ b/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml @@ -24,7 +24,7 @@ data: allowConcurrency: true lockRepo: true --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/01-assert.yaml b/tests/k8s/1-001_validate_basic/01-assert.yaml index bc7082a83..aa0c030cc 100644 --- a/tests/k8s/1-001_validate_basic/01-assert.yaml +++ b/tests/k8s/1-001_validate_basic/01-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/01-basic.yaml b/tests/k8s/1-001_validate_basic/01-basic.yaml index ed085dbca..ba974b264 100644 --- a/tests/k8s/1-001_validate_basic/01-basic.yaml +++ b/tests/k8s/1-001_validate_basic/01-basic.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/02-assert.yaml b/tests/k8s/1-001_validate_basic/02-assert.yaml index 930582b74..3e315d257 100644 --- a/tests/k8s/1-001_validate_basic/02-assert.yaml +++ b/tests/k8s/1-001_validate_basic/02-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/02-ingress-available.yaml b/tests/k8s/1-001_validate_basic/02-ingress-available.yaml index 475508916..4c7690d9f 100644 --- a/tests/k8s/1-001_validate_basic/02-ingress-available.yaml +++ b/tests/k8s/1-001_validate_basic/02-ingress-available.yaml @@ -9,7 +9,7 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/03-assert.yaml b/tests/k8s/1-001_validate_basic/03-assert.yaml index a6eea77c8..900c9d851 100644 --- a/tests/k8s/1-001_validate_basic/03-assert.yaml +++ b/tests/k8s/1-001_validate_basic/03-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/03-disable-admin.yaml b/tests/k8s/1-001_validate_basic/03-disable-admin.yaml index f0d922307..92fe4019b 100644 --- a/tests/k8s/1-001_validate_basic/03-disable-admin.yaml +++ b/tests/k8s/1-001_validate_basic/03-disable-admin.yaml @@ -9,7 +9,7 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/04-assert.yaml b/tests/k8s/1-001_validate_basic/04-assert.yaml index 13209f2b1..68f40c8fc 100644 --- a/tests/k8s/1-001_validate_basic/04-assert.yaml +++ b/tests/k8s/1-001_validate_basic/04-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/04-export.yaml b/tests/k8s/1-001_validate_basic/04-export.yaml index 8554d05f4..3ad67b95a 100644 --- a/tests/k8s/1-001_validate_basic/04-export.yaml +++ b/tests/k8s/1-001_validate_basic/04-export.yaml @@ -9,7 +9,7 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/05-applicationset.yaml b/tests/k8s/1-001_validate_basic/05-applicationset.yaml index e185fc10e..3b4376c17 100644 --- a/tests/k8s/1-001_validate_basic/05-applicationset.yaml +++ b/tests/k8s/1-001_validate_basic/05-applicationset.yaml @@ -9,12 +9,12 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: - applicationSet: + applicationSet: webhookServer: ingress: enabled: true diff --git a/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml b/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml index 7da3b15ac..8466f7c5d 100644 --- a/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml +++ b/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml @@ -8,7 +8,7 @@ kind: Namespace metadata: name: test-1-12-custom2 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml b/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml index 9c887aac5..a1ac0bd20 100644 --- a/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml +++ b/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd @@ -128,7 +128,7 @@ spec: template: spec: containers: - - volumeMounts: + - volumeMounts: - mountPath: /app/config/controller/tls name: argocd-repo-server-tls - mountPath: /app/config/controller/tls/redis diff --git a/tests/k8s/1-007_validate_volume_mounts/01-install.yaml b/tests/k8s/1-007_validate_volume_mounts/01-install.yaml index 0d8201294..9f2700495 100644 --- a/tests/k8s/1-007_validate_volume_mounts/01-install.yaml +++ b/tests/k8s/1-007_validate_volume_mounts/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: - name: argocd \ No newline at end of file + name: argocd diff --git a/tests/k8s/1-008_validate_rolebindings/01-assert.yaml b/tests/k8s/1-008_validate_rolebindings/01-assert.yaml index d209b768f..c8c631213 100644 --- a/tests/k8s/1-008_validate_rolebindings/01-assert.yaml +++ b/tests/k8s/1-008_validate_rolebindings/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-008_validate_rolebindings/01-install.yaml b/tests/k8s/1-008_validate_rolebindings/01-install.yaml index 0d8201294..9f2700495 100644 --- a/tests/k8s/1-008_validate_rolebindings/01-install.yaml +++ b/tests/k8s/1-008_validate_rolebindings/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: - name: argocd \ No newline at end of file + name: argocd diff --git a/tests/k8s/1-009_validate_log_level_format/01-assert.yaml b/tests/k8s/1-009_validate_log_level_format/01-assert.yaml index dc419f168..d4cf16751 100644 --- a/tests/k8s/1-009_validate_log_level_format/01-assert.yaml +++ b/tests/k8s/1-009_validate_log_level_format/01-assert.yaml @@ -1,6 +1,6 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd status: - phase: Available \ No newline at end of file + phase: Available diff --git a/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml b/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml index 085166918..ca725c4fe 100644 --- a/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml +++ b/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml @@ -1,5 +1,5 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd @@ -12,4 +12,4 @@ spec: logFormat: json controller: logLevel: debug - logFormat: json \ No newline at end of file + logFormat: json diff --git a/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml b/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml index dc419f168..d4cf16751 100644 --- a/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml +++ b/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml @@ -1,6 +1,6 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd status: - phase: Available \ No newline at end of file + phase: Available diff --git a/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml b/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml index fc2d28f83..9f2700495 100644 --- a/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml +++ b/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-012_validate_custom_env/01-assert.yaml b/tests/k8s/1-012_validate_custom_env/01-assert.yaml index dc419f168..d4cf16751 100644 --- a/tests/k8s/1-012_validate_custom_env/01-assert.yaml +++ b/tests/k8s/1-012_validate_custom_env/01-assert.yaml @@ -1,6 +1,6 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd status: - phase: Available \ No newline at end of file + phase: Available diff --git a/tests/k8s/1-012_validate_custom_env/01-install.yaml b/tests/k8s/1-012_validate_custom_env/01-install.yaml index 0d8201294..9f2700495 100644 --- a/tests/k8s/1-012_validate_custom_env/01-install.yaml +++ b/tests/k8s/1-012_validate_custom_env/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: - name: argocd \ No newline at end of file + name: argocd diff --git a/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml b/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml index 9644a6bbd..7b67bd113 100644 --- a/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml +++ b/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd @@ -14,4 +14,4 @@ spec: controller: env: - name: FOO - value: bar \ No newline at end of file + value: bar diff --git a/tests/k8s/1-015_validate_sso_status/01-assert.yaml b/tests/k8s/1-015_validate_sso_status/01-assert.yaml index b65514352..a1fd537f9 100644 --- a/tests/k8s/1-015_validate_sso_status/01-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/01-assert.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd status: phase: Available - sso: Unknown \ No newline at end of file + sso: Unknown diff --git a/tests/k8s/1-015_validate_sso_status/01-install.yaml b/tests/k8s/1-015_validate_sso_status/01-install.yaml index 3a5fad305..c32d9bef1 100644 --- a/tests/k8s/1-015_validate_sso_status/01-install.yaml +++ b/tests/k8s/1-015_validate_sso_status/01-install.yaml @@ -1,5 +1,5 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd -spec: {} \ No newline at end of file +spec: {} diff --git a/tests/k8s/1-015_validate_sso_status/02-assert.yaml b/tests/k8s/1-015_validate_sso_status/02-assert.yaml index 602105e9e..18a7dfe85 100644 --- a/tests/k8s/1-015_validate_sso_status/02-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/02-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml b/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml index f1e5156d5..11439f5ec 100644 --- a/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml +++ b/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd spec: sso: - provider: dex \ No newline at end of file + provider: dex diff --git a/tests/k8s/1-015_validate_sso_status/03-assert.yaml b/tests/k8s/1-015_validate_sso_status/03-assert.yaml index d26b59dcd..d656171f8 100644 --- a/tests/k8s/1-015_validate_sso_status/03-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/03-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd @@ -31,4 +31,4 @@ metadata: apiVersion: v1 kind: Service metadata: - name: argocd-dex-server \ No newline at end of file + name: argocd-dex-server diff --git a/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml b/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml index 9fa46070d..d7190d5d0 100644 --- a/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml +++ b/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd @@ -6,4 +6,4 @@ spec: sso: provider: dex dex: - config: test-config \ No newline at end of file + config: test-config diff --git a/tests/k8s/1-015_validate_sso_status/04-assert.yaml b/tests/k8s/1-015_validate_sso_status/04-assert.yaml index b65514352..a1fd537f9 100644 --- a/tests/k8s/1-015_validate_sso_status/04-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/04-assert.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd status: phase: Available - sso: Unknown \ No newline at end of file + sso: Unknown diff --git a/tests/k8s/1-015_validate_sso_status/05-assert.yaml b/tests/k8s/1-015_validate_sso_status/05-assert.yaml new file mode 100644 index 000000000..71c1b6764 --- /dev/null +++ b/tests/k8s/1-015_validate_sso_status/05-assert.yaml @@ -0,0 +1,7 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: argocd +status: + phase: Pending + sso: Failed \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/05-provider-keycloak-dex-spec.yaml b/tests/k8s/1-015_validate_sso_status/05-provider-keycloak-dex-spec.yaml new file mode 100644 index 000000000..1b7234cec --- /dev/null +++ b/tests/k8s/1-015_validate_sso_status/05-provider-keycloak-dex-spec.yaml @@ -0,0 +1,9 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: argocd +spec: + sso: + provider: keycloak + dex: + config: test \ No newline at end of file diff --git a/tests/k8s/1-016_validate_keycloak/01-argocd-keycloak.yaml b/tests/k8s/1-016_validate_keycloak/01-argocd-keycloak.yaml new file mode 100644 index 000000000..b6d541376 --- /dev/null +++ b/tests/k8s/1-016_validate_keycloak/01-argocd-keycloak.yaml @@ -0,0 +1,14 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd-keycloak + labels: + example: keycloak +spec: + sso: + provider: keycloak + keycloak: + verifyTLS: false # required when running operator locally + server: + ingress: + enabled: true \ No newline at end of file diff --git a/tests/k8s/1-016_validate_keycloak/01-assert.yaml b/tests/k8s/1-016_validate_keycloak/01-assert.yaml new file mode 100644 index 000000000..973cf5e0e --- /dev/null +++ b/tests/k8s/1-016_validate_keycloak/01-assert.yaml @@ -0,0 +1,30 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestAssert +timeout: 180 +--- +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd-keycloak +spec: + sso: + provider: keycloak +status: + phase: Available +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: keycloak +status: + replicas: 1 +--- +apiVersion: v1 +kind: Service +metadata: + name: keycloak +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak diff --git a/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml b/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml index 8c10115f4..cc440859f 100644 --- a/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml +++ b/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: extraConfig: - "admin.enabled": "true" # enable admin user through extraConfig \ No newline at end of file + "admin.enabled": "true" # enable admin user through extraConfig diff --git a/tests/k8s/1-018_validate_extra_config/01-assert.yaml b/tests/k8s/1-018_validate_extra_config/01-assert.yaml index 29dadc55c..640fc4773 100644 --- a/tests/k8s/1-018_validate_extra_config/01-assert.yaml +++ b/tests/k8s/1-018_validate_extra_config/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -15,4 +15,4 @@ metadata: name: argocd-cm data: admin.enabled: "true" - server.rbac.disableApplicationFineGrainedRBACInheritance: "false" \ No newline at end of file + server.rbac.disableApplicationFineGrainedRBACInheritance: "false" diff --git a/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml b/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml index bbac50ba5..85de08b03 100644 --- a/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml +++ b/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml @@ -1,8 +1,8 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: disableAdmin: true extraConfig: - "admin.enabled": "true" # override admin user through extraConfig \ No newline at end of file + "admin.enabled": "true" # override admin user through extraConfig diff --git a/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml b/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml index 61d0220b2..70c0a7694 100644 --- a/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml +++ b/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml b/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml index 203d6931f..e5cca75ab 100644 --- a/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml +++ b/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml @@ -1,8 +1,8 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: disableAdmin: true extraConfig: - "server.rbac.disableApplicationFineGrainedRBACInheritance": "true" \ No newline at end of file + "server.rbac.disableApplicationFineGrainedRBACInheritance": "true" diff --git a/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml b/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml index 67a5ad9f7..704ed1957 100644 --- a/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml +++ b/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -7,4 +7,4 @@ metadata: spec: nodePlacement: nodeSelector: - key1: value1 \ No newline at end of file + key1: value1 diff --git a/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml b/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml index d3e895cd9..ee4e5ae54 100644 --- a/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml +++ b/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -8,9 +8,8 @@ spec: nodePlacement: nodeSelector: key1: value1 - tolerations: + tolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule - \ No newline at end of file diff --git a/tests/k8s/1-026_validate_resource_action/01-assert.yaml b/tests/k8s/1-026_validate_resource_action/01-assert.yaml index fd54b8669..bfbd9fad6 100644 --- a/tests/k8s/1-026_validate_resource_action/01-assert.yaml +++ b/tests/k8s/1-026_validate_resource_action/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -31,4 +31,4 @@ data: obj.spec.template.metadata.annotations = {} end obj.spec.template.metadata.annotations["kubectl.kubernetes.io/restartedAt"] = os.date("!%Y-%m-%dT%XZ") - return obj \ No newline at end of file + return obj diff --git a/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml b/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml index ab154c719..3b48288dc 100644 --- a/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml +++ b/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml @@ -1,5 +1,5 @@ --- -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml b/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml index df1df20ca..bcd810ccf 100644 --- a/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml +++ b/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-032_validate_server_hpa/01-assert.yaml b/tests/k8s/1-032_validate_server_hpa/01-assert.yaml index c0f46d127..cb8e14459 100644 --- a/tests/k8s/1-032_validate_server_hpa/01-assert.yaml +++ b/tests/k8s/1-032_validate_server_hpa/01-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd @@ -16,4 +16,4 @@ status: - type: Available status: 'True' - type: Progressing - status: 'True' \ No newline at end of file + status: 'True' diff --git a/tests/k8s/1-032_validate_server_hpa/01-install.yaml b/tests/k8s/1-032_validate_server_hpa/01-install.yaml index 8823faff2..821a1965b 100644 --- a/tests/k8s/1-032_validate_server_hpa/01-install.yaml +++ b/tests/k8s/1-032_validate_server_hpa/01-install.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: server: - replicas: 2 \ No newline at end of file + replicas: 2 diff --git a/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml b/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml index a94c883c7..8c3d8d61a 100644 --- a/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml +++ b/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml @@ -1,11 +1,11 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: server: replicas: 2 - autoscale: + autoscale: enabled: true hpa: minReplicas: 4 @@ -14,4 +14,4 @@ spec: scaleTargetRef: kind: deployment apiVersion: apps/v1 - name: example-argocd-server \ No newline at end of file + name: example-argocd-server diff --git a/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml b/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml index bbccdccc6..7e9fbf725 100644 --- a/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml +++ b/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml @@ -1,11 +1,11 @@ -apiVersion: argoproj.io/v1alpha1 +apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd spec: server: replicas: 2 - autoscale: + autoscale: enabled: true hpa: minReplicas: 8 @@ -14,4 +14,4 @@ spec: scaleTargetRef: kind: deployment apiVersion: apps/v1 - name: example-argocd-server \ No newline at end of file + name: example-argocd-server From 61775e061cbf66e6186d015cd4939e46ddcc76ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20Gond=C5=BEa?= Date: Tue, 19 Aug 2025 09:24:01 +0200 Subject: [PATCH 2/2] fix(kuttl): Revert kuttle updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Oliver Gondža --- .../01-assert.yaml | 4 +- .../01-basic.yaml | 4 +- .../02-assert.yaml | 4 +- .../02-enable-ha.yaml | 4 +- .../03-assert.yaml | 2 +- .../03-update-ha-resources.yaml | 3 +- .../04-assert.yaml | 4 +- .../04-disable-ha.yaml | 4 +- tests/k8s/1-0017_validate_cmp/01-assert.yaml | 2 +- tests/k8s/1-0017_validate_cmp/01-cmp2.yaml | 2 +- tests/k8s/1-0017_validate_cmp/02-assert.yaml | 2 +- .../02-cmp2-default-image.yaml | 2 +- tests/k8s/1-001_validate_basic/01-assert.yaml | 2 +- tests/k8s/1-001_validate_basic/01-basic.yaml | 2 +- tests/k8s/1-001_validate_basic/02-assert.yaml | 2 +- .../02-ingress-available.yaml | 2 +- tests/k8s/1-001_validate_basic/03-assert.yaml | 2 +- .../03-disable-admin.yaml | 2 +- tests/k8s/1-001_validate_basic/04-assert.yaml | 2 +- tests/k8s/1-001_validate_basic/04-export.yaml | 2 +- .../05-applicationset.yaml | 4 +- .../01-install.yaml | 2 +- .../01-assert.yaml | 4 +- .../01-install.yaml | 4 +- .../01-assert.yaml | 2 +- .../01-install.yaml | 4 +- .../01-assert.yaml | 4 +- .../02-change-loglevel.yaml | 4 +- .../01-assert.yaml | 4 +- .../01-install.yaml | 2 +- .../1-012_validate_custom_env/01-assert.yaml | 4 +- .../1-012_validate_custom_env/01-install.yaml | 4 +- .../02-change-env-vars.yaml | 4 +- .../1-015_validate_sso_status/01-assert.yaml | 4 +- .../1-015_validate_sso_status/01-install.yaml | 4 +- .../1-015_validate_sso_status/02-assert.yaml | 2 +- .../02-provider-dex-no-dex-spec.yaml | 4 +- .../1-015_validate_sso_status/03-assert.yaml | 4 +- .../03-dex-spec-sso.yaml | 4 +- .../1-015_validate_sso_status/04-assert.yaml | 4 +- .../1-016_validate_keycloak/99-delete.yaml | 4 + .../01-argocd-with-extraconfig.yaml | 4 +- .../01-assert.yaml | 4 +- ...-with-firstclass-and-extraconfig copy.yaml | 4 +- .../04-create-dex-without-extraconfig.yaml | 2 +- ...de-rbac-inheritance-using-extraconfig.yaml | 4 +- .../02-custom-node-placement.yaml | 4 +- .../03-node-placement-with-toleration.yaml | 5 +- .../01-assert.yaml | 4 +- .../03-assert.yaml | 2 +- .../04-assert.yaml | 2 +- .../1-032_validate_server_hpa/01-assert.yaml | 4 +- .../1-032_validate_server_hpa/01-install.yaml | 4 +- .../02-enable-server-autoscale.yaml | 6 +- .../04-update-hpa.yaml | 6 +- .../03-assert.yaml | 22 +++++ .../03-enable-keycloak-sso.yaml | 20 +++++ .../04-check-pod.yaml | 5 ++ .../01-assert.yaml | 2 +- .../03-assert.yaml | 2 +- .../1-001_validate_rhsso/01-argocd-rhsso.yaml | 15 ++++ tests/ocp/1-001_validate_rhsso/01-assert.yaml | 88 +++++++++++++++++++ tests/ocp/1-001_validate_rhsso/02-sleep.yaml | 5 ++ .../1-001_validate_rhsso/03-verify-oidc.yaml | 28 ++++++ .../04-verifyRealmCreation.yaml | 45 ++++++++++ tests/ocp/1-001_validate_rhsso/99-delete.yaml | 4 + 66 files changed, 329 insertions(+), 91 deletions(-) create mode 100644 tests/k8s/1-016_validate_keycloak/99-delete.yaml create mode 100644 tests/k8s/1-042_restricted_pss_compliant/03-assert.yaml create mode 100644 tests/k8s/1-042_restricted_pss_compliant/03-enable-keycloak-sso.yaml create mode 100644 tests/k8s/1-042_restricted_pss_compliant/04-check-pod.yaml create mode 100644 tests/ocp/1-001_validate_rhsso/01-argocd-rhsso.yaml create mode 100644 tests/ocp/1-001_validate_rhsso/01-assert.yaml create mode 100644 tests/ocp/1-001_validate_rhsso/02-sleep.yaml create mode 100644 tests/ocp/1-001_validate_rhsso/03-verify-oidc.yaml create mode 100644 tests/ocp/1-001_validate_rhsso/04-verifyRealmCreation.yaml create mode 100644 tests/ocp/1-001_validate_rhsso/99-delete.yaml diff --git a/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml index f4219929a..77e2f772f 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/01-assert.yaml @@ -7,7 +7,7 @@ kind: Service metadata: name: example-argocd-redis --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -20,4 +20,4 @@ kind: Deployment metadata: name: example-argocd-redis status: - readyReplicas: 1 + readyReplicas: 1 \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml b/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml index ba974b264..2ccddd829 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/01-basic.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd labels: example: basic -spec: {} +spec: {} \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml index 5bee326be..4cc9aa442 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/02-assert.yaml @@ -27,7 +27,7 @@ kind: Service metadata: name: example-argocd-redis-ha-announce-2 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -56,4 +56,4 @@ kind: Deployment metadata: name: example-argocd-redis-ha-haproxy status: - readyReplicas: 3 + readyReplicas: 3 \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml b/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml index 6e8f7a714..a28e21c82 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/02-enable-ha.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -6,4 +6,4 @@ metadata: example: basic spec: ha: - enabled: true + enabled: true \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml index 4e7369cd9..d7040dcf5 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/03-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml b/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml index 3d89d82a1..1b88f4801 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/03-update-ha-resources.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -14,3 +14,4 @@ spec: requests: cpu: 200m memory: 128Mi + \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml b/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml index ca1006e61..2d48ff872 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/04-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -15,4 +15,4 @@ kind: Deployment metadata: name: example-argocd-redis status: - readyReplicas: 1 + readyReplicas: 1 \ No newline at end of file diff --git a/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml b/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml index 338d89565..f2d981897 100644 --- a/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml +++ b/tests/ha/1-020_validate_redis_ha_nonha/04-disable-ha.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -6,4 +6,4 @@ metadata: example: basic spec: ha: - enabled: false + enabled: false \ No newline at end of file diff --git a/tests/k8s/1-0017_validate_cmp/01-assert.yaml b/tests/k8s/1-0017_validate_cmp/01-assert.yaml index bec5d70b3..20c7b832d 100644 --- a/tests/k8s/1-0017_validate_cmp/01-assert.yaml +++ b/tests/k8s/1-0017_validate_cmp/01-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml b/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml index 5c07023b0..44c095b52 100644 --- a/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml +++ b/tests/k8s/1-0017_validate_cmp/01-cmp2.yaml @@ -24,7 +24,7 @@ data: allowConcurrency: true lockRepo: true --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-0017_validate_cmp/02-assert.yaml b/tests/k8s/1-0017_validate_cmp/02-assert.yaml index 63d1ff36c..480123763 100644 --- a/tests/k8s/1-0017_validate_cmp/02-assert.yaml +++ b/tests/k8s/1-0017_validate_cmp/02-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml b/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml index 1632929f4..a1a70bc7b 100644 --- a/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml +++ b/tests/k8s/1-0017_validate_cmp/02-cmp2-default-image.yaml @@ -24,7 +24,7 @@ data: allowConcurrency: true lockRepo: true --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/01-assert.yaml b/tests/k8s/1-001_validate_basic/01-assert.yaml index aa0c030cc..bc7082a83 100644 --- a/tests/k8s/1-001_validate_basic/01-assert.yaml +++ b/tests/k8s/1-001_validate_basic/01-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/01-basic.yaml b/tests/k8s/1-001_validate_basic/01-basic.yaml index ba974b264..ed085dbca 100644 --- a/tests/k8s/1-001_validate_basic/01-basic.yaml +++ b/tests/k8s/1-001_validate_basic/01-basic.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/02-assert.yaml b/tests/k8s/1-001_validate_basic/02-assert.yaml index 3e315d257..930582b74 100644 --- a/tests/k8s/1-001_validate_basic/02-assert.yaml +++ b/tests/k8s/1-001_validate_basic/02-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/02-ingress-available.yaml b/tests/k8s/1-001_validate_basic/02-ingress-available.yaml index 4c7690d9f..475508916 100644 --- a/tests/k8s/1-001_validate_basic/02-ingress-available.yaml +++ b/tests/k8s/1-001_validate_basic/02-ingress-available.yaml @@ -9,7 +9,7 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/03-assert.yaml b/tests/k8s/1-001_validate_basic/03-assert.yaml index 900c9d851..a6eea77c8 100644 --- a/tests/k8s/1-001_validate_basic/03-assert.yaml +++ b/tests/k8s/1-001_validate_basic/03-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/03-disable-admin.yaml b/tests/k8s/1-001_validate_basic/03-disable-admin.yaml index 92fe4019b..f0d922307 100644 --- a/tests/k8s/1-001_validate_basic/03-disable-admin.yaml +++ b/tests/k8s/1-001_validate_basic/03-disable-admin.yaml @@ -9,7 +9,7 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/04-assert.yaml b/tests/k8s/1-001_validate_basic/04-assert.yaml index 68f40c8fc..13209f2b1 100644 --- a/tests/k8s/1-001_validate_basic/04-assert.yaml +++ b/tests/k8s/1-001_validate_basic/04-assert.yaml @@ -4,7 +4,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 720 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/04-export.yaml b/tests/k8s/1-001_validate_basic/04-export.yaml index 3ad67b95a..8554d05f4 100644 --- a/tests/k8s/1-001_validate_basic/04-export.yaml +++ b/tests/k8s/1-001_validate_basic/04-export.yaml @@ -9,7 +9,7 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-001_validate_basic/05-applicationset.yaml b/tests/k8s/1-001_validate_basic/05-applicationset.yaml index 3b4376c17..e185fc10e 100644 --- a/tests/k8s/1-001_validate_basic/05-applicationset.yaml +++ b/tests/k8s/1-001_validate_basic/05-applicationset.yaml @@ -9,12 +9,12 @@ commands: # Sleep to allow resources to be completely deleted - command: sleep 30 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: - applicationSet: + applicationSet: webhookServer: ingress: enabled: true diff --git a/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml b/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml index 8466f7c5d..7da3b15ac 100644 --- a/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml +++ b/tests/k8s/1-006_validate-managed-by-chain/01-install.yaml @@ -8,7 +8,7 @@ kind: Namespace metadata: name: test-1-12-custom2 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml b/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml index a1ac0bd20..9c887aac5 100644 --- a/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml +++ b/tests/k8s/1-007_validate_volume_mounts/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd @@ -128,7 +128,7 @@ spec: template: spec: containers: - - volumeMounts: + - volumeMounts: - mountPath: /app/config/controller/tls name: argocd-repo-server-tls - mountPath: /app/config/controller/tls/redis diff --git a/tests/k8s/1-007_validate_volume_mounts/01-install.yaml b/tests/k8s/1-007_validate_volume_mounts/01-install.yaml index 9f2700495..0d8201294 100644 --- a/tests/k8s/1-007_validate_volume_mounts/01-install.yaml +++ b/tests/k8s/1-007_validate_volume_mounts/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: - name: argocd + name: argocd \ No newline at end of file diff --git a/tests/k8s/1-008_validate_rolebindings/01-assert.yaml b/tests/k8s/1-008_validate_rolebindings/01-assert.yaml index c8c631213..d209b768f 100644 --- a/tests/k8s/1-008_validate_rolebindings/01-assert.yaml +++ b/tests/k8s/1-008_validate_rolebindings/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-008_validate_rolebindings/01-install.yaml b/tests/k8s/1-008_validate_rolebindings/01-install.yaml index 9f2700495..0d8201294 100644 --- a/tests/k8s/1-008_validate_rolebindings/01-install.yaml +++ b/tests/k8s/1-008_validate_rolebindings/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: - name: argocd + name: argocd \ No newline at end of file diff --git a/tests/k8s/1-009_validate_log_level_format/01-assert.yaml b/tests/k8s/1-009_validate_log_level_format/01-assert.yaml index d4cf16751..dc419f168 100644 --- a/tests/k8s/1-009_validate_log_level_format/01-assert.yaml +++ b/tests/k8s/1-009_validate_log_level_format/01-assert.yaml @@ -1,6 +1,6 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd status: - phase: Available + phase: Available \ No newline at end of file diff --git a/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml b/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml index ca725c4fe..085166918 100644 --- a/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml +++ b/tests/k8s/1-009_validate_log_level_format/02-change-loglevel.yaml @@ -1,5 +1,5 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd @@ -12,4 +12,4 @@ spec: logFormat: json controller: logLevel: debug - logFormat: json + logFormat: json \ No newline at end of file diff --git a/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml b/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml index d4cf16751..dc419f168 100644 --- a/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml +++ b/tests/k8s/1-011_validate_repo_exec_timeout/01-assert.yaml @@ -1,6 +1,6 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd status: - phase: Available + phase: Available \ No newline at end of file diff --git a/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml b/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml index 9f2700495..fc2d28f83 100644 --- a/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml +++ b/tests/k8s/1-011_validate_repo_exec_timeout/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-012_validate_custom_env/01-assert.yaml b/tests/k8s/1-012_validate_custom_env/01-assert.yaml index d4cf16751..dc419f168 100644 --- a/tests/k8s/1-012_validate_custom_env/01-assert.yaml +++ b/tests/k8s/1-012_validate_custom_env/01-assert.yaml @@ -1,6 +1,6 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd status: - phase: Available + phase: Available \ No newline at end of file diff --git a/tests/k8s/1-012_validate_custom_env/01-install.yaml b/tests/k8s/1-012_validate_custom_env/01-install.yaml index 9f2700495..0d8201294 100644 --- a/tests/k8s/1-012_validate_custom_env/01-install.yaml +++ b/tests/k8s/1-012_validate_custom_env/01-install.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: - name: argocd + name: argocd \ No newline at end of file diff --git a/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml b/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml index 7b67bd113..9644a6bbd 100644 --- a/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml +++ b/tests/k8s/1-012_validate_custom_env/02-change-env-vars.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd @@ -14,4 +14,4 @@ spec: controller: env: - name: FOO - value: bar + value: bar \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/01-assert.yaml b/tests/k8s/1-015_validate_sso_status/01-assert.yaml index a1fd537f9..b65514352 100644 --- a/tests/k8s/1-015_validate_sso_status/01-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/01-assert.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd status: phase: Available - sso: Unknown + sso: Unknown \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/01-install.yaml b/tests/k8s/1-015_validate_sso_status/01-install.yaml index c32d9bef1..3a5fad305 100644 --- a/tests/k8s/1-015_validate_sso_status/01-install.yaml +++ b/tests/k8s/1-015_validate_sso_status/01-install.yaml @@ -1,5 +1,5 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd -spec: {} +spec: {} \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/02-assert.yaml b/tests/k8s/1-015_validate_sso_status/02-assert.yaml index 18a7dfe85..602105e9e 100644 --- a/tests/k8s/1-015_validate_sso_status/02-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/02-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml b/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml index 11439f5ec..f1e5156d5 100644 --- a/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml +++ b/tests/k8s/1-015_validate_sso_status/02-provider-dex-no-dex-spec.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd spec: sso: - provider: dex + provider: dex \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/03-assert.yaml b/tests/k8s/1-015_validate_sso_status/03-assert.yaml index d656171f8..d26b59dcd 100644 --- a/tests/k8s/1-015_validate_sso_status/03-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/03-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd @@ -31,4 +31,4 @@ metadata: apiVersion: v1 kind: Service metadata: - name: argocd-dex-server + name: argocd-dex-server \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml b/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml index d7190d5d0..9fa46070d 100644 --- a/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml +++ b/tests/k8s/1-015_validate_sso_status/03-dex-spec-sso.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd @@ -6,4 +6,4 @@ spec: sso: provider: dex dex: - config: test-config + config: test-config \ No newline at end of file diff --git a/tests/k8s/1-015_validate_sso_status/04-assert.yaml b/tests/k8s/1-015_validate_sso_status/04-assert.yaml index a1fd537f9..b65514352 100644 --- a/tests/k8s/1-015_validate_sso_status/04-assert.yaml +++ b/tests/k8s/1-015_validate_sso_status/04-assert.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd status: phase: Available - sso: Unknown + sso: Unknown \ No newline at end of file diff --git a/tests/k8s/1-016_validate_keycloak/99-delete.yaml b/tests/k8s/1-016_validate_keycloak/99-delete.yaml new file mode 100644 index 000000000..d35dee1b5 --- /dev/null +++ b/tests/k8s/1-016_validate_keycloak/99-delete.yaml @@ -0,0 +1,4 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - command: kubectl delete argocd example-argocd-keycloak -n $NAMESPACE \ No newline at end of file diff --git a/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml b/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml index cc440859f..8c10115f4 100644 --- a/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml +++ b/tests/k8s/1-018_validate_extra_config/01-argocd-with-extraconfig.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: extraConfig: - "admin.enabled": "true" # enable admin user through extraConfig + "admin.enabled": "true" # enable admin user through extraConfig \ No newline at end of file diff --git a/tests/k8s/1-018_validate_extra_config/01-assert.yaml b/tests/k8s/1-018_validate_extra_config/01-assert.yaml index 640fc4773..29dadc55c 100644 --- a/tests/k8s/1-018_validate_extra_config/01-assert.yaml +++ b/tests/k8s/1-018_validate_extra_config/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -15,4 +15,4 @@ metadata: name: argocd-cm data: admin.enabled: "true" - server.rbac.disableApplicationFineGrainedRBACInheritance: "false" + server.rbac.disableApplicationFineGrainedRBACInheritance: "false" \ No newline at end of file diff --git a/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml b/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml index 85de08b03..bbac50ba5 100644 --- a/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml +++ b/tests/k8s/1-018_validate_extra_config/02-argocd-with-firstclass-and-extraconfig copy.yaml @@ -1,8 +1,8 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: disableAdmin: true extraConfig: - "admin.enabled": "true" # override admin user through extraConfig + "admin.enabled": "true" # override admin user through extraConfig \ No newline at end of file diff --git a/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml b/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml index 70c0a7694..61d0220b2 100644 --- a/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml +++ b/tests/k8s/1-018_validate_extra_config/04-create-dex-without-extraconfig.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd diff --git a/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml b/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml index e5cca75ab..203d6931f 100644 --- a/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml +++ b/tests/k8s/1-018_validate_extra_config/06-override-rbac-inheritance-using-extraconfig.yaml @@ -1,8 +1,8 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: disableAdmin: true extraConfig: - "server.rbac.disableApplicationFineGrainedRBACInheritance": "true" + "server.rbac.disableApplicationFineGrainedRBACInheritance": "true" \ No newline at end of file diff --git a/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml b/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml index 704ed1957..67a5ad9f7 100644 --- a/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml +++ b/tests/k8s/1-023_validate_node_placement/02-custom-node-placement.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -7,4 +7,4 @@ metadata: spec: nodePlacement: nodeSelector: - key1: value1 + key1: value1 \ No newline at end of file diff --git a/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml b/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml index ee4e5ae54..d3e895cd9 100644 --- a/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml +++ b/tests/k8s/1-023_validate_node_placement/03-node-placement-with-toleration.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -8,8 +8,9 @@ spec: nodePlacement: nodeSelector: key1: value1 - tolerations: + tolerations: - key: key1 operator: Equal value: value1 effect: NoSchedule + \ No newline at end of file diff --git a/tests/k8s/1-026_validate_resource_action/01-assert.yaml b/tests/k8s/1-026_validate_resource_action/01-assert.yaml index bfbd9fad6..fd54b8669 100644 --- a/tests/k8s/1-026_validate_resource_action/01-assert.yaml +++ b/tests/k8s/1-026_validate_resource_action/01-assert.yaml @@ -2,7 +2,7 @@ apiVersion: kuttl.dev/v1beta1 kind: TestAssert timeout: 120 --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -31,4 +31,4 @@ data: obj.spec.template.metadata.annotations = {} end obj.spec.template.metadata.annotations["kubectl.kubernetes.io/restartedAt"] = os.date("!%Y-%m-%dT%XZ") - return obj + return obj \ No newline at end of file diff --git a/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml b/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml index 3b48288dc..ab154c719 100644 --- a/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml +++ b/tests/k8s/1-032_validate_dynamic_scaling/03-assert.yaml @@ -1,5 +1,5 @@ --- -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml b/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml index bcd810ccf..df1df20ca 100644 --- a/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml +++ b/tests/k8s/1-032_validate_dynamic_scaling/04-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: argocd diff --git a/tests/k8s/1-032_validate_server_hpa/01-assert.yaml b/tests/k8s/1-032_validate_server_hpa/01-assert.yaml index cb8e14459..c0f46d127 100644 --- a/tests/k8s/1-032_validate_server_hpa/01-assert.yaml +++ b/tests/k8s/1-032_validate_server_hpa/01-assert.yaml @@ -1,4 +1,4 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd @@ -16,4 +16,4 @@ status: - type: Available status: 'True' - type: Progressing - status: 'True' + status: 'True' \ No newline at end of file diff --git a/tests/k8s/1-032_validate_server_hpa/01-install.yaml b/tests/k8s/1-032_validate_server_hpa/01-install.yaml index 821a1965b..8823faff2 100644 --- a/tests/k8s/1-032_validate_server_hpa/01-install.yaml +++ b/tests/k8s/1-032_validate_server_hpa/01-install.yaml @@ -1,7 +1,7 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: server: - replicas: 2 + replicas: 2 \ No newline at end of file diff --git a/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml b/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml index 8c3d8d61a..a94c883c7 100644 --- a/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml +++ b/tests/k8s/1-032_validate_server_hpa/02-enable-server-autoscale.yaml @@ -1,11 +1,11 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: server: replicas: 2 - autoscale: + autoscale: enabled: true hpa: minReplicas: 4 @@ -14,4 +14,4 @@ spec: scaleTargetRef: kind: deployment apiVersion: apps/v1 - name: example-argocd-server + name: example-argocd-server \ No newline at end of file diff --git a/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml b/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml index 7e9fbf725..bbccdccc6 100644 --- a/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml +++ b/tests/k8s/1-032_validate_server_hpa/04-update-hpa.yaml @@ -1,11 +1,11 @@ -apiVersion: argoproj.io/v1beta1 +apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd spec: server: replicas: 2 - autoscale: + autoscale: enabled: true hpa: minReplicas: 8 @@ -14,4 +14,4 @@ spec: scaleTargetRef: kind: deployment apiVersion: apps/v1 - name: example-argocd-server + name: example-argocd-server \ No newline at end of file diff --git a/tests/k8s/1-042_restricted_pss_compliant/03-assert.yaml b/tests/k8s/1-042_restricted_pss_compliant/03-assert.yaml new file mode 100644 index 000000000..3b7bd475c --- /dev/null +++ b/tests/k8s/1-042_restricted_pss_compliant/03-assert.yaml @@ -0,0 +1,22 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestAssert +timeout: 400 +--- +apiVersion: argoproj.io/v1beta1 +kind: ArgoCD +metadata: + name: argocd + namespace: test-1-042-restricted-pss-compliant +status: + applicationController: Running + phase: Available + redis: Running + repo: Running + server: Running + sso: Running +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: keycloak + namespace: test-1-042-restricted-pss-compliant diff --git a/tests/k8s/1-042_restricted_pss_compliant/03-enable-keycloak-sso.yaml b/tests/k8s/1-042_restricted_pss_compliant/03-enable-keycloak-sso.yaml new file mode 100644 index 000000000..30a6add08 --- /dev/null +++ b/tests/k8s/1-042_restricted_pss_compliant/03-enable-keycloak-sso.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1beta1 +kind: ArgoCD +metadata: + name: argocd + namespace: test-1-042-restricted-pss-compliant +spec: + server: + ingress: + enabled: true + sso: + provider: keycloak + keycloak: + verifyTLS: false +--- +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: +- script: | + kubectl patch -n test-1-042-restricted-pss-compliant argocd/argocd --type='json' -p='[{"op": "remove", "path": "/spec/sso/dex"}]' + diff --git a/tests/k8s/1-042_restricted_pss_compliant/04-check-pod.yaml b/tests/k8s/1-042_restricted_pss_compliant/04-check-pod.yaml new file mode 100644 index 000000000..9d5623551 --- /dev/null +++ b/tests/k8s/1-042_restricted_pss_compliant/04-check-pod.yaml @@ -0,0 +1,5 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - script: sleep 50 + - script: kubectl get pods -n test-1-042-restricted-pss-compliant | grep 'keycloak' diff --git a/tests/k8s/1-048_validate_status_conditions/01-assert.yaml b/tests/k8s/1-048_validate_status_conditions/01-assert.yaml index 98d369676..6db8921ab 100644 --- a/tests/k8s/1-048_validate_status_conditions/01-assert.yaml +++ b/tests/k8s/1-048_validate_status_conditions/01-assert.yaml @@ -8,7 +8,7 @@ metadata: name: argocd status: conditions: - - message: 'illegal SSO configuration: Unsupported SSO provider type. Supported provider is dex' + - message: 'illegal SSO configuration: Unsupported SSO provider type. Supported providers are dex and keycloak' reason: ErrorOccurred status: "False" type: Reconciled diff --git a/tests/k8s/1-048_validate_status_conditions/03-assert.yaml b/tests/k8s/1-048_validate_status_conditions/03-assert.yaml index fc30f11d7..88bf09e8b 100644 --- a/tests/k8s/1-048_validate_status_conditions/03-assert.yaml +++ b/tests/k8s/1-048_validate_status_conditions/03-assert.yaml @@ -8,7 +8,7 @@ metadata: name: argocd status: conditions: - - message: 'keycloak is set as SSO provider, but keycloak support has been deprecated and is no longer available' + - message: 'illegal SSO configuration: cannot supply dex configuration when requested SSO provider is keycloak' reason: ErrorOccurred status: "False" type: Reconciled diff --git a/tests/ocp/1-001_validate_rhsso/01-argocd-rhsso.yaml b/tests/ocp/1-001_validate_rhsso/01-argocd-rhsso.yaml new file mode 100644 index 000000000..550a67cb8 --- /dev/null +++ b/tests/ocp/1-001_validate_rhsso/01-argocd-rhsso.yaml @@ -0,0 +1,15 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd-keycloak + labels: + example: keycloak +spec: + sso: + provider: keycloak + keycloak: + verifyTLS: false # required when running operator locally + rootCA: "---BEGIN---END---" + server: + route: + enabled: true \ No newline at end of file diff --git a/tests/ocp/1-001_validate_rhsso/01-assert.yaml b/tests/ocp/1-001_validate_rhsso/01-assert.yaml new file mode 100644 index 000000000..5c2173e61 --- /dev/null +++ b/tests/ocp/1-001_validate_rhsso/01-assert.yaml @@ -0,0 +1,88 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestAssert +timeout: 180 +--- +apiVersion: argoproj.io/v1alpha1 +kind: ArgoCD +metadata: + name: example-argocd-keycloak +status: + phase: Available +--- +apiVersion: apps.openshift.io/v1 +kind: DeploymentConfig +metadata: + name: keycloak +spec: + selector: + deploymentConfig: keycloak + strategy: + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + type: Recreate + template: + metadata: + labels: + application: keycloak + deploymentConfig: keycloak + name: keycloak + spec: + containers: + - image: registry.redhat.io/rh-sso-7/sso76-openshift-rhel8@sha256:ec9f60018694dcc5d431ba47d5536b761b71cb3f66684978fe6bb74c157679ac + resources: + limits: + cpu: "1" + memory: 1Gi + requests: + cpu: 500m + memory: 512Mi + volumeMounts: + - mountPath: /etc/x509/https + name: sso-x509-https-volume + readOnly: true + - mountPath: /var/run/configmaps/service-ca + name: service-ca + readOnly: true + restartPolicy: Always + volumes: + - name: sso-x509-https-volume + secret: + defaultMode: 420 + secretName: sso-x509-https-secret + - configMap: + defaultMode: 420 + name: keycloak-service-ca + name: service-ca + triggers: + - type: ConfigChange +status: + readyReplicas: 1 +--- +apiVersion: v1 +kind: Service +metadata: + name: keycloak +--- +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: keycloak +spec: + tls: + termination: reencrypt + to: + kind: Service + name: keycloak + weight: 100 + wildcardPolicy: None +--- +apiVersion: v1 +kind: Secret +metadata: + name: keycloak-secret +type: Opaque \ No newline at end of file diff --git a/tests/ocp/1-001_validate_rhsso/02-sleep.yaml b/tests/ocp/1-001_validate_rhsso/02-sleep.yaml new file mode 100644 index 000000000..17b69e001 --- /dev/null +++ b/tests/ocp/1-001_validate_rhsso/02-sleep.yaml @@ -0,0 +1,5 @@ +# wait for operator to create a new keycloak realm and update OIDC configuration. +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: +- script: sleep 60 diff --git a/tests/ocp/1-001_validate_rhsso/03-verify-oidc.yaml b/tests/ocp/1-001_validate_rhsso/03-verify-oidc.yaml new file mode 100644 index 000000000..cd8a5d9e8 --- /dev/null +++ b/tests/ocp/1-001_validate_rhsso/03-verify-oidc.yaml @@ -0,0 +1,28 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: +# verify OIDC config +# verify issuer +- script: | + issuer=$(kubectl get configmap argocd-cm -o jsonpath='{.data.oidc\.config}' -n $NAMESPACE | grep issuer | awk -F' ' '{print $2}') + keycloakRoute=$(kubectl get route keycloak -n $NAMESPACE -o jsonpath='{.spec.host}') + if [[ "${issuer}" == "https://${keycloakRoute}/auth/realms/argocd" ]]; then + echo "issuer matched" + else + echo "issuer mismatched" + echo "${issuer} not equals ${keycloakRoute}/auth/realms/argocd" + exit 1 + fi +# verify oidc config name, clientid +- script: | + clientid=$(kubectl get configmap argocd-cm -o jsonpath='{.data.oidc\.config}' -n $NAMESPACE | grep clientid | awk -F' ' '{print $2}') + name=$(kubectl get configmap argocd-cm -o jsonpath='{.data.oidc\.config}' -n $NAMESPACE | grep name | awk -F' ' '{print $2}') + rootCA=$(kubectl get configmap argocd-cm -o jsonpath='{.data.oidc\.config}' -n $NAMESPACE | grep rootca | awk -F' ' '{print $2}') + + if [[ "${clientid}" == "argocd" && "${name}" == "Keycloak" && "${rootCA}" == "'---BEGIN---END---'" ]]; then + echo "oidc name, clientid and rootCA matched" + else + echo "oidc name, clientid or rootCA mismatched" + echo "${clientid}, ${name} and ${rootCA}" + exit 1 + fi \ No newline at end of file diff --git a/tests/ocp/1-001_validate_rhsso/04-verifyRealmCreation.yaml b/tests/ocp/1-001_validate_rhsso/04-verifyRealmCreation.yaml new file mode 100644 index 000000000..432daf15f --- /dev/null +++ b/tests/ocp/1-001_validate_rhsso/04-verifyRealmCreation.yaml @@ -0,0 +1,45 @@ +# This step is executed after the RHSSO deployment, service, secret, route objects are created and verified. +# Reads the username and password from keycloak secret. +# Requests keycloak for an access token. +# Verifies Realm and Argo CD client creation. +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: +- script: | + # Set the needed parameter for the authorization + KEYCLOAK_URL=$(oc get route keycloak -n $NAMESPACE -o jsonpath='{.spec.host}') + tenant=argocd + USER=$(oc get secret keycloak-secret -n $NAMESPACE -o jsonpath='{.data.SSO_USERNAME}' | base64 --decode) + PASSWORD=$(oc get secret keycloak-secret -n $NAMESPACE -o jsonpath='{.data.SSO_PASSWORD}' | base64 --decode) + GRANT_TYPE=password + CLIENT_ID=admin-cli + + # Execute the CURL command to request the access-token + access_token=$(curl -d "client_id=$CLIENT_ID" -d "username=$USER" -d "password=$PASSWORD" -d "grant_type=$GRANT_TYPE" "https://$KEYCLOAK_URL/auth/realms/master/protocol/openid-connect/token" -k | sed -n 's|.*"access_token":"\([^"]*\)".*|\1|p') + + # Execute the CURL command to verify the realm and client creation + clientFound=$(curl -H "Content-Type: application/json" -H "Authorization: bearer $access_token" "https://$KEYCLOAK_URL/auth/admin/realms/$tenant/clients" -k | grep '"clientId":"argocd"') + if ! [ "$clientFound" = "" ]; then + echo "argocd realm and client creation verified" + else + echo "argocd client not found" + exit 1 + fi + + # Verify OpenShift-v4 IdP creation + IdPFound=$(curl -H "Content-Type: application/json" -H "Authorization: bearer $access_token" "https://$KEYCLOAK_URL/auth/admin/realms/$tenant/identity-provider/instances" -k | grep -i OpenShift-v4) + if ! [ "$IdPFound" = "" ]; then + echo "OpenShift-v4 IdP creation verified" + else + echo "OpenShift-v4 IdP not found" + exit 1 + fi + + # Verify OpenShift-v4 IdP creation + syncModeVerified=$(curl -H "Content-Type: application/json" -H "Authorization: bearer $access_token" "https://$KEYCLOAK_URL/auth/admin/realms/$tenant/identity-provider/instances" -k | grep -i '"syncMode":"FORCE"') + if ! [ "$syncModeVerified" = "" ]; then + echo "syncMode set to Force, verified" + else + echo "syncMode not set to Force" + exit 1 + fi \ No newline at end of file diff --git a/tests/ocp/1-001_validate_rhsso/99-delete.yaml b/tests/ocp/1-001_validate_rhsso/99-delete.yaml new file mode 100644 index 000000000..09d88eb32 --- /dev/null +++ b/tests/ocp/1-001_validate_rhsso/99-delete.yaml @@ -0,0 +1,4 @@ +apiVersion: kuttl.dev/v1beta1 +kind: TestStep +commands: + - command: oc delete argocd example-argocd-keycloak -n $NAMESPACE \ No newline at end of file