Skip to content

Commit f08d956

Browse files
nmiraschsvghadi
andauthored
chore: Upgrade Argo CD version to v.2.14.15 (#1772)
* Upgrade Argo CD version to v.2.14.15 Signed-off-by: nmirasch <neus.miras@gmail.com> * Upgrade golangci-lint to v2.1.6 Signed-off-by: nmirasch <neus.miras@gmail.com> * ci go version update, copied crds and updated defauls with the 2.14.15 argocd image Signed-off-by: nmirasch <neus.miras@gmail.com> * Revert makefile changes and run make bundle Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com> --------- Signed-off-by: nmirasch <neus.miras@gmail.com> Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com> Co-authored-by: Siddhesh Ghadi <sghadi1203@gmail.com>
1 parent c6b4690 commit f08d956

32 files changed

+7563
-4091
lines changed

.github/workflows/ci-build.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Set up Go
3333
uses: actions/setup-go@v5
3434
with:
35-
go-version: '1.22'
35+
go-version: '1.24'
3636

3737
- name: Restore go build cache
3838
uses: actions/cache@v4
@@ -77,7 +77,7 @@ jobs:
7777
- name: Setup Golang
7878
uses: actions/setup-go@v5
7979
with:
80-
go-version: '1.22'
80+
go-version: '1.24'
8181
- name: GH actions workaround - Kill XSP4 process
8282
run: |
8383
sudo pkill mono || true

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Set up Go
2525
uses: actions/setup-go@v5
2626
with:
27-
go-version: '1.22'
27+
go-version: '1.24'
2828

2929
- name: Build
3030
run: make build

.github/workflows/lint.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ jobs:
1616
- name: Checkout code
1717
uses: actions/checkout@v4
1818
- name: Run golangci-lint
19-
uses: golangci/golangci-lint-action@v6
19+
uses: golangci/golangci-lint-action@v8
2020
with:
21-
version: v1.61.0
22-
args: --timeout 5m --exclude SA5011
21+
# renovate: datasource=go packageName=github.com/golangci/golangci-lint versioning=regex:^v(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?$
22+
version: v2.1.6
23+
args: --timeout 5m
2324
only-new-issues: true
2425

.github/workflows/publish.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Set up Go
2323
uses: actions/setup-go@v5
2424
with:
25-
go-version: '1.22'
25+
go-version: '1.24'
2626

2727
- name: Restore go build cache
2828
uses: actions/cache@v4

.golangci.yml

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
1-
run:
2-
timeout: 2m
1+
version: "2"
32
linters:
43
enable:
4+
- unconvert
5+
- unparam
56
- govet
67
- unused
7-
- goimports
8-
- ineffassign
98
- unconvert
10-
- unparam
11-
issues:
12-
exclude-files:
13-
- ".*_test\\.go"
14-
exclude-dirs:
15-
- vendor/
16-
linters-settings:
17-
goimports:
18-
local-prefixes: github.com/argoproj-labs/argocd-operator
9+
disable:
10+
- staticcheck
11+
exclusions:
12+
generated: lax
13+
presets:
14+
- comments
15+
- common-false-positives
16+
- legacy
17+
- std-error-handling
18+
paths:
19+
- .*_test\.go
20+
- vendor/
21+
- third_party$
22+
- builtin$
23+
- examples$
24+
formatters:
25+
enable:
26+
- goimports
27+
settings:
28+
goimports:
29+
local-prefixes:
30+
- github.com/argoproj-labs/argocd-operator
31+
exclusions:
32+
generated: lax
33+
paths:
34+
- .*_test\.go
35+
- vendor/
36+
- third_party$
37+
- builtin$
38+
- examples$

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM golang:1.22 as builder
2+
FROM golang:1.24 as builder
33

44
WORKDIR /workspace
55
# Copy the Go Modules manifests

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ all: test install run e2e ## UnitTest, Run the operator locally and execute e2e
168168

169169
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
170170
controller-gen: ## Download controller-gen locally if necessary.
171-
$(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0)
171+
$(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.17.3)
172172

173173
KUSTOMIZE = $(shell pwd)/bin/kustomize
174174
kustomize: ## Download kustomize locally if necessary.
@@ -194,12 +194,18 @@ rm -rf $$TMP_DIR ;\
194194
endef
195195

196196
.PHONY: bundle
197+
# Detect platform and set SED_INPLACE accordingly
198+
ifeq ($(shell uname), Darwin)
199+
SED_INPLACE = sed -i ''
200+
else
201+
SED_INPLACE = sed -i
202+
endif
197203
bundle: operator-sdk manifests kustomize ## Generate bundle manifests and metadata, then validate generated files.
198204
$(OPERATOR_SDK) generate kustomize manifests -q
199205
cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG)
200206
$(KUSTOMIZE) build config/manifests | $(OPERATOR_SDK) generate bundle -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS)
201207
$(OPERATOR_SDK) bundle validate ./bundle
202-
sed -i 's/control-plane: argocd-operator/control-plane: controller-manager/g' bundle/manifests/argocd-operator-webhook-service_v1_service.yaml bundle/manifests/argocd-operator-controller-manager-metrics-service_v1_service.yaml bundle/manifests/argocd-operator.clusterserviceversion.yaml
208+
$(SED_INPLACE) 's/control-plane: argocd-operator/control-plane: controller-manager/g' bundle/manifests/argocd-operator-webhook-service_v1_service.yaml bundle/manifests/argocd-operator-controller-manager-metrics-service_v1_service.yaml bundle/manifests/argocd-operator.clusterserviceversion.yaml
203209
rm -fr deploy/olm-catalog/argocd-operator/$(VERSION)
204210
mkdir -p deploy/olm-catalog/argocd-operator/$(VERSION)
205211
cp -r bundle/manifests/* deploy/olm-catalog/argocd-operator/$(VERSION)/

build/util/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
# Argo CD v2.13.5
2-
# TODO: Pinned to 2.13.x https://github.com/argoproj-labs/argocd-operator/issues/1631#issue-2752065624
3-
FROM quay.io/argoproj/argocd@sha256:17c471916f3e14c01c599a534944c83a7905c1ba42a486e4ef9b87f58c788658 as argocd
1+
# Argo CD v2.14.15
2+
FROM quay.io/argoproj/argocd@sha256:3be6babe6a3248cf35f2c7816c0fcbbbdba592320d93494016ef7123031339cb as argocd
43

54
# Final Image
65
FROM docker.io/library/ubuntu:24.04

bundle/manifests/argocd-operator.clusterserviceversion.yaml

Lines changed: 13 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ metadata:
247247
capabilities: Deep Insights
248248
categories: Integration & Delivery
249249
certified: "false"
250-
createdAt: "2025-06-18T07:38:13Z"
250+
createdAt: "2025-07-07T01:37:08Z"
251251
description: Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
252252
operators.operatorframework.io/builder: operator-sdk-v1.35.0
253253
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
@@ -441,10 +441,8 @@ spec:
441441
- urn:alm:descriptor:com.tectonic.ui:fieldGroup:Prometheus
442442
- urn:alm:descriptor:com.tectonic.ui:fieldGroup:Server
443443
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
444-
- description: 'Deprecated: ConfigManagementPlugins field is no longer supported.
445-
Argo CD now requires plugins to be defined as sidecar containers of repo
446-
server component. See ''.spec.repo.sidecarContainers''. ConfigManagementPlugins
447-
was previously used to specify additional config management plugins.'
444+
- description: ConfigManagementPlugins is used to specify additional config
445+
management plugins.
448446
displayName: Config Management Plugins'
449447
path: configManagementPlugins
450448
x-descriptors:
@@ -1060,10 +1058,8 @@ spec:
10601058
- urn:alm:descriptor:com.tectonic.ui:fieldGroup:Prometheus
10611059
- urn:alm:descriptor:com.tectonic.ui:fieldGroup:Server
10621060
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
1063-
- description: 'Deprecated: ConfigManagementPlugins field is no longer supported.
1064-
Argo CD now requires plugins to be defined as sidecar containers of repo
1065-
server component. See ''.spec.repo.sidecarContainers''. ConfigManagementPlugins
1066-
was previously used to specify additional config management plugins.'
1061+
- description: ConfigManagementPlugins is used to specify additional config
1062+
management plugins.
10671063
displayName: Config Management Plugins'
10681064
path: configManagementPlugins
10691065
x-descriptors:
@@ -1193,8 +1189,8 @@ spec:
11931189
x-descriptors:
11941190
- urn:alm:descriptor:com.tectonic.ui:fieldGroup:Import
11951191
- urn:alm:descriptor:com.tectonic.ui:text
1196-
- description: 'Deprecated: InitialRepositories to configure Argo CD with upon
1197-
creation of the cluster.'
1192+
- description: InitialRepositories to configure Argo CD with upon creation of
1193+
the cluster.
11981194
displayName: Initial Repositories'
11991195
path: initialRepositories
12001196
x-descriptors:
@@ -1701,22 +1697,14 @@ spec:
17011697
resources:
17021698
- configmaps
17031699
verbs:
1704-
- create
1705-
- delete
1706-
- get
1707-
- list
1708-
- patch
1709-
- update
1710-
- watch
1700+
- '*'
17111701
- apiGroups:
17121702
- ""
17131703
resources:
1714-
- configmaps
17151704
- endpoints
17161705
- events
17171706
- namespaces
17181707
- persistentvolumeclaims
1719-
- pods
17201708
- secrets
17211709
- serviceaccounts
17221710
- services
@@ -1727,6 +1715,11 @@ spec:
17271715
- ""
17281716
resources:
17291717
- pods
1718+
verbs:
1719+
- '*'
1720+
- apiGroups:
1721+
- ""
1722+
resources:
17301723
- pods/log
17311724
verbs:
17321725
- get
@@ -1765,27 +1758,12 @@ spec:
17651758
resources:
17661759
- applications
17671760
- appprojects
1768-
verbs:
1769-
- '*'
1770-
- apiGroups:
1771-
- argoproj.io
1772-
resources:
17731761
- argocdexports
17741762
- argocdexports/finalizers
17751763
- argocdexports/status
1776-
verbs:
1777-
- '*'
1778-
- apiGroups:
1779-
- argoproj.io
1780-
resources:
17811764
- argocds
17821765
- argocds/finalizers
17831766
- argocds/status
1784-
verbs:
1785-
- '*'
1786-
- apiGroups:
1787-
- argoproj.io
1788-
resources:
17891767
- notificationsconfigurations
17901768
- notificationsconfigurations/finalizers
17911769
verbs:
@@ -1853,11 +1831,6 @@ spec:
18531831
- rbac.authorization.k8s.io
18541832
resources:
18551833
- '*'
1856-
verbs:
1857-
- '*'
1858-
- apiGroups:
1859-
- rbac.authorization.k8s.io
1860-
resources:
18611834
- clusterrolebindings
18621835
- clusterroles
18631836
verbs:

bundle/manifests/argoproj.io_argocdexports.yaml

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.14.0
5+
controller-gen.kubebuilder.io/version: v0.17.3
66
creationTimestamp: null
77
name: argocdexports.argoproj.io
88
spec:
@@ -65,6 +65,7 @@ spec:
6565
items:
6666
type: string
6767
type: array
68+
x-kubernetes-list-type: atomic
6869
dataSource:
6970
description: |-
7071
dataSource field can be used to specify either:
@@ -149,33 +150,6 @@ spec:
149150
status field of the claim.
150151
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
151152
properties:
152-
claims:
153-
description: |-
154-
Claims lists the names of resources, defined in spec.resourceClaims,
155-
that are used by this container.
156-
157-
158-
This is an alpha field and requires enabling the
159-
DynamicResourceAllocation feature gate.
160-
161-
162-
This field is immutable. It can only be set for containers.
163-
items:
164-
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
165-
properties:
166-
name:
167-
description: |-
168-
Name must match the name of one entry in pod.spec.resourceClaims of
169-
the Pod where this field is used. It makes that resource available
170-
inside a container.
171-
type: string
172-
required:
173-
- name
174-
type: object
175-
type: array
176-
x-kubernetes-list-map-keys:
177-
- name
178-
x-kubernetes-list-type: map
179153
limits:
180154
additionalProperties:
181155
anyOf:
@@ -231,11 +205,13 @@ spec:
231205
items:
232206
type: string
233207
type: array
208+
x-kubernetes-list-type: atomic
234209
required:
235210
- key
236211
- operator
237212
type: object
238213
type: array
214+
x-kubernetes-list-type: atomic
239215
matchLabels:
240216
additionalProperties:
241217
type: string
@@ -251,6 +227,21 @@ spec:
251227
storageClassName is the name of the StorageClass required by the claim.
252228
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
253229
type: string
230+
volumeAttributesClassName:
231+
description: |-
232+
volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
233+
If specified, the CSI driver will create or update the volume with the attributes defined
234+
in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
235+
it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
236+
will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
237+
If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
238+
will be set by the persistentvolume controller if it exists.
239+
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
240+
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
241+
exists.
242+
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
243+
(Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
244+
type: string
254245
volumeMode:
255246
description: |-
256247
volumeMode defines what type of volume is required by the claim.

0 commit comments

Comments
 (0)