diff --git a/bundle/manifests/argoproj.io_argocds.yaml b/bundle/manifests/argoproj.io_argocds.yaml index 9da40a4068c..9a4ca50303a 100644 --- a/bundle/manifests/argoproj.io_argocds.yaml +++ b/bundle/manifests/argoproj.io_argocds.yaml @@ -15696,6 +15696,45 @@ spec: type: string type: object type: array + localUsers: + description: LocalUsers is a listing of local users to be created + by the operator for the purpose of issuing ArgoCD API keys. + items: + description: LocalUserSpec is used to specify information about + an ArgoCD local user to be created by the operator. + properties: + apiKey: + description: |- + ApiKey defines whether or not the user is configured to use an ArgoCD API + key. Default is true + type: boolean + autoRenewToken: + description: |- + AutoRenewToken specifies if a new token is to be issued once the existing + one has expired. Default is true + type: boolean + enabled: + description: |- + Enabled defines whether or not this local user is enabled. Default is + true + type: boolean + login: + description: Login defines whether or not the user is configured + to be able to login. Default is false + type: boolean + name: + description: Name of the local user + type: string + tokenLifetime: + description: |- + TokenLifetime defines the how long the token issued to this user is valid + for. An empty string or the value 0 indicates an infinite lifetime. + Examples: "30m", "8760h" + type: string + required: + - name + type: object + type: array monitoring: description: Monitoring defines whether workload status monitoring configuration for this instance. diff --git a/bundle/manifests/gitops-operator.clusterserviceversion.yaml b/bundle/manifests/gitops-operator.clusterserviceversion.yaml index 86dcd40857a..b3537200afe 100644 --- a/bundle/manifests/gitops-operator.clusterserviceversion.yaml +++ b/bundle/manifests/gitops-operator.clusterserviceversion.yaml @@ -180,7 +180,7 @@ metadata: capabilities: Deep Insights console.openshift.io/plugins: '["gitops-plugin"]' containerImage: quay.io/redhat-developer/gitops-operator - createdAt: "2025-08-10T13:07:26Z" + createdAt: "2025-08-20T01:09:37Z" description: Enables teams to adopt GitOps principles for managing cluster configurations and application delivery across hybrid multi-cluster Kubernetes environments. features.operators.openshift.io/disconnected: "true" diff --git a/cmd/main.go b/cmd/main.go index e7136595264..c7b7d240a7e 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -228,6 +228,9 @@ func main() { Scheme: mgr.GetScheme(), LabelSelector: labelSelectorFlag, K8sClient: k8sClient, + LocalUsers: &argocdprovisioner.LocalUsersInfo{ + TokenRenewalTimers: map[string]*argocdprovisioner.TokenRenewalTimer{}, + }, }).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "Argo CD") os.Exit(1) diff --git a/config/crd/bases/argoproj.io_argocds.yaml b/config/crd/bases/argoproj.io_argocds.yaml index 4bfd434b7df..52a308f44cd 100644 --- a/config/crd/bases/argoproj.io_argocds.yaml +++ b/config/crd/bases/argoproj.io_argocds.yaml @@ -15685,6 +15685,45 @@ spec: type: string type: object type: array + localUsers: + description: LocalUsers is a listing of local users to be created + by the operator for the purpose of issuing ArgoCD API keys. + items: + description: LocalUserSpec is used to specify information about + an ArgoCD local user to be created by the operator. + properties: + apiKey: + description: |- + ApiKey defines whether or not the user is configured to use an ArgoCD API + key. Default is true + type: boolean + autoRenewToken: + description: |- + AutoRenewToken specifies if a new token is to be issued once the existing + one has expired. Default is true + type: boolean + enabled: + description: |- + Enabled defines whether or not this local user is enabled. Default is + true + type: boolean + login: + description: Login defines whether or not the user is configured + to be able to login. Default is false + type: boolean + name: + description: Name of the local user + type: string + tokenLifetime: + description: |- + TokenLifetime defines the how long the token issued to this user is valid + for. An empty string or the value 0 indicates an infinite lifetime. + Examples: "30m", "8760h" + type: string + required: + - name + type: object + type: array monitoring: description: Monitoring defines whether workload status monitoring configuration for this instance. diff --git a/controllers/argocd/openshift/openshift.go b/controllers/argocd/openshift/openshift.go index 8e50bafdf15..af37d5694e2 100644 --- a/controllers/argocd/openshift/openshift.go +++ b/controllers/argocd/openshift/openshift.go @@ -118,7 +118,7 @@ func BuilderHook(_ *argoapp.ArgoCD, v interface{}, _ string) error { logv.Info("updating the Argo CD controller to watch for changes to the admin ClusterRole") clusterResourceHandler := handler.EnqueueRequestsFromMapFunc(adminClusterRoleMapper(bldr.Client)) - bldr.Builder.Watches(&rbacv1.ClusterRole{}, clusterResourceHandler, + bldr.Watches(&rbacv1.ClusterRole{}, clusterResourceHandler, builder.WithPredicates(predicate.NewPredicateFuncs(func(o client.Object) bool { return o.GetName() == "admin" }))) diff --git a/go.mod b/go.mod index d8582294192..3de51757e00 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.24.4 require ( github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250731075119-a100fc1d88b8 - github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20250812131727-80f37522108a + github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20250820003054-2264f895048a github.com/argoproj/argo-cd/v3 v3.1.0-rc2 github.com/argoproj/gitops-engine v0.7.1-0.20250617174952-093aef0dad58 github.com/go-logr/logr v1.4.3 diff --git a/go.sum b/go.sum index e2542f1ad5a..3d435144095 100644 --- a/go.sum +++ b/go.sum @@ -31,8 +31,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250731075119-a100fc1d88b8 h1:6+eo7BKrNkSIhQ1nnyCUloSNrGzghlb8r8e7GokoeBo= github.com/argoproj-labs/argo-rollouts-manager v0.0.6-0.20250731075119-a100fc1d88b8/go.mod h1:yTwzKUV79YyI764hkXdVojGYBA9yKJk3qXx5mRuQ2Xc= -github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20250812131727-80f37522108a h1:ltdwxgFZEv8F83tRaHRWWSx61/Rnc4tv0A0JefvNAc4= -github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20250812131727-80f37522108a/go.mod h1:yHybcTQ4MdqiQ3NqBATUNnF7iXrZX2GmTQp5W+rRw0Y= +github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20250820003054-2264f895048a h1:t44X2qp5Skx/oJISgLcpatPNFKxGy7qMlqsxaKK52J8= +github.com/argoproj-labs/argocd-operator v0.14.0-rc1.0.20250820003054-2264f895048a/go.mod h1:7zgj/iHFq1r1OZmLX9yxUAarttxnklMbqZb/63euXA8= github.com/argoproj/argo-cd/v3 v3.1.0-rc2 h1:oT9whFw3tShGkW1WrHJReFkAJvmsgS2KGJkcRIFSnt8= github.com/argoproj/argo-cd/v3 v3.1.0-rc2/go.mod h1:vrxw1sapzdI3nnkwRKP84cMTzYjOKP7XsEy5fW1FQgg= github.com/argoproj/gitops-engine v0.7.1-0.20250617174952-093aef0dad58 h1:9ESamu44v3dR9j/I4/4Aa1Fx3QSIE8ElK1CR8Z285uk= diff --git a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go index 7318ab86034..4c04f589f35 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go @@ -95,7 +95,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { if os.Getenv("CI") == "prow" { // when running against openshift-ci expected_dexVersion = "v2.30.3-dirty" - expected_redisVersion = "6.2.4" + expected_redisVersion = "7.2.7" } else { // when running against RC/ released version of gitops