feat: Add chart for argo-rollouts (#226)

pull/237/head
Seiya Muramatsu 2020-02-13 03:57:25 +09:00 committed by GitHub
parent 7a3120bed9
commit 560263569f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 11177 additions and 0 deletions

View File

@ -0,0 +1,11 @@
apiVersion: v1
appVersion: "0.7"
description: A Helm chart for Argo Rollouts
name: argo-rollouts
version: 0.1.0
icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png
home: https://github.com/argoproj/argo-helm
maintainers:
- name: alexmt
- name: dthomson25
- name: jessesuen

View File

@ -0,0 +1,32 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "argo-rollouts.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-rollouts.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-rollouts.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@ -0,0 +1,77 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-aggregate-to-view
labels:
rbac.authorization.k8s.io/aggregate-to-view: "true"
app.kubernetes.io/component: aggregate-cluster-role
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-view
app.kubernetes.io/part-of: {{ .Release.Name }}
rules:
- apiGroups:
- argoproj.io
resources:
- rollouts
- experiments
- analysistemplates
- analysisruns
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-aggregate-to-edit
labels:
rbac.authorization.k8s.io/aggregate-to-edit: "true"
app.kubernetes.io/component: aggregate-cluster-role
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-edit
app.kubernetes.io/part-of: {{ .Release.Name }}
rules:
- apiGroups:
- argoproj.io
resources:
- rollouts
- experiments
- analysistemplates
- analysisruns
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-aggregate-to-admin
labels:
rbac.authorization.k8s.io/aggregate-to-admin: "true"
app.kubernetes.io/component: aggregate-cluster-role
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-admin
app.kubernetes.io/part-of: {{ .Release.Name }}
rules:
- apiGroups:
- argoproj.io
resources:
- rollouts
- experiments
- analysistemplates
- analysisruns
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch

View File

@ -0,0 +1,91 @@
{{- if .Values.clusterInstall }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-clusterrole
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-clusterrole
app.kubernetes.io/part-of: {{ .Release.Name }}
rules:
- apiGroups:
- apps
resources:
- replicasets
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- patch
- apiGroups:
- argoproj.io
resources:
- rollouts
verbs:
- get
- list
- watch
- update
- patch
- apiGroups:
- argoproj.io
resources:
- analysisruns
- experiments
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- argoproj.io
resources:
- analysistemplates
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- update
- patch
- apiGroups:
- networking.istio.io
resources:
- virtualservices
verbs:
- watch
- get
- update
{{- end }}

View File

@ -0,0 +1,18 @@
{{- if .Values.clusterInstall }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ .Release.Name }}-clusterrolebinding
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-clusterrolebinding
app.kubernetes.io/part-of: {{ .Release.Name }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ .Release.Name }}-clusterrole
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.name }}
namespace: {{ .Release.Namespace }}
{{- end }}

View File

@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ .Release.Name }}
spec:
serviceAccountName: {{ .Values.serviceAccount.name }}
containers:
- command:
- "/bin/rollouts-controller"
image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}"
imagePullPolicy: {{ .Values.controller.image.pullPolicy }}
name: {{ .Values.controller.name }}
volumeMounts:
- name: tmp
mountPath: /tmp
volumes:
- name: tmp
emptyDir: {}
strategy:
type: Recreate

View File

@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-metrics
labels:
app.kubernetes.io/component: server
app.kubernetes.io/name: {{ .Release.Name }}-metrics
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
ports:
- name: metrics
protocol: TCP
port: 8090
targetPort: 8090
selector:
app.kubernetes.io/name: {{ .Release.Name }}

View File

@ -0,0 +1,87 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-role
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-role
app.kubernetes.io/part-of: {{ .Release.Name }}
rules:
- apiGroups:
- apps
resources:
- replicasets
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- patch
- apiGroups:
- argoproj.io
resources:
- rollouts
verbs:
- get
- list
- watch
- update
- patch
- apiGroups:
- argoproj.io
resources:
- analysisruns
- experiments
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- argoproj.io
resources:
- analysistemplates
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- update
- patch
- apiGroups:
- ""
resources:
- secrets
verbs:
- get

View File

@ -0,0 +1,15 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-role-binding
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-role-binding
app.kubernetes.io/part-of: {{ .Release.Name }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-role
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.name }}

View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.name }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
installCRDs: true
clusterInstall: true
controller:
name: argo-rollouts
component: rollouts-controller
image:
repository: argoproj/argo-rollouts
tag: v0.7.0
pullPolicy: IfNotPresent
serviceAccount:
name: argo-rollouts