Skip to content

Commit 6a7df94

Browse files
committed
[GITOPS-9258]: Configurable TLS server settings for argocd and argocd-agent components
Signed-off-by: akhil nittala <nakhil@redhat.com>
1 parent b7643ca commit 6a7df94

4 files changed

Lines changed: 297 additions & 1 deletion

File tree

argocd-operator

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 323833711f91c6d65339f47c35dd74d62ca8aa3b
Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.18.0
7+
name: argocdexports.argoproj.io
8+
spec:
9+
group: argoproj.io
10+
names:
11+
kind: ArgoCDExport
12+
listKind: ArgoCDExportList
13+
plural: argocdexports
14+
singular: argocdexport
15+
scope: Namespaced
16+
versions:
17+
- name: v1alpha1
18+
schema:
19+
openAPIV3Schema:
20+
description: ArgoCDExport is the Schema for the argocdexports API
21+
properties:
22+
apiVersion:
23+
description: |-
24+
APIVersion defines the versioned schema of this representation of an object.
25+
Servers should convert recognized schemas to the latest internal value, and
26+
may reject unrecognized values.
27+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
28+
type: string
29+
kind:
30+
description: |-
31+
Kind is a string value representing the REST resource this object represents.
32+
Servers may infer this from the endpoint the client submits requests to.
33+
Cannot be updated.
34+
In CamelCase.
35+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
36+
type: string
37+
metadata:
38+
type: object
39+
spec:
40+
description: ArgoCDExportSpec defines the desired state of ArgoCDExport
41+
properties:
42+
argocd:
43+
description: Argocd is the name of the ArgoCD instance to export.
44+
type: string
45+
image:
46+
description: Image is the container image to use for the export Job.
47+
type: string
48+
schedule:
49+
description: Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
50+
type: string
51+
storage:
52+
description: Storage defines the storage configuration options.
53+
properties:
54+
backend:
55+
description: Backend defines the storage backend to use, must
56+
be "local" (the default), "aws", "azure" or "gcp".
57+
type: string
58+
pvc:
59+
description: PVC is the desired characteristics for a PersistentVolumeClaim.
60+
properties:
61+
accessModes:
62+
description: |-
63+
accessModes contains the desired access modes the volume should have.
64+
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
65+
items:
66+
type: string
67+
type: array
68+
x-kubernetes-list-type: atomic
69+
dataSource:
70+
description: |-
71+
dataSource field can be used to specify either:
72+
* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
73+
* An existing PVC (PersistentVolumeClaim)
74+
If the provisioner or an external controller can support the specified data source,
75+
it will create a new volume based on the contents of the specified data source.
76+
When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
77+
and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
78+
If the namespace is specified, then dataSourceRef will not be copied to dataSource.
79+
properties:
80+
apiGroup:
81+
description: |-
82+
APIGroup is the group for the resource being referenced.
83+
If APIGroup is not specified, the specified Kind must be in the core API group.
84+
For any other third-party types, APIGroup is required.
85+
type: string
86+
kind:
87+
description: Kind is the type of resource being referenced
88+
type: string
89+
name:
90+
description: Name is the name of resource being referenced
91+
type: string
92+
required:
93+
- kind
94+
- name
95+
type: object
96+
x-kubernetes-map-type: atomic
97+
dataSourceRef:
98+
description: |-
99+
dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
100+
volume is desired. This may be any object from a non-empty API group (non
101+
core object) or a PersistentVolumeClaim object.
102+
When this field is specified, volume binding will only succeed if the type of
103+
the specified object matches some installed volume populator or dynamic
104+
provisioner.
105+
This field will replace the functionality of the dataSource field and as such
106+
if both fields are non-empty, they must have the same value. For backwards
107+
compatibility, when namespace isn't specified in dataSourceRef,
108+
both fields (dataSource and dataSourceRef) will be set to the same
109+
value automatically if one of them is empty and the other is non-empty.
110+
When namespace is specified in dataSourceRef,
111+
dataSource isn't set to the same value and must be empty.
112+
There are three important differences between dataSource and dataSourceRef:
113+
* While dataSource only allows two specific types of objects, dataSourceRef
114+
allows any non-core object, as well as PersistentVolumeClaim objects.
115+
* While dataSource ignores disallowed values (dropping them), dataSourceRef
116+
preserves all values, and generates an error if a disallowed value is
117+
specified.
118+
* While dataSource only allows local objects, dataSourceRef allows objects
119+
in any namespaces.
120+
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
121+
(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
122+
properties:
123+
apiGroup:
124+
description: |-
125+
APIGroup is the group for the resource being referenced.
126+
If APIGroup is not specified, the specified Kind must be in the core API group.
127+
For any other third-party types, APIGroup is required.
128+
type: string
129+
kind:
130+
description: Kind is the type of resource being referenced
131+
type: string
132+
name:
133+
description: Name is the name of resource being referenced
134+
type: string
135+
namespace:
136+
description: |-
137+
Namespace is the namespace of resource being referenced
138+
Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
139+
(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
140+
type: string
141+
required:
142+
- kind
143+
- name
144+
type: object
145+
resources:
146+
description: |-
147+
resources represents the minimum resources the volume should have.
148+
If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
149+
that are lower than previous value but must still be higher than capacity recorded in the
150+
status field of the claim.
151+
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
152+
properties:
153+
limits:
154+
additionalProperties:
155+
anyOf:
156+
- type: integer
157+
- type: string
158+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
159+
x-kubernetes-int-or-string: true
160+
description: |-
161+
Limits describes the maximum amount of compute resources allowed.
162+
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
163+
type: object
164+
requests:
165+
additionalProperties:
166+
anyOf:
167+
- type: integer
168+
- type: string
169+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
170+
x-kubernetes-int-or-string: true
171+
description: |-
172+
Requests describes the minimum amount of compute resources required.
173+
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
174+
otherwise to an implementation-defined value. Requests cannot exceed Limits.
175+
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
176+
type: object
177+
type: object
178+
selector:
179+
description: selector is a label query over volumes to consider
180+
for binding.
181+
properties:
182+
matchExpressions:
183+
description: matchExpressions is a list of label selector
184+
requirements. The requirements are ANDed.
185+
items:
186+
description: |-
187+
A label selector requirement is a selector that contains values, a key, and an operator that
188+
relates the key and values.
189+
properties:
190+
key:
191+
description: key is the label key that the selector
192+
applies to.
193+
type: string
194+
operator:
195+
description: |-
196+
operator represents a key's relationship to a set of values.
197+
Valid operators are In, NotIn, Exists and DoesNotExist.
198+
type: string
199+
values:
200+
description: |-
201+
values is an array of string values. If the operator is In or NotIn,
202+
the values array must be non-empty. If the operator is Exists or DoesNotExist,
203+
the values array must be empty. This array is replaced during a strategic
204+
merge patch.
205+
items:
206+
type: string
207+
type: array
208+
x-kubernetes-list-type: atomic
209+
required:
210+
- key
211+
- operator
212+
type: object
213+
type: array
214+
x-kubernetes-list-type: atomic
215+
matchLabels:
216+
additionalProperties:
217+
type: string
218+
description: |-
219+
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
220+
map is equivalent to an element of matchExpressions, whose key field is "key", the
221+
operator is "In", and the values array contains only "value". The requirements are ANDed.
222+
type: object
223+
type: object
224+
x-kubernetes-map-type: atomic
225+
storageClassName:
226+
description: |-
227+
storageClassName is the name of the StorageClass required by the claim.
228+
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
229+
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 or nil value indicates that no
236+
VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state,
237+
this field can be reset to its previous value (including nil) to cancel the modification.
238+
If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
239+
set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
240+
exists.
241+
More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
242+
type: string
243+
volumeMode:
244+
description: |-
245+
volumeMode defines what type of volume is required by the claim.
246+
Value of Filesystem is implied when not included in claim spec.
247+
type: string
248+
volumeName:
249+
description: volumeName is the binding reference to the PersistentVolume
250+
backing this claim.
251+
type: string
252+
type: object
253+
secretName:
254+
description: SecretName is the name of a Secret with encryption
255+
key, credentials, etc.
256+
type: string
257+
type: object
258+
version:
259+
description: Version is the tag/digest to use for the export Job container
260+
image.
261+
type: string
262+
required:
263+
- argocd
264+
type: object
265+
status:
266+
description: ArgoCDExportStatus defines the observed state of ArgoCDExport
267+
properties:
268+
phase:
269+
description: |-
270+
Phase is a simple, high-level summary of where the ArgoCDExport is in its lifecycle.
271+
There are five possible phase values:
272+
Pending: The ArgoCDExport has been accepted by the Kubernetes system, but one or more of the required resources have not been created.
273+
Running: All of the containers for the ArgoCDExport are still running, or in the process of starting or restarting.
274+
Succeeded: All containers for the ArgoCDExport have terminated in success, and will not be restarted.
275+
Failed: At least one container has terminated in failure, either exited with non-zero status or was terminated by the system.
276+
Unknown: For some reason the state of the ArgoCDExport could not be obtained.
277+
type: string
278+
required:
279+
- phase
280+
type: object
281+
type: object
282+
served: true
283+
storage: true
284+
subresources:
285+
status: {}

config/crd/bases/argoproj.io_argocds.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12182,12 +12182,14 @@ spec:
1218212182
type: array
1218312183
maxVersion:
1218412184
enum:
12185+
- "1.0"
1218512186
- "1.1"
1218612187
- "1.2"
1218712188
- "1.3"
1218812189
type: string
1218912190
minVersion:
1219012191
enum:
12192+
- "1.0"
1219112193
- "1.1"
1219212194
- "1.2"
1219312195
- "1.3"
@@ -18183,12 +18185,14 @@ spec:
1818318185
type: array
1818418186
maxVersion:
1818518187
enum:
18188+
- "1.0"
1818618189
- "1.1"
1818718190
- "1.2"
1818818191
- "1.3"
1818918192
type: string
1819018193
minVersion:
1819118194
enum:
18195+
- "1.0"
1819218196
- "1.1"
1819318197
- "1.2"
1819418198
- "1.3"
@@ -18967,12 +18971,14 @@ spec:
1896718971
type: array
1896818972
maxVersion:
1896918973
enum:
18974+
- "1.0"
1897018975
- "1.1"
1897118976
- "1.2"
1897218977
- "1.3"
1897318978
type: string
1897418979
minVersion:
1897518980
enum:
18981+
- "1.0"
1897618982
- "1.1"
1897718983
- "1.2"
1897818984
- "1.3"
@@ -22571,12 +22577,14 @@ spec:
2257122577
type: array
2257222578
maxVersion:
2257322579
enum:
22580+
- "1.0"
2257422581
- "1.1"
2257522582
- "1.2"
2257622583
- "1.3"
2257722584
type: string
2257822585
minVersion:
2257922586
enum:
22587+
- "1.0"
2258022588
- "1.1"
2258122589
- "1.2"
2258222590
- "1.3"
@@ -28271,12 +28279,14 @@ spec:
2827128279
type: array
2827228280
maxVersion:
2827328281
enum:
28282+
- "1.0"
2827428283
- "1.1"
2827528284
- "1.2"
2827628285
- "1.3"
2827728286
type: string
2827828287
minVersion:
2827928288
enum:
28289+
- "1.0"
2828028290
- "1.1"
2828128291
- "1.2"
2828228292
- "1.3"

0 commit comments

Comments
 (0)