Parameterize the dex server
This commit is contained in:
parent
2d1905c807
commit
5320ac33c6
6 changed files with 173 additions and 49 deletions
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
|
|
@ -29,6 +29,20 @@ repoServer:
|
||||||
tag: v0.11.0
|
tag: v0.11.0
|
||||||
pullPolicy: Always
|
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.11.0
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
# Standard Argo CD installation with cluster-admin access.
|
# 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
|
# 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).
|
# Argo CD runs in (i.e. kubernetes.svc.default).
|
||||||
|
@ -39,42 +53,42 @@ clusterAdminAccess:
|
||||||
|
|
||||||
config:
|
config:
|
||||||
helmRepositories:
|
helmRepositories:
|
||||||
- name: privateRepo
|
# - name: privateRepo
|
||||||
url: http://chartmuseum.privatecloud.com
|
# url: http://chartmuseum.privatecloud.com
|
||||||
usernameSecret:
|
# usernameSecret:
|
||||||
name: private-chartmuseum
|
# name: private-chartmuseum
|
||||||
key: username
|
# key: username
|
||||||
passwordSecret:
|
# passwordSecret:
|
||||||
name: private-chartmuseum
|
# name: private-chartmuseum
|
||||||
key: password
|
# key: password
|
||||||
- name: incubator
|
# - name: incubator
|
||||||
url: https://kubernetes-charts-incubator.storage.googleapis.com/
|
# url: https://kubernetes-charts-incubator.storage.googleapis.com/
|
||||||
repositories:
|
repositories:
|
||||||
- url: git@gitlab.com:usersprivategroup/users-gitops-config.git
|
# - url: git@gitlab.com:usersprivategroup/users-gitops-config.git
|
||||||
sshPrivateKeySecret:
|
# sshPrivateKeySecret:
|
||||||
key: privateKey
|
# key: privateKey
|
||||||
name: argocd-dev-key
|
# name: argocd-dev-key
|
||||||
- url: git@gitlab.com:accountingprivategroup/accounting-gitops-config.git
|
# - url: git@gitlab.com:accountingprivategroup/accounting-gitops-config.git
|
||||||
sshPrivateKeySecret:
|
# sshPrivateKeySecret:
|
||||||
key: privateKey
|
# key: privateKey
|
||||||
name: argocd-dev-key
|
# name: argocd-dev-key
|
||||||
dexConfig:
|
dexConfig:
|
||||||
# # Argo CD's externally facing base URL. Required for configuring SSO
|
# # Argo CD's externally facing base URL. Required for configuring SSO
|
||||||
# # url: https://argo-cd-demo.argoproj.io
|
# # url: https://argo-cd-demo.argoproj.io
|
||||||
#
|
#
|
||||||
# # A dex connector configuration. See documentation on how to configure SSO:
|
# # 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
|
# # https://github.com/argoproj/argo-cd/blob/master/docs/sso.md#2-configure-argocd-for-sso
|
||||||
connectors:
|
# connectors:
|
||||||
# GitHub example
|
# # GitHub example
|
||||||
- type: github
|
# - type: github
|
||||||
id: github
|
# id: github
|
||||||
name: GitHub
|
# name: GitHub
|
||||||
config:
|
# config:
|
||||||
clientID: aabbccddeeff00112233
|
# clientID: aabbccddeeff00112233
|
||||||
clientSecret: $dex.github.clientSecret
|
# clientSecret: $dex.github.clientSecret
|
||||||
orgs:
|
# orgs:
|
||||||
- name: your-github-org
|
# - name: your-github-org
|
||||||
teams:
|
# teams:
|
||||||
# The following keys hold the shared secret for authenticating GitHub/GitLab/BitBucket webhook
|
# 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
|
# 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
|
# provider webhook secret. The payload URL configured in the git provider should use the
|
||||||
|
@ -91,24 +105,13 @@ rbac:
|
||||||
# p, my-org:team-alpha, applications, sync, my-project/*, allow
|
# p, my-org:team-alpha, applications, sync, my-project/*, allow
|
||||||
# # Make all members of "my-org:team-beta" admins
|
# # Make all members of "my-org:team-beta" admins
|
||||||
# g, my-org:team-beta, role:admin
|
# g, my-org:team-beta, role:admin
|
||||||
policyCsv: |
|
policyCsv: #|
|
||||||
p, role:org-admin, applications, *, */*, allow
|
# p, role:org-admin, applications, *, */*, allow
|
||||||
p, role:org-admin, clusters, get, *, allow
|
# p, role:org-admin, clusters, get, *, allow
|
||||||
p, role:org-admin, repositories, get, *, allow
|
# p, role:org-admin, repositories, get, *, allow
|
||||||
p, role:org-admin, repositories, create, *, allow
|
# p, role:org-admin, repositories, create, *, allow
|
||||||
p, role:org-admin, repositories, update, *, allow
|
# p, role:org-admin, repositories, update, *, allow
|
||||||
p, role:org-admin, repositories, delete, *, allow
|
# p, role:org-admin, repositories, delete, *, allow
|
||||||
g, your-github-org:your-team, role:org-admin
|
# g, your-github-org:your-team, role:org-admin
|
||||||
# The default role Argo CD will fall back to, when authorizing API requests
|
# The default role Argo CD will fall back to, when authorizing API requests
|
||||||
policyDefault: role:readonly
|
policyDefault: #role:readonly
|
||||||
resources: {}
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
Loading…
Reference in a new issue