Create agro helm chart

This commit is contained in:
Alexander Matyushentsev 2018-01-02 16:45:35 -08:00
parent 5456fd1e8b
commit b2f8f0c283
12 changed files with 175 additions and 0 deletions

View file

@ -0,0 +1,19 @@
1. Make sure Workflow CRD is created by running:
echo '{"apiVersion": "apiextensions.k8s.io/v1beta1","kind": "CustomResourceDefinition", "metadata": {"name": "workflows.argoproj.io"},
"spec": {"group": "argoproj.io","names":
{"kind": "Workflow","listKind": "WorkflowList","plural": "workflows","shortNames": ["wf"],"singular": "workflow"}, "scope": "Namespaced","version": "v1alpha1"}}' \
| kubectl create -f -
2. Get Argo UI external IP/domain by running:
kubectl get services -o wide | grep {{ .Release.Name }}-{{ .Values.uiName }}
{{ if .Values.installMinio }}
3. Access Minio UI and create bucket '{{ .Values.minioBucketName }}'. Minio UI is available on port 9000 and available via external URL. URL might be retrieved using following
command:
kubectl get services -o wide | grep {{ .Release.Name }}-minio-svc
{{ end }}

View file

@ -0,0 +1,16 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "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).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View file

@ -0,0 +1,21 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.uiName}}
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.uiName}}
release: {{ .Release.Name }}
spec:
containers:
- name: ui
image: "{{ .Values.imagesNamespace }}/{{ .Values.uiImage }}:{{ .Values.imagesTag }}"
env:
- name: IN_CLUSTER
value: "true"

View file

@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-{{ .Values.uiName}}
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8001
selector:
app: {{ .Release.Name }}-{{ .Values.uiName}}
sessionAffinity: None
type: LoadBalancer

View file

@ -0,0 +1,24 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-{{ .Values.controllerName}}-configmap
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
config: |
artifactRepository:
{{ if .Values.installMinio }}
s3:
accessKeySecret:
key: accesskey
name: {{ .Release.Name }}-minio-user
bucket: {{ .Values.minioBucketName }}
endpoint: {{ .Release.Name }}-minio-svc:9000
insecure: true
secretKeySecret:
key: secretkey
name: {{ .Release.Name }}-minio-user
{{ end }}
executorImage: "{{ .Values.imagesNamespace }}/{{ .Values.executorImage }}:{{ .Values.imagesTag }}"

View file

@ -0,0 +1,27 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.controllerName}}
labels:
app: {{ .Release.Name }}-{{ .Values.controllerName}}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.controllerName}}
release: {{ .Release.Name }}
spec:
containers:
- name: controller
image: "{{ .Values.imagesNamespace }}/{{ .Values.controllerImage }}:{{ .Values.imagesTag }}"
command: [ "workflow-controller" ]
args: ["--configmap", "{{ .Release.Name }}-{{ .Values.controllerName}}-configmap"]
env:
- name: ARGO_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace