Skip to content

Commit

Permalink
feat(argocd-operator): add support for tolerations + nodeSelector + a…
Browse files Browse the repository at this point in the history
…ffinity to helm chart (#457)

* feat(argocd-operator): added support for tolerations, nodeSelectors and affinities

* docs(argocd-operator): update README docs

* docs(argocd-operator/values): added descriptions for values

* docs(cleanup): remove some duplication
  • Loading branch information
SystemFiles committed Nov 28, 2023
1 parent 29dd3bd commit 0d9ef7c
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 36 deletions.
5 changes: 2 additions & 3 deletions stable/argocd-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
description: A Helm chart for ArgoCD Operator
description: A Helm chart that deploys ArgoCD Operator. The ArgoCD Operator manages ArgoCD installation and components
name: argocd-operator
version: 0.4.1
version: 0.5.0
appVersion: v0.4.0
type: application
keywords:
Expand All @@ -17,4 +17,3 @@ maintainers:
email: [email protected]
- name: zachomedia
email: [email protected]
engine: gotpl
43 changes: 16 additions & 27 deletions stable/argocd-operator/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# argocd-operator

![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.4.0](https://img.shields.io/badge/AppVersion-v0.4.0-informational?style=flat-square)
![Version: 0.5.0](https://img.shields.io/badge/Version-0.5.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.4.0](https://img.shields.io/badge/AppVersion-v0.4.0-informational?style=flat-square)

A Helm chart for ArgoCD Operator
A Helm chart that deploys ArgoCD Operator. The ArgoCD Operator manages ArgoCD installation and components

**Homepage:** <https://argocd-operator.readthedocs.io/>

Expand All @@ -17,8 +17,6 @@ A Helm chart for ArgoCD Operator

* <https://github.com/argoproj-labs/argocd-operator>



## Prerequisites

- Kubernetes 1.20+
Expand All @@ -28,26 +26,17 @@ A Helm chart for ArgoCD Operator

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| operator.clusterDomain | string | `""` | |
| operator.image.pullPolicy | string | `"IfNotPresent"` | |
| operator.image.repository | string | `"quay.io/argoprojlabs/argocd-operator"` | |
| operator.image.tag | string | `"v0.4.0"` | |
| operator.imagePullSecrets | list | `[]` | |
| operator.nsClusterConfig | string | `""` | |
| operator.nsToWatch | string | `"argo-cd-system"` | |
| operator.podAnnotations | object | `{}` | |
| operator.podLabels | object | `{}` | |
| operator.replicaCount | int | `1` | |
| operator.resources.requests.cpu | string | `"200m"` | |
| operator.resources.requests.ephemeral-storage | string | `"500Mi"` | |
| operator.resources.requests.memory | string | `"256Mi"` | |
| operator.securityContext.allowPrivilegeEscalation | bool | `false` | |
| operator.securityContext.capabilities.drop[0] | string | `"ALL"` | |
| operator.securityContext.fsGroup | int | `1000` | |
| operator.securityContext.readOnlyRootFilesystem | bool | `true` | |
| operator.securityContext.runAsGroup | int | `1000` | |
| operator.securityContext.runAsNonRoot | bool | `true` | |
| operator.securityContext.runAsUser | int | `1000` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)
| operator.affinity | object | `{}` | A more expressive way to constrain ArgoCD controller Pods to specific nodes |
| operator.extraEnv | list | `[]` | A list of environment objects used to inject additional environment variables into the controller pod |
| operator.image | object | `{"pullPolicy":"IfNotPresent","repository":"quay.io/argoprojlabs/argocd-operator","tag":"v0.4.0"}` | Configures the image to use for the argocd-operator pod(s) |
| operator.imagePullSecrets | list | `[]` | One or many secret(s), that store Docker credentials that are used for accessing a private image registry |
| operator.nodeSelector | object | `{}` | Constrain ArgoCD controller Pods to be scheduled to nodes with specific labels |
| operator.nsClusterConfig | string | `""` | List of namespaces of cluster-scoped Argo CD instances |
| operator.nsToWatch | string | `"argo-cd-system"` | Defines which namespace for the operator to watch for deployment of related argocd components |
| operator.podAnnotations | object | `{}` | Annotations to apply to the argocd controller pods that are deployed as part of this release |
| operator.podLabels | object | `{}` | Labels to apply to the argocd controller pods that are deployed as part of this release |
| operator.replicaCount | int | `1` | The number of replicas of the ArgoCD controller |
| operator.resources | object | `{"requests":{"cpu":"200m","ephemeral-storage":"500Mi","memory":"256Mi"}}` | Resource requests and limits to define the allowed compute and storage for each deployment |
| operator.securityContext | object | `{"fsGroup":1000,"runAsGroup":1000,"runAsNonRoot":true,"runAsUser":1000}` | Defines privilege and access control settings for the ArgoCD controller Pod or Container |
| operator.tolerations | list | `[]` | A list of node taints that this deployment should tolerate |

18 changes: 15 additions & 3 deletions stable/argocd-operator/templates/operator.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: "argocd-operator"
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "argocd-operator.labels" . | nindent 4 }}
Expand Down Expand Up @@ -43,8 +43,20 @@ spec:
fieldPath: metadata.name
- name: OPERATOR_NAME
value: "argocd-operator"
{{- if .Values.operator.extraEnv }}
{{- toYaml .Values.operator.extraEnv | nindent 12 }}
{{- with .Values.operator.extraEnv }}
{{- toYaml . | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.operator.resources | nindent 12 }}
{{- with .Values.operator.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.operator.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.operator.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
1 change: 0 additions & 1 deletion stable/argocd-operator/templates/role.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
name: manager-role
rules:
- apiGroups:
Expand Down
19 changes: 17 additions & 2 deletions stable/argocd-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,40 @@
# Default values for argocd-operator.

operator:
clusterDomain: ""
# -- Defines which namespace for the operator to watch for deployment of related argocd components
nsToWatch: "argo-cd-system"
# -- List of namespaces of cluster-scoped Argo CD instances
nsClusterConfig: ""
# -- Configures the image to use for the argocd-operator pod(s)
image:
repository: quay.io/argoprojlabs/argocd-operator
tag: v0.4.0
pullPolicy: IfNotPresent
# -- One or many secret(s), that store Docker credentials that are used for accessing a private image registry
imagePullSecrets: []
# -- Annotations to apply to the argocd controller pods that are deployed as part of this release
podAnnotations: {}
# -- Labels to apply to the argocd controller pods that are deployed as part of this release
podLabels: {}
# extraEnv: []
# -- A list of environment objects used to inject additional environment variables into the controller pod
extraEnv: []
# -- The number of replicas of the ArgoCD controller
replicaCount: 1
# -- Defines privilege and access control settings for the ArgoCD controller Pod or Container
securityContext:
runAsUser: 1000
runAsGroup: 1000
runAsNonRoot: true
fsGroup: 1000
# -- Resource requests and limits to define the allowed compute and storage for each deployment
resources:
requests:
cpu: 200m
memory: 256Mi
ephemeral-storage: 500Mi
# -- Constrain ArgoCD controller Pods to be scheduled to nodes with specific labels
nodeSelector: {}
# -- A list of node taints that this deployment should tolerate
tolerations: []
# -- A more expressive way to constrain ArgoCD controller Pods to specific nodes
affinity: {}

0 comments on commit 0d9ef7c

Please sign in to comment.