Merge branch 'master' into feature-argo-workflow-sa-setup

This commit is contained in:
Markus Lippert 2020-09-03 20:47:32 +02:00 committed by GitHub
commit 59c3c446bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
58 changed files with 976 additions and 587 deletions

1
.gitignore vendored
View file

@ -3,3 +3,4 @@ output
.DS_Store .DS_Store
.idea .idea
**/*.tgz **/*.tgz
**/charts/*/charts

View file

@ -1,8 +1,8 @@
apiVersion: v1 apiVersion: v1
appVersion: "1.6.1" appVersion: "1.6.2"
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
name: argo-cd name: argo-cd
version: 2.5.0 version: 2.6.3
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
keywords: keywords:

View file

@ -68,6 +68,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i
| global.hostAliases | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | `[]` | | global.hostAliases | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | `[]` |
| nameOverride | Provide a name in place of `argocd` | `"argocd"` | | nameOverride | Provide a name in place of `argocd` | `"argocd"` |
| installCRDs | Install CRDs if you are using Helm2. | `true` | | installCRDs | Install CRDs if you are using Helm2. | `true` |
| configs.knownHostsAnnotations | Known Hosts configmap annotations | `{}` |
| configs.knownHosts.data.ssh_known_hosts | Known Hosts | See [values.yaml](values.yaml) | | configs.knownHosts.data.ssh_known_hosts | Known Hosts | See [values.yaml](values.yaml) |
| configs.secret.annotations | Annotations for argocd-secret | `{}` | | configs.secret.annotations | Annotations for argocd-secret | `{}` |
| configs.secret.argocdServerAdminPassword | Bcrypt hashed admin password | `null` | | configs.secret.argocdServerAdminPassword | Bcrypt hashed admin password | `null` |
@ -76,6 +77,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i
| configs.secret.createSecret | Create the argocd-secret. | `true` | | configs.secret.createSecret | Create the argocd-secret. | `true` |
| configs.secret.githubSecret | GitHub incoming webhook secret | `""` | | configs.secret.githubSecret | GitHub incoming webhook secret | `""` |
| configs.secret.gitlabSecret | GitLab incoming webhook secret | `""` | | configs.secret.gitlabSecret | GitLab incoming webhook secret | `""` |
| configs.tlsCertsAnnotations | TLS certificate configmap annotations | `{}` |
| configs.tlsCerts.data."argocd.example.com" | TLS certificate | See [values.yaml](values.yaml) | | configs.tlsCerts.data."argocd.example.com" | TLS certificate | See [values.yaml](values.yaml) |
| configs.secret.extra | add additional secrets to be added to argocd-secret | `{}` | | configs.secret.extra | add additional secrets to be added to argocd-secret | `{}` |
| openshift.enabled | enables using arbitrary uid for argo repo server | `false` | | openshift.enabled | enables using arbitrary uid for argo repo server | `false` |
@ -86,6 +88,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i
|-----|---------|-------------| |-----|---------|-------------|
| controller.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` | | controller.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
| controller.args.operationProcessors | define the controller `--operation-processors` | `"10"` | | controller.args.operationProcessors | define the controller `--operation-processors` | `"10"` |
| controller.args.appResyncPeriod | define the controller `--app-resync` | `"180"` |
| controller.args.statusProcessors | define the controller `--status-processors` | `"20"` | | controller.args.statusProcessors | define the controller `--status-processors` | `"20"` |
| controller.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` | | controller.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` |
| controller.containerPort | Controller listening port. | `8082` | | controller.containerPort | Controller listening port. | `8082` |
@ -194,6 +197,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i
| server.certificate.enabled | Enables a certificate manager certificate. | `false` | | server.certificate.enabled | Enables a certificate manager certificate. | `false` |
| server.certificate.issuer | Certificate manager issuer | `{}` | | server.certificate.issuer | Certificate manager issuer | `{}` |
| server.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` | | server.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` |
| server.configAnnotations | ArgoCD configuration configmap annotations | `{}` |
| server.config | [General Argo CD configuration](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories) | See [values.yaml](values.yaml) | | server.config | [General Argo CD configuration](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories) | See [values.yaml](values.yaml) |
| server.containerPort | Server container port. | `8080` | | server.containerPort | Server container port. | `8080` |
| server.extraArgs | Additional arguments for the server. A list of flags. | `[]` | | server.extraArgs | Additional arguments for the server. A list of flags. | `[]` |
@ -231,6 +235,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i
| server.podAnnotations | Annotations for the server pods | `{}` | | server.podAnnotations | Annotations for the server pods | `{}` |
| server.podLabels | Labels for the server pods | `{}` | | server.podLabels | Labels for the server pods | `{}` |
| server.priorityClassName | Priority class for the server | `""` | | server.priorityClassName | Priority class for the server | `""` |
| server.rbacConfigAnnotations | RBAC configmap annotations | `{}` |
| server.rbacConfig | [Argo CD RBAC policy](https://argoproj.github.io/argo-cd/operator-manual/rbac/) | `{}` | | server.rbacConfig | [Argo CD RBAC policy](https://argoproj.github.io/argo-cd/operator-manual/rbac/) | `{}` |
| server.readinessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` | | server.readinessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
| server.readinessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` | | server.readinessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
@ -306,6 +311,7 @@ through `xxx.extraArgs`
| redis.podLabels | Labels for the Redis server pods | `{}` | | redis.podLabels | Labels for the Redis server pods | `{}` |
| redis.priorityClassName | Priority class for redis | `""` | | redis.priorityClassName | Priority class for redis | `""` |
| redis.resources | Resource limits and requests for redis | `{}` | | redis.resources | Resource limits and requests for redis | `{}` |
| redis.securityContext | Redis Pod Security Context | See [values.yaml](values.yaml) |
| redis.servicePort | Redis service port | `6379` | | redis.servicePort | Redis service port | `6379` |
| redis.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` | | redis.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
| redis-ha | Configures [Redis HA subchart](https://github.com/helm/charts/tree/master/stable/redis-ha) The properties below have been changed from the subchart defaults | | | redis-ha | Configures [Redis HA subchart](https://github.com/helm/charts/tree/master/stable/redis-ha) The properties below have been changed from the subchart defaults | |

File diff suppressed because it is too large Load diff

View file

@ -20,34 +20,37 @@ spec:
scope: Namespaced scope: Namespaced
validation: validation:
openAPIV3Schema: openAPIV3Schema:
description: 'AppProject provides a logical grouping of applications, providing description: 'AppProject provides a logical grouping of applications, providing controls for: * where the apps may deploy to (cluster whitelist) * what may be deployed (repository whitelist, resource whitelist/blacklist) * who can access these applications (roles, OIDC group claims bindings) * and what they can do (RBAC policies) * automation access to these roles (JWT tokens)'
controls for: * where the apps may deploy to (cluster whitelist) * what may
be deployed (repository whitelist, resource whitelist/blacklist) * who can
access these applications (roles, OIDC group claims bindings) * and what they
can do (RBAC policies) * automation access to these roles (JWT tokens)'
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string type: string
kind: kind:
description: 'Kind is a string value representing the REST resource this description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string type: string
metadata: metadata:
type: object type: object
spec: spec:
description: AppProjectSpec is the specification of an AppProject description: AppProjectSpec is the specification of an AppProject
properties: properties:
clusterResourceWhitelist: clusterResourceBlacklist:
description: ClusterResourceWhitelist contains list of whitelisted cluster description: ClusterResourceBlacklist contains list of blacklisted cluster level resources
level resources
items: items:
description: GroupKind specifies a Group and a Kind, but does not description: GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
force a version. This is useful for identifying concepts during properties:
lookup stages without having partially valid types group:
type: string
kind:
type: string
required:
- group
- kind
type: object
type: array
clusterResourceWhitelist:
description: ClusterResourceWhitelist contains list of whitelisted cluster level resources
items:
description: GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
properties: properties:
group: group:
type: string type: string
@ -62,29 +65,25 @@ spec:
description: Description contains optional project description description: Description contains optional project description
type: string type: string
destinations: destinations:
description: Destinations contains list of destinations available for description: Destinations contains list of destinations available for deployment
deployment
items: items:
description: ApplicationDestination contains deployment destination description: ApplicationDestination contains deployment destination information
information
properties: properties:
name:
description: Name of the destination cluster which can be used instead of server (url) field
type: string
namespace: namespace:
description: Namespace overrides the environment namespace value description: Namespace overrides the environment namespace value in the ksonnet app.yaml
in the ksonnet app.yaml
type: string type: string
server: server:
description: Server overrides the environment server value in description: Server overrides the environment server value in the ksonnet app.yaml
the ksonnet app.yaml
type: string type: string
type: object type: object
type: array type: array
namespaceResourceBlacklist: namespaceResourceBlacklist:
description: NamespaceResourceBlacklist contains list of blacklisted description: NamespaceResourceBlacklist contains list of blacklisted namespace level resources
namespace level resources
items: items:
description: GroupKind specifies a Group and a Kind, but does not description: GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
force a version. This is useful for identifying concepts during
lookup stages without having partially valid types
properties: properties:
group: group:
type: string type: string
@ -96,12 +95,9 @@ spec:
type: object type: object
type: array type: array
namespaceResourceWhitelist: namespaceResourceWhitelist:
description: NamespaceResourceWhitelist contains list of whitelisted description: NamespaceResourceWhitelist contains list of whitelisted namespace level resources
namespace level resources
items: items:
description: GroupKind specifies a Group and a Kind, but does not description: GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
force a version. This is useful for identifying concepts during
lookup stages without having partially valid types
properties: properties:
group: group:
type: string type: string
@ -113,17 +109,25 @@ spec:
type: object type: object
type: array type: array
orphanedResources: orphanedResources:
description: OrphanedResources specifies if controller should monitor description: OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
orphaned resources of apps in this project
properties: properties:
ignore:
items:
properties:
group:
type: string
kind:
type: string
name:
type: string
type: object
type: array
warn: warn:
description: Warn indicates if warning condition should be created description: Warn indicates if warning condition should be created for apps which have orphaned resources
for apps which have orphaned resources
type: boolean type: boolean
type: object type: object
roles: roles:
description: Roles are user defined RBAC roles associated with this description: Roles are user defined RBAC roles associated with this project
project
items: items:
description: ProjectRole represents a role that has access to a project description: ProjectRole represents a role that has access to a project
properties: properties:
@ -131,17 +135,14 @@ spec:
description: Description is a description of the role description: Description is a description of the role
type: string type: string
groups: groups:
description: Groups are a list of OIDC group claims bound to this description: Groups are a list of OIDC group claims bound to this role
role
items: items:
type: string type: string
type: array type: array
jwtTokens: jwtTokens:
description: JWTTokens are a list of generated JWT tokens bound description: JWTTokens are a list of generated JWT tokens bound to this role
to this role
items: items:
description: JWTToken holds the issuedAt and expiresAt values description: JWTToken holds the issuedAt and expiresAt values of a token
of a token
properties: properties:
exp: exp:
format: int64 format: int64
@ -159,8 +160,7 @@ spec:
description: Name is a name for this role description: Name is a name for this role
type: string type: string
policies: policies:
description: Policies Stores a list of casbin formated strings description: Policies Stores a list of casbin formated strings that define access policies for the role in the project
that define access policies for the role in the project
items: items:
type: string type: string
type: array type: array
@ -168,55 +168,83 @@ spec:
- name - name
type: object type: object
type: array type: array
signatureKeys:
description: List of PGP key IDs that commits to be synced to must be signed with
items:
description: SignatureKey is the specification of a key required to verify commit signatures with
properties:
keyID:
description: The ID of the key in hexadecimal notation
type: string
required:
- keyID
type: object
type: array
sourceRepos: sourceRepos:
description: SourceRepos contains list of repository URLs which can description: SourceRepos contains list of repository URLs which can be used for deployment
be used for deployment
items: items:
type: string type: string
type: array type: array
syncWindows: syncWindows:
description: SyncWindows controls when syncs can be run for apps in description: SyncWindows controls when syncs can be run for apps in this project
this project
items: items:
description: SyncWindow contains the kind, time, duration and attributes description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps
that are used to assign the syncWindows to apps
properties: properties:
applications: applications:
description: Applications contains a list of applications that description: Applications contains a list of applications that the window will apply to
the window will apply to
items: items:
type: string type: string
type: array type: array
clusters: clusters:
description: Clusters contains a list of clusters that the window description: Clusters contains a list of clusters that the window will apply to
will apply to
items: items:
type: string type: string
type: array type: array
duration: duration:
description: Duration is the amount of time the sync window will description: Duration is the amount of time the sync window will be open
be open
type: string type: string
kind: kind:
description: Kind defines if the window allows or blocks syncs description: Kind defines if the window allows or blocks syncs
type: string type: string
manualSync: manualSync:
description: ManualSync enables manual syncs when they would otherwise description: ManualSync enables manual syncs when they would otherwise be blocked
be blocked
type: boolean type: boolean
namespaces: namespaces:
description: Namespaces contains a list of namespaces that the description: Namespaces contains a list of namespaces that the window will apply to
window will apply to
items: items:
type: string type: string
type: array type: array
schedule: schedule:
description: Schedule is the time the window will begin, specified description: Schedule is the time the window will begin, specified in cron format
in cron format
type: string type: string
type: object type: object
type: array type: array
type: object type: object
status:
description: AppProjectStatus contains information about appproj
properties:
jwtTokensByRole:
additionalProperties:
properties:
items:
items:
description: JWTToken holds the issuedAt and expiresAt values of a token
properties:
exp:
format: int64
type: integer
iat:
format: int64
type: integer
id:
type: string
required:
- iat
type: object
type: array
type: object
type: object
type: object
required: required:
- metadata - metadata
- spec - spec

View file

@ -52,6 +52,8 @@ spec:
- {{ .Values.controller.args.statusProcessors | quote }} - {{ .Values.controller.args.statusProcessors | quote }}
- --operation-processors - --operation-processors
- {{ .Values.controller.args.operationProcessors | quote }} - {{ .Values.controller.args.operationProcessors | quote }}
- --app-resync
- {{ .Values.controller.args.appResyncPeriod | quote }}
- --repo-server - --repo-server
- {{ template "argo-cd.repoServer.fullname" . }}:{{ .Values.repoServer.service.port }} - {{ template "argo-cd.repoServer.fullname" . }}:{{ .Values.repoServer.service.port }}
- --loglevel - --loglevel
@ -121,3 +123,6 @@ spec:
volumes: volumes:
{{- toYaml .Values.controller.volumes | nindent 8 }} {{- toYaml .Values.controller.volumes | nindent 8 }}
{{- end }} {{- end }}
{{- if .Values.controller.priorityClassName }}
priorityClassName: {{ .Values.controller.priorityClassName }}
{{- end }}

View file

@ -9,5 +9,11 @@ metadata:
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argocd app.kubernetes.io/part-of: argocd
app.kubernetes.io/component: {{ .Values.server.name }} app.kubernetes.io/component: {{ .Values.server.name }}
{{- if .Values.server.configAnnotations }}
annotations:
{{- range $key, $value := .Values.server.configAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
data: data:
{{- toYaml .Values.server.config | nindent 4 }} {{- toYaml .Values.server.config | nindent 4 }}

View file

@ -9,6 +9,12 @@ metadata:
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argocd app.kubernetes.io/part-of: argocd
app.kubernetes.io/component: {{ .Values.server.name }} app.kubernetes.io/component: {{ .Values.server.name }}
{{- if .Values.server.rbacConfigAnnotations }}
annotations:
{{- range $key, $value := .Values.server.rbacConfigAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- if .Values.server.rbacConfig }} {{- if .Values.server.rbacConfig }}
data: data:
{{- toYaml .Values.server.rbacConfig | nindent 4 }} {{- toYaml .Values.server.rbacConfig | nindent 4 }}

View file

@ -9,4 +9,10 @@ metadata:
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argocd app.kubernetes.io/part-of: argocd
app.kubernetes.io/component: {{ .Values.server.name }} app.kubernetes.io/component: {{ .Values.server.name }}
{{- if .Values.configs.knownHostsAnnotations }}
annotations:
{{- range $key, $value := .Values.configs.knownHostsAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
name: argocd-ssh-known-hosts-cm name: argocd-ssh-known-hosts-cm

View file

@ -11,4 +11,10 @@ metadata:
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argocd app.kubernetes.io/part-of: argocd
app.kubernetes.io/component: {{ .Values.server.name }} app.kubernetes.io/component: {{ .Values.server.name }}
{{- if .Values.configs.tlsCertsAnnotations }}
annotations:
{{- range $key, $value := .Values.configs.tlsCertsAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
name: argocd-tls-certs-cm name: argocd-tls-certs-cm

View file

@ -152,3 +152,6 @@ spec:
initContainers: initContainers:
{{- toYaml .Values.repoServer.initContainers | nindent 6 }} {{- toYaml .Values.repoServer.initContainers | nindent 6 }}
{{- end }} {{- end }}
{{- if .Values.repoServer.priorityClassName }}
priorityClassName: {{ .Values.repoServer.priorityClassName }}
{{- end }}

View file

@ -151,3 +151,6 @@ spec:
name: argocd-tls-certs-cm name: argocd-tls-certs-cm
name: tls-certs name: tls-certs
{{- end }} {{- end }}
{{- if .Values.server.priorityClassName }}
priorityClassName: {{ .Values.server.priorityClassName }}
{{- end }}

View file

@ -2,6 +2,7 @@
{{- $serviceName := include "argo-cd.server.fullname" . -}} {{- $serviceName := include "argo-cd.server.fullname" . -}}
{{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingressGrpc.https -}} {{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingressGrpc.https -}}
{{- $paths := .Values.server.ingressGrpc.paths -}} {{- $paths := .Values.server.ingressGrpc.paths -}}
{{- $extraPaths := .Values.server.ingressGrpc.extraPaths -}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }} {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1beta1
{{ else }} {{ else }}
@ -33,6 +34,9 @@ spec:
- host: {{ $host }} - host: {{ $host }}
http: http:
paths: paths:
{{- if $extraPaths }}
{{- toYaml $extraPaths | nindent 10 }}
{{- end -}}
{{- range $p := $paths }} {{- range $p := $paths }}
- path: {{ $p }} - path: {{ $p }}
backend: backend:
@ -43,6 +47,9 @@ spec:
{{- else }} {{- else }}
- http: - http:
paths: paths:
{{- if $extraPaths }}
{{- toYaml $extraPaths | nindent 10 }}
{{- end -}}
{{- range $p := $paths }} {{- range $p := $paths }}
- path: {{ $p }} - path: {{ $p }}
backend: backend:

View file

@ -2,6 +2,7 @@
{{- $serviceName := include "argo-cd.server.fullname" . -}} {{- $serviceName := include "argo-cd.server.fullname" . -}}
{{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingress.https -}} {{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingress.https -}}
{{- $paths := .Values.server.ingress.paths -}} {{- $paths := .Values.server.ingress.paths -}}
{{- $extraPaths := .Values.server.ingress.extraPaths -}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }} {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1beta1
{{ else }} {{ else }}
@ -33,6 +34,9 @@ spec:
- host: {{ $host }} - host: {{ $host }}
http: http:
paths: paths:
{{- if $extraPaths }}
{{- toYaml $extraPaths | nindent 10 }}
{{- end }}
{{- range $p := $paths }} {{- range $p := $paths }}
- path: {{ $p }} - path: {{ $p }}
backend: backend:
@ -43,6 +47,9 @@ spec:
{{- else }} {{- else }}
- http: - http:
paths: paths:
{{- if $extraPaths }}
{{- toYaml $extraPaths | nindent 10 }}
{{- end }}
{{- range $p := $paths }} {{- range $p := $paths }}
- path: {{ $p }} - path: {{ $p }}
backend: backend:

View file

@ -46,5 +46,9 @@ items:
roles: roles:
{{- toYaml .roles | nindent 8 }} {{- toYaml .roles | nindent 8 }}
{{- end }} {{- end }}
{{- if .syncWindows }}
syncWindows:
{{- toYaml .syncWindows | nindent 8 }}
{{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View file

@ -103,4 +103,7 @@ spec:
volumes: volumes:
{{- toYaml .Values.dex.volumes | nindent 8}} {{- toYaml .Values.dex.volumes | nindent 8}}
{{- end }} {{- end }}
{{- if .Values.dex.priorityClassName }}
priorityClassName: {{ .Values.dex.priorityClassName }}
{{- end }}
{{- end }} {{- end }}

View file

@ -41,8 +41,8 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
automountServiceAccountToken: false automountServiceAccountToken: false
{{- if .Values.global.securityContext }} {{- if .Values.redis.securityContext }}
securityContext: {{- toYaml .Values.global.securityContext | nindent 8 }} securityContext: {{- toYaml .Values.redis.securityContext | nindent 8 }}
{{- end }} {{- end }}
containers: containers:
- name: {{ template "argo-cd.redis.fullname" . }} - name: {{ template "argo-cd.redis.fullname" . }}
@ -85,4 +85,7 @@ spec:
volumes: volumes:
{{- toYaml .Values.redis.volumes | nindent 8}} {{- toYaml .Values.redis.volumes | nindent 8}}
{{- end }} {{- end }}
{{- if .Values.redis.priorityClassName }}
priorityClassName: {{ .Values.redis.priorityClassName }}
{{- end }}
{{- end }} {{- end }}

View file

@ -10,7 +10,7 @@ installCRDs: true
global: global:
image: image:
repository: argoproj/argocd repository: argoproj/argocd
tag: v1.6.1 tag: v1.6.2
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
securityContext: {} securityContext: {}
# runAsUser: 999 # runAsUser: 999
@ -28,13 +28,14 @@ controller:
image: image:
repository: # argoproj/argocd repository: # argoproj/argocd
tag: # v1.6.1 tag: # v1.6.2
imagePullPolicy: # IfNotPresent imagePullPolicy: # IfNotPresent
## Argo controller commandline flags ## Argo controller commandline flags
args: args:
statusProcessors: "20" statusProcessors: "20"
operationProcessors: "10" operationProcessors: "10"
appResyncPeriod: "180"
## Argo controller log level ## Argo controller log level
logLevel: info logLevel: info
@ -276,6 +277,12 @@ redis:
# drop: # drop:
# - all # - all
## Redis Pod specific security context
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
runAsNonRoot: true
resources: {} resources: {}
# limits: # limits:
@ -447,6 +454,12 @@ server:
# - argocd.example.com # - argocd.example.com
paths: paths:
- / - /
extraPaths:
[]
# - path: /*
# backend:
# serviceName: ssl-redirect
# servicePort: use-annotation
tls: tls:
[] []
# - secretName: argocd-example-tls # - secretName: argocd-example-tls
@ -469,6 +482,12 @@ server:
# - argocd.example.com # - argocd.example.com
paths: paths:
- / - /
extraPaths:
[]
# - path: /*
# backend:
# serviceName: ssl-redirect
# servicePort: use-annotation
tls: tls:
[] []
# - secretName: argocd-example-tls # - secretName: argocd-example-tls
@ -515,6 +534,9 @@ server:
# - profile # - profile
# - email # - email
## Annotations to be added to ArgoCD ConfigMap
configAnnotations: {}
## ArgoCD rbac config ## ArgoCD rbac config
## reference https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md ## reference https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md
rbacConfig: rbacConfig:
@ -538,6 +560,9 @@ server:
# If omitted, defaults to: '[groups]'. The scope value can be a string, or a list of strings. # If omitted, defaults to: '[groups]'. The scope value can be a string, or a list of strings.
# scopes: '[cognito:groups, email]' # scopes: '[cognito:groups, email]'
## Annotations to be added to ArgoCD rbac ConfigMap
rbacConfigAnnotations: {}
## Not well tested and not well supported on release v1.0.0. ## Not well tested and not well supported on release v1.0.0.
## Applications ## Applications
## reference: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/ ## reference: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
@ -591,6 +616,13 @@ server:
# kind: StatefulSet # kind: StatefulSet
# orphanedResources: {} # orphanedResources: {}
# roles: [] # roles: []
# syncWindows:
# - kind: allow
# schedule: '10 1 * * *'
# duration: 1h
# applications:
# - '*-prod'
# manualSync: true
## Enable Admin ClusterRole resources. ## Enable Admin ClusterRole resources.
## Enable if you would like to grant rights to ArgoCD to deploy to the local Kubernetes cluster. ## Enable if you would like to grant rights to ArgoCD to deploy to the local Kubernetes cluster.
@ -756,6 +788,7 @@ repoServer:
## Argo Configs ## Argo Configs
configs: configs:
knownHostsAnnotations: {}
knownHosts: knownHosts:
data: data:
ssh_known_hosts: | ssh_known_hosts: |
@ -766,6 +799,7 @@ configs:
gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9 gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
tlsCertsAnnotations: {}
tlsCerts: tlsCerts:
{} {}
# data: # data:

View file

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
description: A Helm chart for Argo-CI description: A Helm chart for Argo-CI
name: argo-ci name: argo-ci
version: 0.1.6 version: 0.1.7
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
appVersion: v1.0.0-alpha2 appVersion: v1.0.0-alpha2
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm

View file

@ -33,3 +33,7 @@ spec:
ports: ports:
- containerPort: 8001 - containerPort: 8001
- containerPort: 8002 - containerPort: 8002
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}

View file

@ -2,6 +2,9 @@ imageNamespace: argoproj
ciImage: argoci ciImage: argoci
imageTag: v1.0.0-alpha2 imageTag: v1.0.0-alpha2
imagePullPolicy: Always imagePullPolicy: Always
# Secrets with credentials to pull images from a private registry
imagePullSecrets: []
# - name: argo-pull-secret
workflowNamespace: default workflowNamespace: default
argo: argo:

View file

@ -1,15 +1,17 @@
apiVersion: v1 apiVersion: v1
description: A Helm chart to install Argo-Events in k8s Cluster description: A Helm chart to install Argo-Events in k8s Cluster
name: argo-events name: argo-events
version: 0.14.0 version: 0.17.1
keywords: keywords:
- argo-events - argo-events
- sensor-controller - sensor-controller
- gateway-controller - eventsource-controller
- eventbus-controller
sources: sources:
- https://github.com/argoproj/argo-events - https://github.com/argoproj/argo-events
maintainers: maintainers:
- name: VaibhavPage - name: VaibhavPage
appVersion: 0.14.0 - name: whynowy
appVersion: 0.17.0
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm

View file

@ -2,13 +2,14 @@
This is a **community maintained** chart. It installs the [argo-events](https://github.com/argoproj/argo-events) application. This application comes packaged with: This is a **community maintained** chart. It installs the [argo-events](https://github.com/argoproj/argo-events) application. This application comes packaged with:
- Sensor Custom Resource Definition (See CRD Notes) - Sensor Custom Resource Definition (See CRD Notes)
- Gateway Custom Resource Definition (See CRD Notes)
- EventSource Custom Resource Definition (See CRD Notes) - EventSource Custom Resource Definition (See CRD Notes)
- EventBus Custom Resource Definition (See CRD Notes)
- Sensor Controller Deployment - Sensor Controller Deployment
- Sensor Controller ConfigMap - EventSource Controller Deployment
- Gateway Controller Deployment - EventBus Controller Deployment
- Gateway Controller ConfigMap
- Service Account - Service Account
- Roles
- Role Bindings
- Cluster Roles - Cluster Roles
- Cluster Role Bindings - Cluster Role Bindings
@ -16,10 +17,4 @@ This is a **community maintained** chart. It installs the [argo-events](https://
Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of this chart by using `--set installCRD=false` when installing the chart. Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of this chart by using `--set installCRD=false` when installing the chart.
You can install the CRDs manually like so: You can install the CRDs manually from `crds` folder.
```
kubectl apply -f https://github.com/argoproj/argo-events/raw/v0.14.0/hack/k8s/manifests/sensor-crd.yaml
kubectl apply -f https://github.com/argoproj/argo-events/raw/v0.14.0/hack/k8s/manifests/gateway-crd.yaml
kubectl apply -f https://github.com/argoproj/argo-events/raw/v0.14.0/hack/k8s/manifests/event-source-crd.yaml
```

View file

@ -1,16 +1,15 @@
---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
name: gateways.argoproj.io name: eventbus.argoproj.io
spec: spec:
group: argoproj.io group: argoproj.io
names: names:
kind: Gateway kind: EventBus
listKind: GatewayList listKind: EventBusList
plural: gateways plural: eventbus
singular: gateway
shortNames: shortNames:
- gw - eb
singular: eventbus
scope: Namespaced scope: Namespaced
version: "v1alpha1" version: v1alpha1

View file

@ -1,3 +1,5 @@
{{- if not .Values.singleNamespace }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
@ -43,12 +45,12 @@ rules:
- workflows/finalizers - workflows/finalizers
- workflowtemplates - workflowtemplates
- workflowtemplates/finalizers - workflowtemplates/finalizers
- gateways
- gateways/finalizers
- sensors - sensors
- sensors/finalizers - sensors/finalizers
- eventsources - eventsources
- eventsources/finalizers - eventsources/finalizers
- eventbus
- eventbus/finalizers
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
@ -83,6 +85,7 @@ rules:
- "apps" - "apps"
resources: resources:
- deployments - deployments
- statefulsets
verbs: verbs:
- create - create
- get - get
@ -92,3 +95,4 @@ rules:
- patch - patch
- delete - delete
{{- end }}

View file

@ -0,0 +1,100 @@
{{- if .Values.singleNamespace }}
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: argo-events-binding
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: argo-events-role
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount }}
namespace: {{ .Release.Namespace }}
{{- if .Values.additionalSaNamespaces }}
{{ $sa := .Values.serviceAccount }}
{{- range $namespace := .Values.additionalSaNamespaces }}
- kind: ServiceAccount
name: {{ $sa }}
namespace: {{ $namespace }}
{{- end }}
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: argo-events-role
namespace: {{ .Release.Namespace }}
rules:
{{- if .Values.additionalServiceAccountRules }}
{{ .Values.additionalServiceAccountRules | toYaml | nindent 2}}
{{- end }}
- apiGroups:
- argoproj.io
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
resources:
- workflows
- workflows/finalizers
- workflowtemplates
- workflowtemplates/finalizers
- sensors
- sensors/finalizers
- eventsources
- eventsources/finalizers
- eventbus
- eventbus/finalizers
- apiGroups:
- ""
resources:
- pods
- pods/exec
- configmaps
- secrets
- services
- events
- persistentvolumeclaims
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- "batch"
resources:
- jobs
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- "apps"
resources:
- deployments
- statefulsets
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}

View file

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.eventbusController.name }}
labels:
app: {{ .Release.Name }}-{{ .Values.eventbusController.name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.eventbusController.replicaCount }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.eventbusController.name }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.eventbusController.name }}
release: {{ .Release.Name }}
spec:
serviceAccountName: {{ .Values.serviceAccount }}
containers:
- name: {{ .Values.eventbusController.name }}
image: "{{ .Values.registry }}/{{ .Values.eventbusController.image }}:{{ .Values.eventbusController.tag }}"
imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- if .Values.singleNamespace }}
args:
- --namespaced
{{- end }}
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NATS_STREAMING_IMAGE
value: {{ .Values.eventbusController.natsStreamingImage }}
- name: NATS_METRICS_EXPORTER_IMAGE
value: {{ .Values.eventbusController.natsMetricsExporterImage }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}

View file

@ -0,0 +1,24 @@
{{- if .Values.installCRD }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: eventbus.argoproj.io
annotations:
helm.sh/hook: crd-install
helm.sh/hook-delete-policy: before-hook-creation
spec:
group: argoproj.io
names:
kind: EventBus
listKind: EventBusList
plural: eventbus
shortNames:
- eb
singular: eventbus
scope: Namespaced
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
{{- end }}

View file

@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.eventsourceController.name }}
labels:
app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.eventsourceController.replicaCount }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }}
release: {{ .Release.Name }}
spec:
serviceAccountName: {{ .Values.serviceAccount }}
containers:
- name: {{ .Values.eventsourceController.name }}
image: "{{ .Values.registry }}/{{ .Values.eventsourceController.image }}:{{ .Values.eventsourceController.tag }}"
imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- if .Values.singleNamespace }}
args:
- --namespaced
{{- end }}
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: EVENTSOURCE_IMAGE
value: "{{ .Values.registry }}/{{ .Values.eventsourceController.eventsourceImage }}:{{ .Values.eventsourceController.tag }}"
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}

View file

@ -3,6 +3,9 @@ apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
name: eventsources.argoproj.io name: eventsources.argoproj.io
annotations:
helm.sh/hook: crd-install
helm.sh/hook-delete-policy: before-hook-creation
spec: spec:
group: argoproj.io group: argoproj.io
scope: Namespaced scope: Namespaced

View file

@ -1,14 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-{{ .Values.gatewayController.name }}-configmap
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
config: |
instanceID: {{ .Values.instanceID }}
{{- if .Values.singleNamespace }}
namespace: {{ .Values.namespace }}
{{- end }}

View file

@ -1,33 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.gatewayController.name }}
labels:
app: {{ .Release.Name }}-{{ .Values.gatewayController.name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.gatewayController.replicaCount }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.gatewayController.name }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.gatewayController.name }}
release: {{ .Release.Name }}
spec:
serviceAccountName: {{ .Values.serviceAccount }}
containers:
- name: {{ .Values.gatewayController.name }}
image: "{{ .Values.registry }}/{{ .Values.gatewayController.image }}:{{ .Values.gatewayController.tag }}"
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTROLLER_CONFIG_MAP
value: {{ .Release.Name }}-{{ .Values.gatewayController.name }}-configmap

View file

@ -1,18 +0,0 @@
{{- if .Values.installCRD }}
# Define a "gateway" custom resource definition
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: gateways.argoproj.io
spec:
group: argoproj.io
names:
kind: Gateway
listKind: GatewayList
plural: gateways
singular: gateway
shortNames:
- gw
scope: Namespaced
version: "v1alpha1"
{{- end }}

View file

@ -1,14 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
config: |
instanceID: {{ .Values.instanceID }}
{{- if .Values.singleNamespace }}
namespace: {{ .Values.namespace }}
{{- end }}

View file

@ -24,10 +24,18 @@ spec:
- name: {{ .Values.sensorController.name }} - name: {{ .Values.sensorController.name }}
image: "{{ .Values.registry }}/{{ .Values.sensorController.image }}:{{ .Values.sensorController.tag }}" image: "{{ .Values.registry }}/{{ .Values.sensorController.image }}:{{ .Values.sensorController.tag }}"
imagePullPolicy: {{ .Values.imagePullPolicy }} imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- if .Values.singleNamespace }}
args:
- --namespaced
{{- end }}
env: env:
- name: NAMESPACE - name: NAMESPACE
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: CONTROLLER_CONFIG_MAP - name: SENSOR_IMAGE
value: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap value: "{{ .Values.registry }}/{{ .Values.sensorController.sensorImage }}:{{ .Values.sensorController.tag }}"
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}

View file

@ -4,6 +4,9 @@ apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
name: sensors.argoproj.io name: sensors.argoproj.io
annotations:
helm.sh/hook: crd-install
helm.sh/hook-delete-policy: before-hook-creation
spec: spec:
group: argoproj.io group: argoproj.io
names: names:

View file

@ -4,6 +4,10 @@ registry: argoproj
# The image pull policy # The image pull policy
imagePullPolicy: Always imagePullPolicy: Always
# Secrets with credentials to pull images from a private registry
imagePullSecrets: []
# - name: argo-pull-secret
# If set to false, skip installing the CRDs. Requires user to have them installed prior to helm chart installation. # If set to false, skip installing the CRDs. Requires user to have them installed prior to helm chart installation.
installCRD: true installCRD: true
@ -42,11 +46,21 @@ singleNamespace: true
sensorController: sensorController:
name: sensor-controller name: sensor-controller
image: sensor-controller image: sensor-controller
tag: v0.14.0 tag: v0.17.0
replicaCount: 1 replicaCount: 1
sensorImage: sensor
gatewayController: eventsourceController:
name: gateway-controller name: eventsource-controller
image: gateway-controller image: eventsource-controller
tag: v0.14.0 tag: v0.17.0
replicaCount: 1 replicaCount: 1
eventsourceImage: eventsource
eventbusController:
name: eventbus-controller
image: eventbus-controller
tag: v0.17.0
replicaCount: 1
natsStreamingImage: nats-streaming:0.17.0
natsMetricsExporterImage: synadia/prometheus-nats-exporter:0.6.2

View file

@ -1,8 +1,8 @@
apiVersion: v1 apiVersion: v1
appVersion: "0.8.0" appVersion: "0.8.3"
description: A Helm chart for Argo Rollouts description: A Helm chart for Argo Rollouts
name: argo-rollouts name: argo-rollouts
version: 0.3.1 version: 0.3.6
icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
maintainers: maintainers:

View file

@ -35,6 +35,10 @@ $ helm install --name my-release argo/argo-rollouts
| controller.image.repository | string | `"argoproj/argo-rollouts"` | | | controller.image.repository | string | `"argoproj/argo-rollouts"` | |
| controller.image.tag | string | `"v0.8.0"` | | | controller.image.tag | string | `"v0.8.0"` | |
| controller.name | string | `"argo-rollouts"` | | | controller.name | string | `"argo-rollouts"` | |
| controller.resources | Resource limits and requests for the controller pods. | `{}` |
| controller.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
| controller.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
| controller.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` |
| imagePullSecrets | list | `[]` | | | imagePullSecrets | list | `[]` | |
| installCRDs | bool | `true` | | | installCRDs | bool | `true` | |
| podAnnotations | object | `{}` | | | podAnnotations | object | `{}` | |

View file

@ -106,4 +106,11 @@ rules:
- watch - watch
- get - get
- update - update
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- delete
{{- end }} {{- end }}

View file

@ -40,6 +40,18 @@ spec:
mountPath: /tmp mountPath: /tmp
resources: resources:
{{- toYaml .Values.controller.resources | nindent 10 }} {{- toYaml .Values.controller.resources | nindent 10 }}
{{- if .Values.controller.nodeSelector }}
nodeSelector:
{{- toYaml .Values.controller.nodeSelector | nindent 8 }}
{{- end }}
{{- if .Values.controller.tolerations }}
tolerations:
{{- toYaml .Values.controller.tolerations | nindent 8 }}
{{- end }}
{{- if .Values.controller.affinity }}
affinity:
{{- toYaml .Values.controller.affinity | nindent 8 }}
{{- end }}
volumes: volumes:
- name: tmp - name: tmp
emptyDir: {} emptyDir: {}

View file

@ -6,6 +6,10 @@ metadata:
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/name: {{ .Release.Name }}-metrics app.kubernetes.io/name: {{ .Release.Name }}-metrics
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
annotations:
{{- range $key, $value := .Values.serviceAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec: spec:
ports: ports:
- name: metrics - name: metrics

View file

@ -5,9 +5,15 @@ clusterInstall: true
controller: controller:
name: argo-rollouts name: argo-rollouts
component: rollouts-controller component: rollouts-controller
## Node selectors and tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
##
nodeSelector: {}
tolerations: []
affinity: {}
image: image:
repository: argoproj/argo-rollouts repository: argoproj/argo-rollouts
tag: v0.8.0 tag: v0.8.3
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
@ -22,12 +28,18 @@ controller:
serviceAccount: serviceAccount:
name: argo-rollouts name: argo-rollouts
## Annotations to be added to the Redis server pods ## Annotations to be added to the Rollout pods
## ##
podAnnotations: {} podAnnotations: {}
## Labels to be added to the Redis server pods ## Annotations to be added to the Rollout service
##
serviceAnnotations: {}
## Labels to be added to the Rollout pods
## ##
podLabels: {} podLabels: {}
# Secrets with credentials to pull images from a private registry
imagePullSecrets: [] imagePullSecrets: []
# - name: argo-pull-secret

View file

@ -2,7 +2,7 @@ apiVersion: v1
appVersion: v2.8.0 appVersion: v2.8.0
description: A Helm chart for Argo Workflows description: A Helm chart for Argo Workflows
name: argo name: argo
version: 0.10.8 version: 0.10.2
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
maintainers: maintainers:

View file

@ -26,6 +26,10 @@ spec:
{{ toYaml .Values.server.podAnnotations | indent 8}}{{- end }} {{ toYaml .Values.server.podAnnotations | indent 8}}{{- end }}
spec: spec:
serviceAccountName: {{ .Values.server.serviceAccount | quote }} serviceAccountName: {{ .Values.server.serviceAccount | quote }}
{{- if .Values.server.podSecurityContext }}
securityContext:
{{- toYaml .Values.server.podSecurityContext | nindent 8 }}
{{- end }}
containers: containers:
- name: argo-server - name: argo-server
args: args:
@ -67,6 +71,10 @@ spec:
volumeMounts: volumeMounts:
{{- toYaml . | nindent 12}} {{- toYaml . | nindent 12}}
{{- end }} {{- end }}
{{- with .Values.images.pullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.server.volumes }} {{- with .Values.server.volumes }}
volumes: volumes:
{{- toYaml . | nindent 8}} {{- toYaml . | nindent 8}}

View file

@ -73,6 +73,7 @@ rules:
- events - events
verbs: verbs:
- create - create
- patch
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
@ -80,6 +81,14 @@ rules:
verbs: verbs:
- get - get
- list - list
- apiGroups:
- "policy"
resources:
- poddisruptionbudgets
verbs:
- create
- get
- delete
{{- if .Values.controller.persistence }} {{- if .Values.controller.persistence }}
- apiGroups: - apiGroups:
- "" - ""

View file

@ -16,7 +16,7 @@ data:
{{- end }} {{- end }}
{{- end }} {{- end }}
containerRuntimeExecutor: {{ .Values.controller.containerRuntimeExecutor }} containerRuntimeExecutor: {{ .Values.controller.containerRuntimeExecutor }}
{{- if or .Values.executor.resources .Values.executor.env }} {{- if or .Values.executor.resources .Values.executor.env .Values.executor.securityContext}}
executor: executor:
{{- with .Values.executor.resources }} {{- with .Values.executor.resources }}
resources: {{- toYaml . | nindent 8 }} resources: {{- toYaml . | nindent 8 }}
@ -24,6 +24,9 @@ data:
{{- with .Values.executor.env }} {{- with .Values.executor.env }}
env: {{- toYaml . | nindent 8 }} env: {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
{{- with .Values.executor.securityContext }}
securityContext: {{- toYaml . | nindent 8 }}
{{- end }}
{{- end }} {{- end }}
{{- if or .Values.minio.install .Values.useDefaultArtifactRepo }} {{- if or .Values.minio.install .Values.useDefaultArtifactRepo }}
artifactRepository: artifactRepository:

View file

@ -26,6 +26,10 @@ spec:
{{ toYaml .Values.controller.podAnnotations | indent 8}}{{- end }} {{ toYaml .Values.controller.podAnnotations | indent 8}}{{- end }}
spec: spec:
serviceAccountName: {{ .Values.controller.serviceAccount | quote }} serviceAccountName: {{ .Values.controller.serviceAccount | quote }}
{{- if .Values.controller.podSecurityContext }}
securityContext:
{{- toYaml .Values.controller.podSecurityContext | nindent 8 }}
{{- end }}
containers: containers:
- name: controller - name: controller
image: "{{ .Values.images.namespace }}/{{ .Values.images.controller }}:{{ default .Values.images.tag .Values.controller.image.tag }}" image: "{{ .Values.images.namespace }}/{{ .Values.images.controller }}:{{ default .Values.images.tag .Values.controller.image.tag }}"
@ -63,6 +67,10 @@ spec:
ports: ports:
- containerPort: 8080 - containerPort: 8080
{{- end }} {{- end }}
{{- with .Values.images.pullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.controller.nodeSelector }} {{- with .Values.controller.nodeSelector }}
nodeSelector: nodeSelector:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}

View file

@ -4,6 +4,9 @@ images:
server: argocli server: argocli
executor: argoexec executor: argoexec
pullPolicy: Always pullPolicy: Always
# Secrets with credentials to pull images from a private registry
pullSecrets: []
# - name: argo-pull-secret
tag: v2.7.6 tag: v2.7.6
crdVersion: v1alpha1 crdVersion: v1alpha1
@ -37,6 +40,8 @@ controller:
podAnnotations: {} podAnnotations: {}
# Optional labels to add to the controller pods # Optional labels to add to the controller pods
podLabels: {} podLabels: {}
# SecurityContext to set on the controller pods
podSecurityContext: {}
# podPortName: http # podPortName: http
metricsConfig: metricsConfig:
enabled: false enabled: false
@ -114,7 +119,8 @@ controller:
## Node selectors and tolerations for server scheduling to nodes with taints ## Node selectors and tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
## ##
nodeSelector: {} nodeSelector:
kubernetes.io/os: linux
tolerations: [] tolerations: []
affinity: {} affinity: {}
@ -126,6 +132,8 @@ executor:
resources: {} resources: {}
# Adds environment variables for the executor. # Adds environment variables for the executor.
env: {} env: {}
# sets security context for the executor container
securityContext: {}
server: server:
enabled: true enabled: true
@ -140,6 +148,8 @@ server:
podAnnotations: {} podAnnotations: {}
# Optional labels to add to the UI pods # Optional labels to add to the UI pods
podLabels: {} podLabels: {}
# SecurityContext to set on the server pods
podSecurityContext: {}
name: server name: server
serviceType: ClusterIP serviceType: ClusterIP
servicePort: 2746 servicePort: 2746
@ -166,7 +176,8 @@ server:
## Node selectors and tolerations for server scheduling to nodes with taints ## Node selectors and tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
## ##
nodeSelector: {} nodeSelector:
kubernetes.io/os: linux
tolerations: [] tolerations: []
affinity: {} affinity: {}

View file

@ -3,7 +3,7 @@ appVersion: 0.7.0
description: A Helm chart for ArgoCD notifications, an add-on to ArgoCD. description: A Helm chart for ArgoCD notifications, an add-on to ArgoCD.
name: argocd-notifications name: argocd-notifications
type: application type: application
version: 1.0.7 version: 1.0.11
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
keywords: keywords:

View file

@ -43,6 +43,19 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}} {{- end -}}
{{/*
Common metrics labels
*/}}
{{- define "argocd-notifications.metrics.labels" -}}
helm.sh/chart: {{ include "argocd-notifications.chart" . }}
{{ include "argocd-notifications.metrics.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/* {{/*
Common slack bot labels Common slack bot labels
*/}} */}}
@ -63,6 +76,14 @@ app.kubernetes.io/name: {{ include "argocd-notifications.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}} {{- end -}}
{{/*
Selector metrics labels
*/}}
{{- define "argocd-notifications.metrics.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argocd-notifications.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/* {{/*
Selector slack bot labels Selector slack bot labels
*/}} */}}

View file

@ -30,6 +30,9 @@ spec:
command: command:
- /app/argocd-notifications - /app/argocd-notifications
- bot - bot
ports:
- containerPort: 8080
name: http
{{- with .Values.bots.slack.nodeSelector }} {{- with .Values.bots.slack.nodeSelector }}
nodeSelector: nodeSelector:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}

View file

@ -3,12 +3,16 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ include "argocd-notifications.name" . }}-bot name: {{ include "argocd-notifications.name" . }}-bot
{{- if .Values.bots.slack.service.annotations }}
annotations:
{{- toYaml .Values.bots.slack.service.annotations | nindent 4 }}
{{- end }}
spec: spec:
ports: ports:
- name: server - name: http
port: 80 port: {{ .Values.bots.slack.service.port }}
protocol: TCP protocol: TCP
targetPort: 8080 targetPort: http
selector: selector:
{{- include "argocd-notifications.bots.slack.selectorLabels" . | nindent 4 }} {{- include "argocd-notifications.bots.slack.selectorLabels" . | nindent 4 }}
type: {{ .Values.bots.slack.service.type }} type: {{ .Values.bots.slack.service.type }}

View file

@ -12,6 +12,12 @@ spec:
{{- include "argocd-notifications.selectorLabels" . | nindent 6 }} {{- include "argocd-notifications.selectorLabels" . | nindent 6 }}
template: template:
metadata: metadata:
{{- if .Values.podAnnotations }}
annotations:
{{- range $key, $value := .Values.podAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
labels: labels:
{{- include "argocd-notifications.selectorLabels" . | nindent 8 }} {{- include "argocd-notifications.selectorLabels" . | nindent 8 }}
spec: spec:
@ -29,6 +35,19 @@ spec:
command: command:
- /app/argocd-notifications - /app/argocd-notifications
- controller - controller
- --loglevel={{ .Values.logLevel }}
{{- if .Values.metrics.enabled }}
- --metrics-port={{ .Values.metrics.port }}
{{- end }}
{{- range .Values.extraArgs }}
- {{ . | squote }}
{{- end }}
ports:
{{- if .Values.metrics.enabled }}
- containerPort: {{ .Values.metrics.port }}
name: metrics
protocol: TCP
{{- end }}
{{- with .Values.nodeSelector }} {{- with .Values.nodeSelector }}
nodeSelector: nodeSelector:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}

View file

@ -0,0 +1,15 @@
{{- if .Values.metrics.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "argocd-notifications.name" . }}-metrics
labels:
{{- include "argocd-notifications.metrics.labels" . | nindent 4 }}
spec:
selector:
{{- include "argocd-notifications.selectorLabels" . | nindent 4 }}
ports:
- name: metrics
port: {{ .Values.metrics.port }}
targetPort: {{ .Values.metrics.port }}
{{- end }}

View file

@ -0,0 +1,30 @@
{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "argocd-notifications.name" . }}-metrics
{{- if .Values.metrics.serviceMonitor.namespace }}
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
{{- end }}
labels:
{{- include "argocd-notifications.metrics.labels" . | nindent 4 }}
{{- if .Values.metrics.serviceMonitor.additionalLabels }}
{{- toYaml .Values.metrics.serviceMonitor.additionalLabels | nindent 4 }}
{{- end }}
spec:
endpoints:
- port: metrics
path: /metrics
{{- if .Values.metrics.serviceMonitor.interval }}
interval: {{ .Values.metrics.serviceMonitor.interval }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
{{- include "argocd-notifications.metrics.selectorLabels" . | nindent 6 }}
{{- end }}

View file

@ -87,6 +87,22 @@ secret:
# email address in from field # email address in from field
from: from:
logLevel: info
extraArgs: []
metrics:
enabled: false
port: 9001
serviceMonitor:
enabled: false
additionalLabels: {}
# namespace: monitoring
# interval: 30s
# scrapeTimeout: 10s
podAnnotations: {}
resources: {} resources: {}
# limits: # limits:
# cpu: 100m # cpu: 100m
@ -194,6 +210,8 @@ bots:
imagePullSecrets: [] imagePullSecrets: []
service: service:
annotations: {}
port: 80
type: LoadBalancer type: LoadBalancer
serviceAccount: serviceAccount: