Merge branch 'master' into kbialecka/ch15813/contribute-chart-updates-back-to-argo
This commit is contained in:
commit
b8ceacef7d
62 changed files with 1232 additions and 165 deletions
27
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
27
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: 'bug'
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: 'enhancement'
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
1
.github/no-response.yml
vendored
Normal file
1
.github/no-response.yml
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# See https://github.com/probot/no-response
|
1
.github/stale.yml
vendored
Normal file
1
.github/stale.yml
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# See https://github.com/probot/stale
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
output
|
output
|
||||||
.vscode
|
.vscode
|
||||||
|
.DS_Store
|
21
charts/argo-cd/.helmignore
Normal file
21
charts/argo-cd/.helmignore
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
5
charts/argo-cd/Chart.yaml
Normal file
5
charts/argo-cd/Chart.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
apiVersion: v1
|
||||||
|
appVersion: "0.12.1"
|
||||||
|
description: A Helm chart for Argo-CD
|
||||||
|
name: argo-cd
|
||||||
|
version: 0.2.1
|
13
charts/argo-cd/templates/NOTES.txt
Normal file
13
charts/argo-cd/templates/NOTES.txt
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
In order to access the server UI you have the following options:
|
||||||
|
|
||||||
|
1. kubectl port-forward svc/argocd-server -n argocd 8080:443
|
||||||
|
|
||||||
|
and then open the browser on http://localhost:8080 and accept the certificate
|
||||||
|
|
||||||
|
2. enable ingress and check the first option ssl passthrough:
|
||||||
|
https://github.com/argoproj/argo-cd/blob/master/docs/ingress.md#option-1-ssl-passthrough
|
||||||
|
|
||||||
|
After reaching the UI the first time you can login with username: admin and the password will be the
|
||||||
|
name of the server pod. You can get the pod name by running:
|
||||||
|
|
||||||
|
kubectl get pods -n argocd -l app.kubernetes.io/name={{ include "argo-cd.name" . }}-server -o name | cut -d'/' -f 2
|
32
charts/argo-cd/templates/_helpers.tpl
Normal file
32
charts/argo-cd/templates/_helpers.tpl
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride -}}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||||
|
{{- if contains $name .Release.Name -}}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{{- if .Values.clusterAdminAccess.enabled }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- '*'
|
||||||
|
resources:
|
||||||
|
- '*'
|
||||||
|
verbs:
|
||||||
|
- '*'
|
||||||
|
- nonResourceURLs:
|
||||||
|
- '*'
|
||||||
|
verbs:
|
||||||
|
- '*'
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{{- if .Values.clusterAdminAccess.enabled }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: argocd-application-controller
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argocd-application-controller
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- end -}}
|
43
charts/argo-cd/templates/argocd-application-controller-deployment.yaml
Executable file
43
charts/argo-cd/templates/argocd-application-controller-deployment.yaml
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- command:
|
||||||
|
- argocd-application-controller
|
||||||
|
- --status-processors
|
||||||
|
- "20"
|
||||||
|
- --operation-processors
|
||||||
|
- "10"
|
||||||
|
image: {{ .Values.applicationController.image.repository }}:{{ .Values.applicationController.image.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.applicationController.image.pullPolicy }}
|
||||||
|
name: argocd-application-controller
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.applicationController.containerPort }}
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: {{ .Values.applicationController.containerPort }}
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 10
|
||||||
|
serviceAccountName: argocd-application-controller
|
42
charts/argo-cd/templates/argocd-application-controller-role.yaml
Executable file
42
charts/argo-cd/templates/argocd-application-controller-role.yaml
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- argoproj.io
|
||||||
|
resources:
|
||||||
|
- applications
|
||||||
|
- appprojects
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- list
|
||||||
|
|
18
charts/argo-cd/templates/argocd-application-controller-rolebinding.yaml
Executable file
18
charts/argo-cd/templates/argocd-application-controller-rolebinding.yaml
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: argocd-application-controller
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argocd-application-controller
|
11
charts/argo-cd/templates/argocd-application-controller-sa.yaml
Executable file
11
charts/argo-cd/templates/argocd-application-controller-sa.yaml
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
17
charts/argo-cd/templates/argocd-application-controller-service.yaml
Executable file
17
charts/argo-cd/templates/argocd-application-controller-service.yaml
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: argocd-application-controller
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: application-controller
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.applicationController.servicePort }}
|
||||||
|
targetPort: {{ .Values.applicationController.containerPort }}
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
|
30
charts/argo-cd/templates/argocd-cm.yaml
Executable file
30
charts/argo-cd/templates/argocd-cm.yaml
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: argocd-cm
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
data:
|
||||||
|
{{- if .Values.config.helmRepositories }}
|
||||||
|
helm.repositories: |
|
||||||
|
{{ toYaml .Values.config.helmRepositories | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.config.repositories }}
|
||||||
|
repositories: |
|
||||||
|
{{ toYaml .Values.config.repositories | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.config.dexConfig }}
|
||||||
|
dex.config: |
|
||||||
|
{{ toYaml .Values.config.dexConfig | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.config.url }}
|
||||||
|
url: {{ .Values.config.url }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.config.oidcConfig }}
|
||||||
|
oidc.config: |
|
||||||
|
{{ toYaml .Values.config.oidcConfig | indent 4 }}
|
||||||
|
{{- end }}
|
48
charts/argo-cd/templates/argocd-dex-server-deployment.yaml
Normal file
48
charts/argo-cd/templates/argocd-dex-server-deployment.yaml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argocd-dex-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: dex-server
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: dex-server
|
||||||
|
spec:
|
||||||
|
serviceAccountName: argocd-dex-server
|
||||||
|
initContainers:
|
||||||
|
- name: copyutil
|
||||||
|
image: {{ .Values.dexServer.initImage.repository }}:{{ .Values.dexServer.initImage.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.dexServer.initImage.pullPolicy }}
|
||||||
|
command: [cp, /usr/local/bin/argocd-util, /shared]
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /shared
|
||||||
|
name: static-files
|
||||||
|
containers:
|
||||||
|
- name: dex
|
||||||
|
image: {{ .Values.dexServer.image.repository }}:{{ .Values.dexServer.image.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.dexServer.image.pullPolicy }}
|
||||||
|
command: [/shared/argocd-util, rundex]
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.dexServer.containerPortHttp }}
|
||||||
|
- containerPort: {{ .Values.dexServer.containerPortGrpc }}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /shared
|
||||||
|
name: static-files
|
||||||
|
volumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: static-files
|
21
charts/argo-cd/templates/argocd-dex-server-role.yaml
Normal file
21
charts/argo-cd/templates/argocd-dex-server-role.yaml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: argocd-dex-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: dex-server
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
18
charts/argo-cd/templates/argocd-dex-server-rolebinding.yaml
Normal file
18
charts/argo-cd/templates/argocd-dex-server-rolebinding.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: argocd-dex-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: dex-server
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: argocd-dex-server
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argocd-dex-server
|
11
charts/argo-cd/templates/argocd-dex-server-sa.yaml
Normal file
11
charts/argo-cd/templates/argocd-dex-server-sa.yaml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: argocd-dex-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: dex-server
|
23
charts/argo-cd/templates/argocd-dex-server-service.yaml
Normal file
23
charts/argo-cd/templates/argocd-dex-server-service.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: argocd-dex-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: dex-server
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.dexServer.servicePortHttp }}
|
||||||
|
targetPort: {{ .Values.dexServer.containerPortHttp }}
|
||||||
|
- name: grpc
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.dexServer.servicePortGrpc }}
|
||||||
|
targetPort: {{ .Values.dexServer.containerPortGrpc }}
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-dex-server
|
20
charts/argo-cd/templates/argocd-metrics-service.yaml
Executable file
20
charts/argo-cd/templates/argocd-metrics-service.yaml
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-metrics
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
||||||
|
name: argocd-metrics
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.server.serviceMetricsPort }}
|
||||||
|
targetPort: {{ .Values.server.containerMetricsPort }}
|
||||||
|
selector:
|
||||||
|
app: {{ include "argo-cd.name" . }}-server
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
18
charts/argo-cd/templates/argocd-rbac-cm.yaml
Executable file
18
charts/argo-cd/templates/argocd-rbac-cm.yaml
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: argocd-rbac-cm
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
data:
|
||||||
|
{{- if .Values.rbac.policyDefault }}
|
||||||
|
policy.default: {{ .Values.rbac.policyDefault }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.rbac.policyCsv }}
|
||||||
|
policy.csv:
|
||||||
|
{{- toYaml .Values.rbac.policyCsv | indent 4 }}
|
||||||
|
{{- end }}
|
38
charts/argo-cd/templates/argocd-redis-deployment.yaml
Executable file
38
charts/argo-cd/templates/argocd-redis-deployment.yaml
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argocd-redis
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-redis
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: redis
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-redis
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-redis
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: redis
|
||||||
|
spec:
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
containers:
|
||||||
|
- name: redis
|
||||||
|
args:
|
||||||
|
- --save
|
||||||
|
- ""
|
||||||
|
- --appendonly
|
||||||
|
- "no"
|
||||||
|
image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.redis.image.pullPolicy}}
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.redis.containerPort }}
|
||||||
|
|
17
charts/argo-cd/templates/argocd-redis-service.yaml
Executable file
17
charts/argo-cd/templates/argocd-redis-service.yaml
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: argocd-redis
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-redis
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: redis
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.redis.servicePort }}
|
||||||
|
targetPort: {{ .Values.redis.servicePort }}
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-redis
|
38
charts/argo-cd/templates/argocd-repo-server-deployment.yaml
Executable file
38
charts/argo-cd/templates/argocd-repo-server-deployment.yaml
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argocd-repo-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-repo-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: repo-server
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-repo-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-repo-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: repo-server
|
||||||
|
spec:
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
containers:
|
||||||
|
- name: argocd-repo-server
|
||||||
|
image: {{ .Values.repoServer.image.repository }}:{{ .Values.repoServer.image.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.repoServer.image.pullPolicy}}
|
||||||
|
command: [argocd-repo-server]
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.repoServer.containerPort }}
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: {{ .Values.repoServer.containerPort }}
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 10
|
17
charts/argo-cd/templates/argocd-repo-server-service.yaml
Executable file
17
charts/argo-cd/templates/argocd-repo-server-service.yaml
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: argocd-repo-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-repo-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: repo-server
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.repoServer.servicePort }}
|
||||||
|
targetPort: {{ .Values.repoServer.servicePort }}
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-repo-server
|
21
charts/argo-cd/templates/argocd-secret.yaml
Executable file
21
charts/argo-cd/templates/argocd-secret.yaml
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: argocd-secret
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
{{- if .Values.config.webhook.githubSecret }}
|
||||||
|
github.webhook.secret: {{ .Values.config.webhook.githubSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.config.webhook.gitlabSecret }}
|
||||||
|
gitlab.webhook.secret: {{ .Values.config.webhook.gitlabSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.config.webhook.bitbucketSecret }}
|
||||||
|
bitbucket.webhook.uuid: {{ .Values.config.webhook.bitbucketSecret }}
|
||||||
|
{{- end }}
|
59
charts/argo-cd/templates/argocd-server-deployment.yaml
Executable file
59
charts/argo-cd/templates/argocd-server-deployment.yaml
Executable file
|
@ -0,0 +1,59 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
||||||
|
spec:
|
||||||
|
serviceAccountName: argocd-server
|
||||||
|
initContainers:
|
||||||
|
- name: ui
|
||||||
|
image: {{ .Values.server.uiInitImage.repository }}:{{ .Values.server.uiInitImage.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.server.uiInitImage.pullPolicy }}
|
||||||
|
command: [cp, -r, /app, /shared]
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /shared
|
||||||
|
name: static-files
|
||||||
|
containers:
|
||||||
|
- name: argocd-server
|
||||||
|
image: {{ .Values.server.image.repository }}:{{ .Values.server.image.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.server.image.pullPolicy }}
|
||||||
|
command:
|
||||||
|
- argocd-server
|
||||||
|
- --staticassets
|
||||||
|
- /shared/app
|
||||||
|
{{- range .Values.server.extraArgs }}
|
||||||
|
- {{. | quote }}
|
||||||
|
{{- end }}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /shared
|
||||||
|
name: static-files
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.server.containerPort }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: {{ .Values.server.containerPort }}
|
||||||
|
initialDelaySeconds: 3
|
||||||
|
periodSeconds: 30
|
||||||
|
volumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: static-files
|
29
charts/argo-cd/templates/argocd-server-ingress.yaml
Normal file
29
charts/argo-cd/templates/argocd-server-ingress.yaml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{{- if .Values.ingress.enabled -}}
|
||||||
|
{{- $ingressPath := .Values.ingress.path -}}
|
||||||
|
{{- $servicePortHttps := .Values.server.servicePortHttps -}}
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
{{- with .Values.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml . | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
{{- range .Values.ingress.hosts }}
|
||||||
|
- host: {{ . | quote }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: {{ $ingressPath }}
|
||||||
|
backend:
|
||||||
|
serviceName: argocd-server
|
||||||
|
servicePort: {{ $servicePortHttps }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
45
charts/argo-cd/templates/argocd-server-role.yaml
Executable file
45
charts/argo-cd/templates/argocd-server-role.yaml
Executable file
|
@ -0,0 +1,45 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- argoproj.io
|
||||||
|
resources:
|
||||||
|
- applications
|
||||||
|
- appprojects
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- events
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- list
|
19
charts/argo-cd/templates/argocd-server-rolebinding.yaml
Executable file
19
charts/argo-cd/templates/argocd-server-rolebinding.yaml
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
||||||
|
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: argocd-server
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argocd-server
|
11
charts/argo-cd/templates/argocd-server-sa.yaml
Executable file
11
charts/argo-cd/templates/argocd-server-sa.yaml
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
26
charts/argo-cd/templates/argocd-server-service.yaml
Executable file
26
charts/argo-cd/templates/argocd-server-service.yaml
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
app.kubernetes.io/component: server
|
||||||
|
annotations:
|
||||||
|
{{ toYaml .Values.server.serviceAnnotations | indent 4}}{{- end }}
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.server.servicePortHttp }}
|
||||||
|
targetPort: {{ .Values.server.containerPort }}
|
||||||
|
- name: https
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.server.servicePortHttps }}
|
||||||
|
targetPort: {{ .Values.server.containerPort }}
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-server
|
||||||
|
|
23
charts/argo-cd/templates/crds/application-crd.yaml
Normal file
23
charts/argo-cd/templates/crds/application-crd.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
# Don't apply label due to https://github.com/argoproj/argo-cd/issues/1425
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
name: applications.argoproj.io
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": crd-install
|
||||||
|
spec:
|
||||||
|
group: argoproj.io
|
||||||
|
names:
|
||||||
|
kind: Application
|
||||||
|
plural: applications
|
||||||
|
shortNames:
|
||||||
|
- app
|
||||||
|
- apps
|
||||||
|
scope: Namespaced
|
||||||
|
version: v1alpha1
|
23
charts/argo-cd/templates/crds/appproject-crd.yaml
Normal file
23
charts/argo-cd/templates/crds/appproject-crd.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ include "argo-cd.name" . }}
|
||||||
|
helm.sh/chart: {{ include "argo-cd.chart" . }}
|
||||||
|
# Don't apply label due to https://github.com/argoproj/argo-cd/issues/1425
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/part-of: {{ include "argo-cd.name" . }}
|
||||||
|
name: appprojects.argoproj.io
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": crd-install
|
||||||
|
spec:
|
||||||
|
group: argoproj.io
|
||||||
|
names:
|
||||||
|
kind: AppProject
|
||||||
|
plural: appprojects
|
||||||
|
shortNames:
|
||||||
|
- appproj
|
||||||
|
- appprojs
|
||||||
|
scope: Namespaced
|
||||||
|
version: v1alpha1
|
144
charts/argo-cd/values.yaml
Normal file
144
charts/argo-cd/values.yaml
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
applicationController:
|
||||||
|
containerPort: 8082
|
||||||
|
servicePort: 8082
|
||||||
|
image:
|
||||||
|
repository: argoproj/argocd
|
||||||
|
tag: v0.12.1
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
server:
|
||||||
|
containerPort: 8080
|
||||||
|
servicePortHttp: 80
|
||||||
|
servicePortHttps: 443
|
||||||
|
containerMetricsPort: 8082
|
||||||
|
serviceMetricsPort: 8082
|
||||||
|
serviceAnnotations: {}
|
||||||
|
image:
|
||||||
|
repository: argoproj/argocd
|
||||||
|
tag: v0.12.1
|
||||||
|
pullPolicy: Always
|
||||||
|
uiInitImage:
|
||||||
|
repository: argoproj/argocd-ui
|
||||||
|
tag: v0.12.1
|
||||||
|
pullPolicy: Always
|
||||||
|
extraArgs: []
|
||||||
|
|
||||||
|
repoServer:
|
||||||
|
containerPort: 8081
|
||||||
|
servicePort: 8081
|
||||||
|
image:
|
||||||
|
repository: argoproj/argocd
|
||||||
|
tag: v0.12.1
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
dexServer:
|
||||||
|
containerPortHttp: 5556
|
||||||
|
containerPortGrpc: 5557
|
||||||
|
servicePortHttp: 5556
|
||||||
|
servicePortGrpc: 5557
|
||||||
|
image:
|
||||||
|
repository: quay.io/dexidp/dex
|
||||||
|
tag: v2.12.0
|
||||||
|
pullPolicy: Always
|
||||||
|
initImage:
|
||||||
|
repository: argoproj/argocd
|
||||||
|
tag: v0.12.1
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
# terminate tls at ArgoCD level
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
annotations: {}
|
||||||
|
# kubernetes.io/ingress.class: nginx
|
||||||
|
# nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
# nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||||
|
path: /
|
||||||
|
hosts:
|
||||||
|
- argocd.example.com
|
||||||
|
|
||||||
|
# Standard Argo CD installation with cluster-admin access.
|
||||||
|
# Set this true if you plan to use Argo CD to deploy applications in the same cluster that
|
||||||
|
# Argo CD runs in (i.e. kubernetes.svc.default).
|
||||||
|
# Will still be able to deploy to external clusters with inputted credentials.
|
||||||
|
|
||||||
|
clusterAdminAccess:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
config:
|
||||||
|
helmRepositories:
|
||||||
|
# - name: privateRepo
|
||||||
|
# url: http://chartmuseum.privatecloud.com
|
||||||
|
# usernameSecret:
|
||||||
|
# name: private-chartmuseum
|
||||||
|
# key: username
|
||||||
|
# passwordSecret:
|
||||||
|
# name: private-chartmuseum
|
||||||
|
# key: password
|
||||||
|
# - name: incubator
|
||||||
|
# url: https://kubernetes-charts-incubator.storage.googleapis.com/
|
||||||
|
repositories:
|
||||||
|
# - url: git@gitlab.com:usersprivategroup/users-gitops-config.git
|
||||||
|
# sshPrivateKeySecret:
|
||||||
|
# key: privateKey
|
||||||
|
# name: argocd-dev-key
|
||||||
|
# - url: git@gitlab.com:accountingprivategroup/accounting-gitops-config.git
|
||||||
|
# sshPrivateKeySecret:
|
||||||
|
# key: privateKey
|
||||||
|
# name: argocd-dev-key
|
||||||
|
dexConfig:
|
||||||
|
# # Argo CD's externally facing base URL. Required for configuring SSO
|
||||||
|
# # url: https://argo-cd-demo.argoproj.io
|
||||||
|
#
|
||||||
|
# # A dex connector configuration. See documentation on how to configure SSO:
|
||||||
|
# # https://github.com/argoproj/argo-cd/blob/master/docs/sso.md#2-configure-argocd-for-sso
|
||||||
|
# connectors:
|
||||||
|
# # GitHub example
|
||||||
|
# - type: github
|
||||||
|
# id: github
|
||||||
|
# name: GitHub
|
||||||
|
# config:
|
||||||
|
# clientID: aabbccddeeff00112233
|
||||||
|
# clientSecret: $dex.github.clientSecret
|
||||||
|
# orgs:
|
||||||
|
# - name: your-github-org
|
||||||
|
# teams:
|
||||||
|
url: # https://argocd.example.com/
|
||||||
|
oidcConfig:
|
||||||
|
# name: Okta
|
||||||
|
# issuer: https://dev-123456.oktapreview.com
|
||||||
|
# clientID: aaaabbbbccccddddeee
|
||||||
|
# clientSecret: $oidc.okta.clientSecret
|
||||||
|
# The following keys hold the shared secret for authenticating GitHub/GitLab/BitBucket webhook
|
||||||
|
# events. To enable webhooks, configure one or more of the following keys with the shared git
|
||||||
|
# provider webhook secret. The payload URL configured in the git provider should use the
|
||||||
|
# /api/webhook endpoint of your Argo CD instance (e.g. https://argocd.example.com/api/webhook)
|
||||||
|
webhook:
|
||||||
|
githubSecret:
|
||||||
|
gitlabSecret:
|
||||||
|
bitbucketSecret:
|
||||||
|
rbac:
|
||||||
|
# # An RBAC policy .csv file containing additional policy and role definitions.
|
||||||
|
# # See https://github.com/argoproj/argo-cd/blob/master/docs/rbac.md on how to write RBAC policies.
|
||||||
|
# policy.csv: |
|
||||||
|
# # Give all members of "my-org:team-alpha" the ability to sync apps in "my-project"
|
||||||
|
# p, my-org:team-alpha, applications, sync, my-project/*, allow
|
||||||
|
# # Make all members of "my-org:team-beta" admins
|
||||||
|
# g, my-org:team-beta, role:admin
|
||||||
|
policyCsv: #|
|
||||||
|
# p, role:org-admin, applications, *, */*, allow
|
||||||
|
# p, role:org-admin, clusters, get, *, allow
|
||||||
|
# p, role:org-admin, repositories, get, *, allow
|
||||||
|
# p, role:org-admin, repositories, create, *, allow
|
||||||
|
# p, role:org-admin, repositories, update, *, allow
|
||||||
|
# p, role:org-admin, repositories, delete, *, allow
|
||||||
|
# g, your-github-org:your-team, role:org-admin
|
||||||
|
# The default role Argo CD will fall back to, when authorizing API requests
|
||||||
|
policyDefault: #role:readonly
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image:
|
||||||
|
repository: redis
|
||||||
|
tag: 5.0.3
|
||||||
|
pullPolicy: Always
|
||||||
|
containerPort: 6379
|
||||||
|
servicePort: 6379
|
|
@ -1,15 +1,14 @@
|
||||||
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.2.0
|
version: 0.4.0
|
||||||
keywords:
|
keywords:
|
||||||
- argo-events
|
- argo-events
|
||||||
- sensor-controller
|
- sensor-controller
|
||||||
|
- gateway-controller
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/argoproj/argo-events
|
- https://github.com/argoproj/argo-events
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: Matt Magaldi
|
|
||||||
email: mmagaldi@blackrock.com
|
|
||||||
- name: Vaibhav Page
|
- name: Vaibhav Page
|
||||||
email: vpage@blackrock.com
|
- name: Matt Magaldi
|
||||||
appVersion: 0.1.0
|
appVersion: 0.8.1
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
# Argo-Events Helm Chart
|
# Argo-Events Helm Chart
|
||||||
This helm chart installs the [argo-events](https://github.com/argoproj/argo-events) application. This application comes packaged with:
|
This helm chart installs the [argo-events](https://github.com/argoproj/argo-events) application. This application comes packaged with:
|
||||||
- Sensor Custom Resource Definition
|
- Sensor Custom Resource Definition
|
||||||
|
- Gateway Custom Resource Definition
|
||||||
- Sensor Controller Deployment
|
- Sensor Controller Deployment
|
||||||
- Sensor Controller ConfigMap
|
- Sensor Controller ConfigMap
|
||||||
- Sensor Controller Service Account
|
- Gateway Controller Deployment
|
||||||
- Sensor Controller Cluster Roles
|
- Gateway Controller ConfigMap
|
||||||
- Sensor Controller Cluster Role Bindings
|
- Service Account
|
||||||
|
- Cluster Roles
|
||||||
|
- Cluster Role Bindings
|
||||||
Note: the associated `argo-events` cluster role and cluster role bindings can be found in the [roles](https://blade-git.blackrock.com/cloud-native/roles) repository. The purpose that these aren't included in this Helm chart is that we do not have the required permissions to create these resources in the Kubernetes clusters. Reach out to `+Group Kubernetes Support` for help in setting up these roles.
|
|
||||||
|
|
||||||
## Chart Values
|
|
||||||
|
|
|
@ -14,24 +14,3 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "sensor-crd-json" }}
|
|
||||||
{
|
|
||||||
"apiVersion": "apiextensions.k8s.io/v1beta1",
|
|
||||||
"kind": "CustomResourceDefinition",
|
|
||||||
"metadata": {
|
|
||||||
"name": "sensors.argoproj.io"
|
|
||||||
},
|
|
||||||
"spec": {
|
|
||||||
"group": "argoproj.io",
|
|
||||||
"names": {
|
|
||||||
"kind": "Sensor",
|
|
||||||
"listKind": "SensorList",
|
|
||||||
"plural": "sensors",
|
|
||||||
"singular": "sensor"
|
|
||||||
},
|
|
||||||
"scope": "Namespaced",
|
|
||||||
"version": "v1alpha1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{{- end}}
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
{{- define "sensor-crd-json" }}
|
|
||||||
{
|
|
||||||
"apiVersion": "apiextensions.k8s.io/{{ .Values.crd.version }}",
|
|
||||||
"kind": "CustomResourceDefinition",
|
|
||||||
"metadata": {
|
|
||||||
"name": "sensors.argoproj.io"
|
|
||||||
},
|
|
||||||
"spec": {
|
|
||||||
"group": "argoproj.io",
|
|
||||||
"names": {
|
|
||||||
"kind": "Sensor",
|
|
||||||
"listKind": "SensorList",
|
|
||||||
"plural": "sensors",
|
|
||||||
"singular": "sensor"
|
|
||||||
},
|
|
||||||
"scope": "Namespaced",
|
|
||||||
"version": "v1alpha1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{{- end}}
|
|
|
@ -1,19 +0,0 @@
|
||||||
apiVersion: batch/v1
|
|
||||||
kind: Job
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-apply-sensor-crd
|
|
||||||
annotations:
|
|
||||||
helm.sh/hook: pre-install
|
|
||||||
helm.sh/hook-delete-policy: hook-succeeded
|
|
||||||
spec:
|
|
||||||
backoffLimit: 5
|
|
||||||
activeDeadlineSeconds: 100
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
serviceAccountName: {{ .Values.crd.jobServiceAccount }}
|
|
||||||
containers:
|
|
||||||
- name: kubectl-apply
|
|
||||||
image: lachlanevenson/k8s-kubectl
|
|
||||||
command: ["/bin/sh"]
|
|
||||||
args: ["-c", 'echo ''{{- include "sensor-crd-json" .}}'' | kubectl apply -f -']
|
|
||||||
restartPolicy: Never
|
|
94
charts/argo-events/templates/argo-events-cluster-roles.yaml
Normal file
94
charts/argo-events/templates/argo-events-cluster-roles.yaml
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: argo-events-binding
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: argo-events-role
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argo-events-sa
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: argo-events-role
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
- apiextensions.k8s.io/v1beta1
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- deletecollection
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
- apiGroups:
|
||||||
|
- argoproj.io
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- deletecollection
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
|
resources:
|
||||||
|
- workflows
|
||||||
|
- workflows/finalizers
|
||||||
|
- gateways
|
||||||
|
- gateways/finalizers
|
||||||
|
- sensors
|
||||||
|
- sensors/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/v1"
|
||||||
|
- "apps/v1beta2"
|
||||||
|
- "apps/v1beta1"
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- delete
|
7
charts/argo-events/templates/argo-events-sa.yaml
Normal file
7
charts/argo-events/templates/argo-events-sa.yaml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# All argo-events services are bound to the "argo-events" service account.
|
||||||
|
# In RBAC enabled setups, this SA is bound to specific roles.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: argo-events-sa
|
||||||
|
namespace: {{ .Release.Namespace }}
|
|
@ -0,0 +1,14 @@
|
||||||
|
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 }}
|
|
@ -0,0 +1,33 @@
|
||||||
|
apiVersion: apps/v1beta1
|
||||||
|
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: GATEWAY_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: GATEWAY_CONTROLLER_CONFIG_MAP
|
||||||
|
value: {{ .Release.Name }}-{{ .Values.gatewayController.name }}-configmap
|
14
charts/argo-events/templates/gateway-crd.yaml
Normal file
14
charts/argo-events/templates/gateway-crd.yaml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# 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
|
||||||
|
scope: Namespaced
|
||||||
|
version: v1alpha1
|
|
@ -1,15 +0,0 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.name }}-{{ .Values.controller.name}}-cluster-role
|
|
||||||
rules:
|
|
||||||
- apiGroups: ["argoproj.io"]
|
|
||||||
resources: ["sensors"]
|
|
||||||
verbs: ["get", "list", "watch", "update", "patch"]
|
|
||||||
# The following rules define what the triggers can do
|
|
||||||
- apiGroups: ["argoproj.io"]
|
|
||||||
resources: ["workflows"]
|
|
||||||
verbs: ["create", "delete"]
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["configmaps", "secrets", "pods"]
|
|
||||||
verbs: ["get", "watch", "list", "patch"]
|
|
|
@ -1,16 +1,14 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Release.Name }}-{{ .Values.controller.name }}-configmap
|
name: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap
|
||||||
labels:
|
labels:
|
||||||
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
config: |
|
config: |
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
{{- if .Values.useReleaseAsInstanceID }}
|
|
||||||
instanceID: {{ .Release.Name }}
|
|
||||||
{{- else }}
|
|
||||||
instanceID: {{ .Values.instanceID }}
|
instanceID: {{ .Values.instanceID }}
|
||||||
{{- end }}
|
{{- if .Values.singleNamespace }}
|
||||||
|
namespace: {{ .Values.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.name }}-{{ .Values.controller.name}}-binding
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: {{ .Release.name }}-{{ .Values.controller.name}}-cluster-role
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ .Values.controller.serviceAccount }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
|
@ -1,28 +1,28 @@
|
||||||
apiVersion: apps/v1beta1
|
apiVersion: apps/v1beta1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ .Release.Name }}-{{ .Values.controller.name }}
|
name: {{ .Release.Name }}-{{ .Values.sensorController.name }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ .Release.Name }}-{{ .Values.controller.name }}
|
app: {{ .Release.Name }}-{{ .Values.sensorController.name }}
|
||||||
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.controller.replicaCount }}
|
replicas: {{ .Values.sensorController.replicaCount }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ .Release.Name }}-{{ .Values.controller.name }}
|
app: {{ .Release.Name }}-{{ .Values.sensorController.name }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: {{ .Release.Name }}-{{ .Values.controller.name }}
|
app: {{ .Release.Name }}-{{ .Values.sensorController.name }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ .Values.controller.serviceAccount }}
|
serviceAccountName: {{ .Values.serviceAccount }}
|
||||||
containers:
|
containers:
|
||||||
- name: {{ .Values.controller.name }}
|
- name: {{ .Values.sensorController.name }}
|
||||||
image: "{{ .Values.registry }}/{{ .Values.controller.image }}:{{ .Values.controller.tag }}"
|
image: "{{ .Values.registry }}/{{ .Values.sensorController.image }}:{{ .Values.sensorController.tag }}"
|
||||||
imagePullPolicy: {{ .Values.imagePullPolicy }}
|
imagePullPolicy: {{ .Values.imagePullPolicy }}
|
||||||
env:
|
env:
|
||||||
- name: SENSOR_NAMESPACE
|
- name: SENSOR_NAMESPACE
|
||||||
|
@ -30,4 +30,4 @@ spec:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
- name: SENSOR_CONFIG_MAP
|
- name: SENSOR_CONFIG_MAP
|
||||||
value: {{ .Release.Name }}-{{ .Values.controller.name }}-configmap
|
value: {{ .Release.Name }}-{{ .Values.sensorController.name }}-configmap
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ .Values.controller.serviceAccount }}
|
|
14
charts/argo-events/templates/sensor-crd.yaml
Normal file
14
charts/argo-events/templates/sensor-crd.yaml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Define a "sensor" custom resource definition
|
||||||
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: sensors.argoproj.io
|
||||||
|
spec:
|
||||||
|
group: argoproj.io
|
||||||
|
names:
|
||||||
|
kind: Sensor
|
||||||
|
listKind: SensorList
|
||||||
|
plural: sensors
|
||||||
|
singular: sensor
|
||||||
|
scope: Namespaced
|
||||||
|
version: v1alpha1
|
|
@ -1,11 +0,0 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.name }}-signals-cluster-role
|
|
||||||
rules:
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["pods"]
|
|
||||||
verbs: ["watch", "list", "patch"]
|
|
||||||
- apiGroups: {{ .Values.signals.listenRoles.apiGroups }}
|
|
||||||
resources: {{ .Values.signals.listenRoles.resources }}
|
|
||||||
verbs: ["get", "list", "watch"]
|
|
|
@ -1,12 +0,0 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.name }}-signals-binding
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: {{ .Release.name }}-signals-cluster-role
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ .Values.signals.serviceAccount }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
|
@ -1,4 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ .Values.signals.serviceAccount }}
|
|
|
@ -1,27 +1,31 @@
|
||||||
|
# docker registry
|
||||||
registry: argoproj
|
registry: argoproj
|
||||||
|
|
||||||
|
# The image pull policy
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
|
|
||||||
# Version of the Sensor CRD
|
# ServiceAccount to use for running controller.
|
||||||
crd:
|
serviceAccount: argo-events-sa
|
||||||
version: v1beta1
|
|
||||||
jobServiceAccount: default
|
|
||||||
|
|
||||||
# If set to true then chart set controller instance id to release name
|
instanceID: argo-events
|
||||||
useReleaseAsInstanceID: true
|
|
||||||
instanceID: 1
|
|
||||||
|
|
||||||
# controller
|
|
||||||
controller:
|
|
||||||
|
# set `singleNamespace` to false to have the controllers
|
||||||
|
# listen on all namespaces. Otherwise the controllers will listen
|
||||||
|
# on the namespace provided
|
||||||
|
namespace: argo-events
|
||||||
|
singleNamespace: true
|
||||||
|
|
||||||
|
# sensor controller
|
||||||
|
sensorController:
|
||||||
name: sensor-controller
|
name: sensor-controller
|
||||||
image: sensor-controller
|
image: sensor-controller
|
||||||
tag: latest
|
tag: v0.8.1
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
serviceAccount: argo-events
|
|
||||||
|
|
||||||
# signal microservices
|
gatewayController:
|
||||||
signals:
|
name: gateway-controller
|
||||||
serviceAccount: argo-signals
|
image: gateway-controller
|
||||||
# this controls what the resource signal pod can listen to
|
tag: v0.8.1
|
||||||
listenRoles:
|
replicaCount: 1
|
||||||
apiGroups: ["argoproj.io", ""]
|
|
||||||
resources: ["sensors", "workflows", "pods"]
|
|
||||||
|
|
|
@ -19,4 +19,7 @@ spec:
|
||||||
app: {{ .Release.Name }}-{{ .Values.ui.name }}
|
app: {{ .Release.Name }}-{{ .Values.ui.name }}
|
||||||
sessionAffinity: None
|
sessionAffinity: None
|
||||||
type: {{ .Values.ui.serviceType }}
|
type: {{ .Values.ui.serviceType }}
|
||||||
|
{{- if and (eq .Values.ui.serviceType "LoadBalancer") .Values.ui.loadBalancerSourceRanges }}
|
||||||
|
loadBalancerSourceRanges:
|
||||||
|
{{ toYaml .Values.ui.loadBalancerSourceRanges | indent 4 }}{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
@ -30,3 +30,6 @@ data:
|
||||||
endpoint: {{ .Values.artifactRepository.s3.endpoint | default (printf "%s-%s" .Release.Name "minio:9000") }}
|
endpoint: {{ .Values.artifactRepository.s3.endpoint | default (printf "%s-%s" .Release.Name "minio:9000") }}
|
||||||
insecure: {{ .Values.artifactRepository.s3.insecure }}
|
insecure: {{ .Values.artifactRepository.s3.insecure }}
|
||||||
{{- end}}
|
{{- end}}
|
||||||
|
{{- if .Values.controller.metricsConfig.enabled }}
|
||||||
|
metricsConfig:
|
||||||
|
{{ toYaml .Values.controller.metricsConfig | indent 6}}{{- end }}
|
||||||
|
|
|
@ -4,6 +4,7 @@ metadata:
|
||||||
name: workflows.argoproj.io
|
name: workflows.argoproj.io
|
||||||
annotations:
|
annotations:
|
||||||
helm.sh/hook: crd-install
|
helm.sh/hook: crd-install
|
||||||
|
helm.sh/hook-delete-policy: before-hook-creation
|
||||||
spec:
|
spec:
|
||||||
group: argoproj.io
|
group: argoproj.io
|
||||||
version: v1alpha1
|
version: v1alpha1
|
||||||
|
|
|
@ -15,6 +15,10 @@ init:
|
||||||
controller:
|
controller:
|
||||||
# podAnnotations is an optional map of annotations to be applied to the controller Pods
|
# podAnnotations is an optional map of annotations to be applied to the controller Pods
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
|
metricsConfig:
|
||||||
|
enabled: false
|
||||||
|
path: /metrics
|
||||||
|
port: 8080
|
||||||
serviceAccount: argo
|
serviceAccount: argo
|
||||||
name: workflow-controller
|
name: workflow-controller
|
||||||
workflowNamespaces:
|
workflowNamespaces:
|
||||||
|
@ -41,6 +45,9 @@ ui:
|
||||||
serviceAccount: argo-ui
|
serviceAccount: argo-ui
|
||||||
# Annotations to be applied to the UI Service
|
# Annotations to be applied to the UI Service
|
||||||
serviceAnnotations: {}
|
serviceAnnotations: {}
|
||||||
|
# Source ranges to allow access to service from. Only applies to
|
||||||
|
# service type `LoadBalancer`
|
||||||
|
loadBalancerSourceRanges: []
|
||||||
|
|
||||||
## Ingress configuration.
|
## Ingress configuration.
|
||||||
## ref: https://kubernetes.io/docs/user-guide/ingress/
|
## ref: https://kubernetes.io/docs/user-guide/ingress/
|
||||||
|
|
Loading…
Reference in a new issue