Commit ffc98efe by Guangbo Chen Committed by Denise Schannon

Bump etcd-operator to v0.8.4

parent b0607289
# CoreOS etcd-operator
[etcd-operator](https://coreos.com/blog/introducing-the-etcd-operator.html) Simplify etcd cluster
configuration and management.
__DISCLAIMER:__ While this chart has been well-tested, the etcd-operator is still currently in beta.
Current project status is available [here](https://github.com/coreos/etcd-operator).
## Introduction
This chart bootstraps an etcd-operator and allows the deployment of etcd-cluster(s).
{{- if .Values.deployments.backupOperator }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: etcdbackups.etcd.database.coreos.com
annotations:
"helm.sh/hook": "crd-install"
"helm.sh/hook-delete-policy": "before-hook-creation"
spec:
group: etcd.database.coreos.com
scope: Namespaced
version: v1beta2
names:
kind: EtcdBackup
listKind: EtcdBackupList
plural: etcdbackups
singular: etcdbackup
{{- end }}
{{- if and .Values.rbac.create .Values.deployments.backupOperator }}
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/{{ .Values.rbac.apiVersion }}
metadata:
name: {{ template "etcd-backup-operator.fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: {{ template "etcd-operator.name" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
subjects:
- kind: ServiceAccount
name: {{ template "etcd-backup-operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "etcd-operator.fullname" . }}
{{- end }}
{{- if and .Values.serviceAccount.backupOperatorServiceAccount.create .Values.deployments.backupOperator }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "etcd-backup-operator.serviceAccountName" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: {{ template "etcd-backup-operator.name" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
{{- end }}
{{- if .Values.deployments.etcdOperator }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: etcdclusters.etcd.database.coreos.com
annotations:
"helm.sh/hook": "crd-install"
"helm.sh/hook-delete-policy": "before-hook-creation"
spec:
group: etcd.database.coreos.com
scope: Namespaced
version: v1beta2
names:
kind: EtcdCluster
listKind: EtcdClusterList
plural: etcdclusters
shortNames:
- etcd
singular: etcdcluster
{{- end }}
{{- if .Values.deployments.restoreOperator }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: etcdrestores.etcd.database.coreos.com
annotations:
"helm.sh/hook": "crd-install"
"helm.sh/hook-delete-policy": "before-hook-creation"
spec:
group: etcd.database.coreos.com
scope: Namespaced
version: v1beta2
names:
kind: EtcdRestore
listKind: EtcdRestoreList
plural: etcdrestores
singular: etcdrestore
{{- end }}
{{- if .Values.deployments.restoreOperator }}
apiVersion: "etcd.database.coreos.com/v1beta2"
kind: "EtcdRestore"
metadata:
# An EtcdCluster with the same name will be created
name: {{ .Values.etcdCluster.name }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: {{ template "etcd-restore-operator.name" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
spec:
clusterSpec:
size: {{ .Values.etcdCluster.size }}
baseImage: "{{ .Values.etcdCluster.image.repository }}"
version: {{ .Values.etcdCluster.image.tag }}
pod:
{{ toYaml .Values.etcdCluster.pod | indent 6 }}
{{- if .Values.etcdCluster.enableTLS }}
TLS:
{{ toYaml .Values.etcdCluster.tls | indent 6 }}
{{- end }}
{{ toYaml .Values.restoreOperator.spec | indent 2 }}
{{- end }}
{{- if and .Values.rbac.create .Values.deployments.restoreOperator }}
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/{{ .Values.rbac.apiVersion }}
metadata:
name: {{ template "etcd-restore-operator.fullname" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: {{ template "etcd-restore-operator.name" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
subjects:
- kind: ServiceAccount
name: {{ template "etcd-restore-operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "etcd-operator.fullname" . }}
{{- end }}
{{- if and .Values.serviceAccount.restoreOperatorServiceAccount.create .Values.deployments.restoreOperator }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "etcd-restore-operator.serviceAccountName" . }}
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: {{ template "etcd-restore-operator.name" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
{{- end }}
apiVersion: v1 apiVersion: v1
description: CoreOS etcd-operator Helm chart for Kubernetes description: CoreOS etcd-operator Helm chart for Kubernetes
name: etcd-operator name: etcd-operator
version: 0.8.0 version: 0.9.0
appVersion: 0.9.2 appVersion: 0.9.4
home: https://github.com/coreos/etcd-operator home: https://github.com/coreos/etcd-operator
icon: https://raw.githubusercontent.com/coreos/etcd/master/logos/etcd-horizontal-color.png icon: file://../etcd-logo.png
sources: sources:
- https://github.com/coreos/etcd-operator - https://github.com/coreos/etcd-operator
maintainers: maintainers:
- name: chancez
email: chance.zibolski@coreos.com
- name: lachie83 - name: lachie83
email: lachlan@deis.com email: lachlan@deis.com
- name: alejandroEsc - name: alejandroEsc
......
approvers: approvers:
- lachie83 - lachie83
- chancez
- alejandroEsc - alejandroEsc
reviewers: reviewers:
- lachie83 - lachie83
- chancez
- alejandroEsc - alejandroEsc
# etcd-operator
[etcd-operator](https://coreos.com/blog/introducing-the-etcd-operator.html) Simplify etcd cluster configuration and management.
__DISCLAIMER:__ While this chart has been well-tested, the etcd-operator is still currently in beta. Current project status is available [here](https://github.com/coreos/etcd-operator).
## Introduction
This chart bootstraps an etcd-operator and allows the deployment of etcd-cluster(s).
### How to use it
With etcd-operator, users can now create a custom etcd cluster using custom resource definitions(CRDs) like EtcdCluster, EtcdBackup and EtcdRestore . e.g,
```YAML
apiVersion: etcd.database.coreos.com/v1beta2
kind: EtcdCluster
metadata:
name: "example-etcd-cluster"
## Adding this annotation make this cluster managed by clusterwide operators, namespaced operators ignore it
# annotations:
# etcd.database.coreos.com/scope: clusterwide
spec:
size: 3
version: "3.2.25"
```
For more details about CRD spec please refer to the [etcd-operator doc](https://github.com/coreos/etcd-operator/blob/master/doc/user/spec_examples.md).
categories: categories:
- etcd - database
- keyvalue - keyvalue
labels:
io.rancher.certified: operator
io.cattle.role: cluster
questions: questions:
- variable: defaultImage - variable: defaultImage
default: true default: true
...@@ -10,67 +13,62 @@ questions: ...@@ -10,67 +13,62 @@ questions:
show_subquestion_if: false show_subquestion_if: false
group: "Container Images" group: "Container Images"
subquestions: subquestions:
- variable: etcdCluster.image.repository - variable: deployments.image.repository
default: "quay.io/coreos/etcd" default: "ranchercharts/coreos-etcd-operator"
description: "Etcd container image"
type: string
label: Etcd Container Image Name
- variable: etcdCluster.image.tag
default: "v3.2.13"
description: "Etcd container image tag"
type: string
label: Etcd Container Image Tag
- variable: etcdOperator.image.repository
default: "quay.io/coreos/etcd-operator"
description: "Etcd operator Docker image" description: "Etcd operator Docker image"
type: string type: string
label: Etcd Operator Image Name label: Etcd Operator Image Name
- variable: etcdOperator.image.tag - variable: deployments.image.tag
default: "v0.9.2" default: "v0.9.4"
description: "Etcd operator Docker tag" description: "Etcd operator Docker tag"
type: string type: string
label: Etcd Operator Image Tag label: Etcd Operator Image Tag
- variable: backupOperator.image.repository - variable: etcdCluster.repository
default: "quay.io/coreos/etcd-operator" default: "ranchercharts/coreos-etcd"
description: "Etcd backup operator Docker image" description: "Etcd container image"
type: string
label: Etcd Backup Operator Docker Image
- variable: backupOperator.image.tag
default: "v0.9.2"
description: "Etcd backup operator Docker tag"
type: string
label: Etcd Backup Operator Docker Tag
- variable: restoreOperator.image.repository
default: "quay.io/coreos/etcd-operator"
description: "Etcd restore operator Docker image"
type: string
label: Etcd Restore Image Name
- variable: restoreOperator.image.tag
default: "v0.9.2"
description: "Etcd restore operator Docker tag"
type: string type: string
label: Etcd Restore Image Tag label: Etcd Container Image Name
- variable: deployments.etcdOperator - variable: deployments.etcdOperator
default: true default: true
description: "Deploy the etcd cluster operator" description: "Deploy the etcd-operator controller"
required: true required: true
label: Deploy the etcd Cluster Operator label: Deploy the etcd Operator
type: boolean type: boolean
show_subquestion_if: true show_subquestion_if: true
group: "Etcd Operator" group: "etcd-operators"
subquestions: subquestions:
- variable: etcdOperator.clusterwide.enabled - variable: clusterwide.enabled
default: true default: false
description: "Set etcd operator manage clusters in all namespaces (more details on https://github.com/coreos/etcd-operator/blob/master/doc/user/clusterwide.md)" description: "Set etcd operator manage clusters in all namespaces (more details on https://github.com/coreos/etcd-operator/blob/master/doc/user/clusterwide.md)"
label: Set EtcdOperator Clusterwide label: Enable Clusterwide of etcd Operator
type: boolean type: boolean
required: true required: true
- variable: etcdCluster.size - variable: deployments.backupOperator
default: true
description: "Deploy the etcd backup operator, one time deployment, delete once completed"
label: Deploy the etcd Backup Operator
type: boolean
group: "etcd-operators"
- variable: deployments.restoreOperator
default: true
description: "Deploy the etcd restore operator, one time deployment, delete once completed"
label: Deploy the etcd Restore Operator
type: boolean
group: "etcd-operators"
# enable etcd cluster configs
- variable: customResources.createEtcdClusterCRD
default: false
description: "Create a new custom etcd cluster"
label: Create a New Custom Etcd Cluster
type: boolean
group: "Etcd Cluster"
show_subquestion_if: true
subquestions:
- variable: etcdCluster.size
default: "3" default: "3"
description: "etcd cluster size" description: "set etcd cluster size"
label: Etcd Cluster Size label: Etcd Cluster Size
type: enum type: enum
group: "Etcd Cluster"
options: options:
- "3" - "3"
- "5" - "5"
...@@ -78,85 +76,41 @@ questions: ...@@ -78,85 +76,41 @@ questions:
- "9" - "9"
- "11" - "11"
required: true required: true
- variable: etcdCluster.version - variable: etcdCluster.version
default: "3.2.13" default: "3.4.0"
description: "etcd cluster version" description: "set etcd cluster version"
label: Etcd Cluster Version label: Etcd Cluster Version
type: string type: string
required: true required: true
group: "Etcd Cluster"
- variable: etcdCluster.enableTLS - variable: etcdCluster.enableTLS
default: "false" default: false
description: "Enable use of TLS" description: "Enable use of TLS"
label: Enable use of TLS label: Enable use of TLS
type: boolean type: boolean
show_subquestion_if: true
required: true required: true
group: "Etcd Cluster" group: "Etcd Cluster"
subquestions: show_if: "customResources.createEtcdClusterCRD=true"
- variable: etcdCluster.tls.static.member.peerSecret - variable: etcdCluster.tls.static.member.peerSecret
default: "" default: ""
description: "Kubernetes secret containing TLS peer certs" description: "Kubernetes secret containing TLS peer certs"
required: true required: true
label: k8s Secret Name of TLS Peer Certs label: k8s Secret Name of TLS Peer Certs
type: string type: secret
- variable: etcdCluster.tls.static.member.serverSecret show_if: "customResources.createEtcdClusterCRD=true&&etcdCluster.enableTLS=true"
group: "Etcd Cluster"
- variable: etcdCluster.tls.static.member.serverSecret
default: "" default: ""
description: "Kubernetes secret containing TLS server certs" description: "Kubernetes secret containing TLS server certs"
required: true required: true
label: k8s Secret Name of TLS Server Certs label: k8s Secret Name of TLS Server Certs
type: string type: secret
- variable: etcdCluster.tls.static.operatorSecret show_if: "customResources.createEtcdClusterCRD=true&&etcdCluster.enableTLS=true"
group: "Etcd Cluster"
- variable: etcdCluster.tls.static.operatorSecret
default: "" default: ""
description: "Kubernetes secret containing TLS client certs" description: "Kubernetes secret containing TLS client certs"
required: true required: true
label: k8s Secret Name of TLS Client Certs label: k8s Secret Name of TLS Client Certs
type: string type: secret
- variable: deployments.backupOperator show_if: "customResources.createEtcdClusterCRD=true&&etcdCluster.enableTLS=true"
default: false group: "Etcd Cluster"
description: "Deploy the etcd backup operator, one time deployment, delete once completed"
label: Deploy the etcd Backup Operator
type: boolean
show_subquestion_if: true
group: "Backup Operator"
subquestions:
- variable: backupOperator.spec.storageType
default: "S3"
description: "Storage to use for backup file, currently only S3 supported"
label: Backup Storage Type
type: enum
required: true
options:
- "S3"
- variable: backupOperator.spec.s3.s3Bucket
default: ""
description: "Bucket in S3 to store backup file"
label: Backup Bucket Name in S3
type: string
required: true
- variable: backupOperator.spec.s3.awsSecret
default: ""
description: "Name of kubernetes secrete containing aws credentials"
label: Kubernetes secrete name of AWS Credentails
type: string
required: true
- variable: deployments.restoreOperator
default: "false"
description: "Deploy the etcd restore operator, one time deployment, delete once completed"
label: Deploy the etcd Restore Operator
type: boolean
group: "Restore Operator"
show_subquestion_if: true
subquestions:
- variable: restoreOperator.spec.s3.path
default: ""
description: "Path in S3 bucket containing the backup file, The format of path must be: <s3-bucket-name>/<path-to-backup-file> # e.g: etcd-snapshot-bucket/v1/default/example-etcd-cluster/3.2.10_0000000000000001_etcd.backup"
label: Restore File Path
type: string
required: true
- variable: restoreOperator.spec.s3.awsSecret
default: ""
description: "Name of kubernetes secrete containing aws credentials"
label: Kubernetes secrete name of AWS Credentails
type: string
required: true
{{- $clusterEnabled := (and (not .Release.IsInstall) .Values.deployments.etcdOperator) -}} {{- $clusterEnabled := (and (not .Release.IsInstall) .Values.customResources.createEtcdClusterCRD) -}}
{{- if and .Release.IsInstall .Values.deployments.etcdOperator -}} {{- if and .Release.IsInstall .Values.customResources.createEtcdClusterCRD -}}
Not enabling cluster, the ThirdPartResource must be installed before you can create a Cluster. Continuing rest of normal deployment. Not enabling cluster, the ThirdPartResource must be installed before you can create a Cluster. Continuing rest of normal deployment.
{{ end -}} {{ end -}}
......
...@@ -12,12 +12,8 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this ...@@ -12,12 +12,8 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
*/}} */}}
{{- define "etcd-operator.fullname" -}} {{- define "etcd-operator.fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}} {{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- printf "%s-%s" .Release.Name .Values.etcdOperator.name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s-%s" .Release.Name $name .Values.etcdOperator.name | trunc 63 | trimSuffix "-" -}} {{- printf "%s-%s-%s" .Release.Name $name .Values.etcdOperator.name | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{- end -}}
{{- define "etcd-backup-operator.name" -}} {{- define "etcd-backup-operator.name" -}}
{{- default .Chart.Name .Values.backupOperator.name | trunc 63 | trimSuffix "-" -}} {{- default .Chart.Name .Values.backupOperator.name | trunc 63 | trimSuffix "-" -}}
...@@ -29,12 +25,8 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this ...@@ -29,12 +25,8 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
*/}} */}}
{{- define "etcd-backup-operator.fullname" -}} {{- define "etcd-backup-operator.fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}} {{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- printf "%s-%s" .Release.Name .Values.backupOperator.name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s-%s" .Release.Name $name .Values.backupOperator.name | trunc 63 | trimSuffix "-" -}} {{- printf "%s-%s-%s" .Release.Name $name .Values.backupOperator.name | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{- end -}}
{{- define "etcd-restore-operator.name" -}} {{- define "etcd-restore-operator.name" -}}
{{- default .Chart.Name .Values.restoreOperator.name | trunc 63 | trimSuffix "-" -}} {{- default .Chart.Name .Values.restoreOperator.name | trunc 63 | trimSuffix "-" -}}
...@@ -46,42 +38,16 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this ...@@ -46,42 +38,16 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
*/}} */}}
{{- define "etcd-restore-operator.fullname" -}} {{- define "etcd-restore-operator.fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}} {{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- printf "%s-%s" .Release.Name .Values.restoreOperator.name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s-%s" .Release.Name $name .Values.restoreOperator.name | trunc 63 | trimSuffix "-" -}} {{- printf "%s-%s-%s" .Release.Name $name .Values.restoreOperator.name | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{- end -}}
{{/* {{/*
Create the name of the etcd-operator service account to use Create the name of the etcd-operator service account to use
*/}} */}}
{{- define "etcd-operator.serviceAccountName" -}} {{- define "etcd-operator.serviceAccountName" -}}
{{- if .Values.serviceAccount.etcdOperatorServiceAccount.create -}} {{- if .Values.serviceAccount.create -}}
{{ default (include "etcd-operator.fullname" .) .Values.serviceAccount.etcdOperatorServiceAccount.name }} {{ default (include "etcd-operator.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.etcdOperatorServiceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the backup-operator service account to use
*/}}
{{- define "etcd-backup-operator.serviceAccountName" -}}
{{- if .Values.serviceAccount.backupOperatorServiceAccount.create -}}
{{ default (include "etcd-backup-operator.fullname" .) .Values.serviceAccount.backupOperatorServiceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.backupOperatorServiceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the restore-operator service account to use
*/}}
{{- define "etcd-restore-operator.serviceAccountName" -}}
{{- if .Values.serviceAccount.restoreOperatorServiceAccount.create -}}
{{ default (include "etcd-restore-operator.fullname" .) .Values.serviceAccount.restoreOperatorServiceAccount.name }}
{{- else -}} {{- else -}}
{{ default "default" .Values.serviceAccount.restoreOperatorServiceAccount.name }} {{ default "default" .Values.serviceAccount.name }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- if .Values.deployments.backupOperator }} {{- if .Values.customResources.createBackupCRD }}
apiVersion: "etcd.database.coreos.com/v1beta2" apiVersion: etcd.database.coreos.com/v1beta2
kind: "EtcdBackup" kind: EtcdBackup
metadata: metadata:
name: {{ template "etcd-backup-operator.fullname" . }} name: {{ template "etcd-backup-operator.fullname" . }}
labels: labels:
...@@ -11,4 +11,4 @@ metadata: ...@@ -11,4 +11,4 @@ metadata:
spec: spec:
clusterName: {{ .Values.etcdCluster.name }} clusterName: {{ .Values.etcdCluster.name }}
{{ toYaml .Values.backupOperator.spec | indent 2 }} {{ toYaml .Values.backupOperator.spec | indent 2 }}
{{- end }} {{- end}}
{{- if .Values.deployments.backupOperator }} {{- if .Values.deployments.backupOperator }}
apiVersion: apps/v1beta2 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "etcd-backup-operator.fullname" . }} name: {{ template "etcd-backup-operator.fullname" . }}
...@@ -21,11 +21,11 @@ spec: ...@@ -21,11 +21,11 @@ spec:
app: {{ template "etcd-backup-operator.fullname" . }} app: {{ template "etcd-backup-operator.fullname" . }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
spec: spec:
serviceAccountName: {{ template "etcd-backup-operator.serviceAccountName" . }} serviceAccountName: {{ template "etcd-operator.serviceAccountName" . }}
containers: containers:
- name: {{ .Values.backupOperator.name }} - name: {{ .Values.backupOperator.name }}
image: "{{ .Values.backupOperator.image.repository }}:{{ .Values.backupOperator.image.tag }}" image: "{{ .Values.deployments.image.repository }}:{{ .Values.deployments.image.tag }}"
imagePullPolicy: {{ .Values.backupOperator.image.pullPolicy }} imagePullPolicy: {{ .Values.deployments.image.pullPolicy }}
command: command:
- etcd-backup-operator - etcd-backup-operator
{{- range $key, $value := .Values.backupOperator.commandArgs }} {{- range $key, $value := .Values.backupOperator.commandArgs }}
...@@ -48,11 +48,12 @@ spec: ...@@ -48,11 +48,12 @@ spec:
cpu: {{ .Values.backupOperator.resources.cpu }} cpu: {{ .Values.backupOperator.resources.cpu }}
memory: {{ .Values.backupOperator.resources.memory }} memory: {{ .Values.backupOperator.resources.memory }}
{{- if .Values.backupOperator.nodeSelector }} {{- if .Values.backupOperator.nodeSelector }}
nodeSelector: nodeSelector: {{ toYaml .Values.backupOperator.nodeSelector | nindent 8 }}
{{ toYaml .Values.backupOperator.nodeSelector | indent 8 }} {{- end }}
{{- if .Values.backupOperator.securityContext }}
securityContext: {{ toYaml .Values.backupOperator.securityContext | nindent 8 }}
{{- end }} {{- end }}
{{- if .Values.backupOperator.tolerations }} {{- if .Values.backupOperator.tolerations }}
tolerations: tolerations: {{ toYaml .Values.backupOperator.tolerations | nindent 8 }}
{{ toYaml .Values.backupOperator.tolerations | indent 8 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if .Values.enableCRDs -}}
{{- if not (.Capabilities.APIVersions.Has "etcd.database.coreos.com/v1beta2") }}
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: etcdclusters.etcd.database.coreos.com
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": "crd-install"
spec:
conversion:
strategy: None
group: etcd.database.coreos.com
names:
kind: EtcdCluster
listKind: EtcdClusterList
plural: etcdclusters
shortNames:
- etcd
singular: etcdcluster
scope: Namespaced
version: v1beta2
versions:
- name: v1beta2
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: etcdbackups.etcd.database.coreos.com
spec:
conversion:
strategy: None
group: etcd.database.coreos.com
names:
kind: EtcdBackup
listKind: EtcdBackupList
plural: etcdbackups
singular: etcdbackup
scope: Namespaced
version: v1beta2
versions:
- name: v1beta2
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: etcdrestores.etcd.database.coreos.com
spec:
conversion:
strategy: None
group: etcd.database.coreos.com
names:
kind: EtcdRestore
listKind: EtcdRestoreList
plural: etcdrestores
singular: etcdrestore
scope: Namespaced
version: v1beta2
versions:
- name: v1beta2
served: true
storage: true
{{- end }}
{{- end -}}
{{- if .Values.deployments.etcdOperator }} {{- if .Values.customResources.createEtcdClusterCRD }}
apiVersion: etcd.database.coreos.com/v1beta2 apiVersion: etcd.database.coreos.com/v1beta2
kind: EtcdCluster kind: EtcdCluster
metadata: metadata:
name: "{{ .Values.etcdCluster.name }}" name: {{ .Values.etcdCluster.name }}
labels: labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
app: {{ template "etcd-operator.name" . }} app: {{ template "etcd-operator.name" . }}
heritage: {{ .Release.Service }} heritage: {{ .Release.Service }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
annotations:
{{- if .Values.clusterwide.enabled }} {{- if .Values.clusterwide.enabled }}
annotations:
"etcd.database.coreos.com/scope": "clusterwide" "etcd.database.coreos.com/scope": "clusterwide"
{{- end }} {{- end }}
spec: spec:
size: {{ .Values.etcdCluster.size }} size: {{ .Values.etcdCluster.size }}
version: "{{ .Values.etcdCluster.version }}" version: "{{ .Values.etcdCluster.version }}"
repository: "{{ .Values.etcdCluster.repository }}"
pod: pod:
{{ toYaml .Values.etcdCluster.pod | indent 4 }} {{ toYaml .Values.etcdCluster.pod | indent 4 }}
{{- if .Values.etcdCluster.enableTLS }} {{- if .Values.etcdCluster.enableTLS }}
......
{{- if .Values.deployments.etcdOperator }} {{- if .Values.deployments.etcdOperator }}
apiVersion: apps/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "etcd-operator.fullname" . }} name: {{ template "etcd-operator.fullname" . }}
...@@ -20,12 +20,13 @@ spec: ...@@ -20,12 +20,13 @@ spec:
labels: labels:
app: {{ template "etcd-operator.fullname" . }} app: {{ template "etcd-operator.fullname" . }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
annotations: {{ toYaml .Values.etcdOperator.podAnnotations | nindent 8}}
spec: spec:
serviceAccountName: {{ template "etcd-operator.serviceAccountName" . }} serviceAccountName: {{ template "etcd-operator.serviceAccountName" . }}
containers: containers:
- name: {{ template "etcd-operator.fullname" . }} - name: {{ template "etcd-operator.fullname" . }}
image: "{{ .Values.etcdOperator.image.repository }}:{{ .Values.etcdOperator.image.tag }}" image: "{{ .Values.deployments.image.repository }}:{{ .Values.deployments.image.tag }}"
imagePullPolicy: {{ .Values.etcdOperator.image.pullPolicy }} imagePullPolicy: {{ .Values.deployments.image.pullPolicy }}
command: command:
- etcd-operator - etcd-operator
{{- if .Values.clusterwide.enabled }} {{- if .Values.clusterwide.enabled }}
...@@ -73,11 +74,12 @@ spec: ...@@ -73,11 +74,12 @@ spec:
failureThreshold: {{ .Values.etcdOperator.readinessProbe.failureThreshold }} failureThreshold: {{ .Values.etcdOperator.readinessProbe.failureThreshold }}
{{- end }} {{- end }}
{{- if .Values.etcdOperator.nodeSelector }} {{- if .Values.etcdOperator.nodeSelector }}
nodeSelector: nodeSelector: {{ toYaml .Values.etcdOperator.nodeSelector | nindent 8 }}
{{ toYaml .Values.etcdOperator.nodeSelector | indent 8 }} {{- end }}
{{- if .Values.etcdOperator.securityContext }}
securityContext: {{ toYaml .Values.etcdOperator.securityContext | nindent 8 }}
{{- end }} {{- end }}
{{- if .Values.etcdOperator.tolerations }} {{- if .Values.etcdOperator.tolerations }}
tolerations: tolerations: {{ toYaml .Values.etcdOperator.tolerations | nindent 8 }}
{{ toYaml .Values.etcdOperator.tolerations | indent 8 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if and .Values.serviceAccount.etcdOperatorServiceAccount.create (.Values.deployments.etcdOperator) }} {{- if and .Values.serviceAccount.create .Values.deployments.etcdOperator }}
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
...@@ -8,4 +8,5 @@ metadata: ...@@ -8,4 +8,5 @@ metadata:
app: {{ template "etcd-operator.name" . }} app: {{ template "etcd-operator.name" . }}
heritage: {{ .Release.Service }} heritage: {{ .Release.Service }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
imagePullSecrets: {{ toYaml .Values.global.imagePullSecrets | nindent 2 }}
{{- end }} {{- end }}
{{- if .Values.deployments.restoreOperator }} {{- if .Values.deployments.restoreOperator }}
apiVersion: apps/v1beta2 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "etcd-restore-operator.fullname" . }} name: {{ template "etcd-restore-operator.fullname" . }}
...@@ -21,11 +21,11 @@ spec: ...@@ -21,11 +21,11 @@ spec:
app: {{ template "etcd-restore-operator.name" . }} app: {{ template "etcd-restore-operator.name" . }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
spec: spec:
serviceAccountName: {{ template "etcd-restore-operator.serviceAccountName" . }} serviceAccountName: {{ template "etcd-operator.serviceAccountName" . }}
containers: containers:
- name: {{ .Values.restoreOperator.name }} - name: {{ .Values.restoreOperator.name }}
image: "{{ .Values.restoreOperator.image.repository }}:{{ .Values.restoreOperator.image.tag }}" image: "{{ .Values.deployments.image.repository }}:{{ .Values.deployments.image.tag }}"
imagePullPolicy: {{ .Values.restoreOperator.image.pullPolicy }} imagePullPolicy: {{ .Values.deployments.image.pullPolicy }}
ports: ports:
- containerPort: {{ .Values.restoreOperator.port }} - containerPort: {{ .Values.restoreOperator.port }}
command: command:
...@@ -52,11 +52,12 @@ spec: ...@@ -52,11 +52,12 @@ spec:
cpu: {{ .Values.restoreOperator.resources.cpu }} cpu: {{ .Values.restoreOperator.resources.cpu }}
memory: {{ .Values.restoreOperator.resources.memory }} memory: {{ .Values.restoreOperator.resources.memory }}
{{- if .Values.restoreOperator.nodeSelector }} {{- if .Values.restoreOperator.nodeSelector }}
nodeSelector: nodeSelector: {{ toYaml .Values.restoreOperator.nodeSelector | nindent 8 }}
{{ toYaml .Values.restoreOperator.nodeSelector | indent 8 }} {{- end }}
{{- if .Values.restoreOperator.securityContext }}
securityContext: {{ toYaml .Values.restoreOperator.securityContext | nindent 8 }}
{{- end }} {{- end }}
{{- if .Values.restoreOperator.tolerations }} {{- if .Values.restoreOperator.tolerations }}
tolerations: tolerations: {{ toYaml .Values.restoreOperator.tolerations | nindent 8 }}
{{ toYaml .Values.restoreOperator.tolerations | indent 8 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if .Values.deployments.restoreOperator }} {{- if .Values.deployments.restoreOperator }}
---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
......
# Default values for etcd-operator. # Default values for etcd-operator.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
global:
## Reference to one or more secrets to be used when pulling images
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
imagePullSecrets: []
# - name: "image-pull-secret"
## Install Default RBAC roles and bindings ## Install Default RBAC roles and bindings
rbac: rbac:
create: true create: true
apiVersion: v1beta1 apiVersion: v1
## Service account names and whether to create them enableCRDs: true
## Service account name and whether to create it
serviceAccount: serviceAccount:
etcdOperatorServiceAccount:
create: true
name:
backupOperatorServiceAccount:
create: true
name:
restoreOperatorServiceAccount:
create: true create: true
name: name:
# Enabled to act for resources in all namespaces. More information in doc/clusterwide.md # Enabled to act for resources in all namespaces. More information in doc/clusterwide.md
clusterwide: clusterwide:
enabled: true enabled: false
# Select what to deploy # Select what to deploy
deployments: deployments:
etcdOperator: true etcdOperator: true
# one time deployment, delete once completed, # one time deployment, delete once completed,
# Ref: https://github.com/coreos/etcd-operator/blob/master/doc/user/walkthrough/backup-operator.md # Ref: https://github.com/coreos/etcd-operator/blob/master/doc/user/walkthrough/backup-operator.md
backupOperator: false backupOperator: true
# one time deployment, delete once completed # one time deployment, delete once completed
# Ref: https://github.com/coreos/etcd-operator/blob/master/doc/user/walkthrough/restore-operator.md # Ref: https://github.com/coreos/etcd-operator/blob/master/doc/user/walkthrough/restore-operator.md
restoreOperator: false restoreOperator: true
image:
repository: ranchercharts/coreos-etcd-operator
tag: v0.9.4
pullPolicy: Always
# creates custom resources, not all required,
# you could use `helm template --values <values.yaml> --name release_name ... `
# and create the resources yourself to deploy on your cluster later
customResources:
createEtcdClusterCRD: false
createBackupCRD: false
createRestoreCRD: false
# etcdOperator # etcdOperator
etcdOperator: etcdOperator:
name: etcd name: etcd-operator
replicaCount: 1 replicaCount: 1
image:
repository: quay.io/coreos/etcd-operator
tag: v0.9.2
pullPolicy: Always
resources: resources:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
...@@ -49,8 +59,7 @@ etcdOperator: ...@@ -49,8 +59,7 @@ etcdOperator:
nodeSelector: {} nodeSelector: {}
## additional command arguments go here; will be translated to `--key=value` form ## additional command arguments go here; will be translated to `--key=value` form
## e.g., analytics: true ## e.g., analytics: true
commandArgs: commandArgs: {}
create-crd: false
## Configurable health checks against the /readyz endpoint that etcd-operator exposes ## Configurable health checks against the /readyz endpoint that etcd-operator exposes
readinessProbe: readinessProbe:
enabled: false enabled: false
...@@ -66,15 +75,10 @@ etcdOperator: ...@@ -66,15 +75,10 @@ etcdOperator:
timeoutSeconds: 1 timeoutSeconds: 1
successThreshold: 1 successThreshold: 1
failureThreshold: 3 failureThreshold: 3
# backup spec # backup spec
backupOperator: backupOperator:
name: backup name: etcd-backup-operator
replicaCount: 1 replicaCount: 1
image:
repository: quay.io/coreos/etcd-operator
tag: v0.9.2
pullPolicy: Always
resources: resources:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
...@@ -88,17 +92,14 @@ backupOperator: ...@@ -88,17 +92,14 @@ backupOperator:
nodeSelector: {} nodeSelector: {}
## additional command arguments go here; will be translated to `--key=value` form ## additional command arguments go here; will be translated to `--key=value` form
## e.g., analytics: true ## e.g., analytics: true
commandArgs: commandArgs: {}
create-crd: false securityContext: {}
tolerations: {}
# restore spec # restore spec
restoreOperator: restoreOperator:
name: restore name: etcd-restore-operator
replicaCount: 1 replicaCount: 1
image:
repository: quay.io/coreos/etcd-operator
tag: v0.9.2
pullPolicy: Always
port: 19999 port: 19999
resources: resources:
cpu: 100m cpu: 100m
...@@ -114,18 +115,16 @@ restoreOperator: ...@@ -114,18 +115,16 @@ restoreOperator:
nodeSelector: {} nodeSelector: {}
## additional command arguments go here; will be translated to `--key=value` form ## additional command arguments go here; will be translated to `--key=value` form
## e.g., analytics: true ## e.g., analytics: true
commandArgs: commandArgs: {}
create-crd: false securityContext: {}
tolerations: {}
## etcd-cluster specific values ## etcd-cluster specific values
etcdCluster: etcdCluster:
name: etcd-cluster name: etcd-cluster
size: 3 size: 3
version: 3.2.13 version: 3.4.0
image: repository: ranchercharts/coreos-etcd
repository: quay.io/coreos/etcd
tag: v3.2.13
pullPolicy: Always
enableTLS: false enableTLS: false
# TLS configs # TLS configs
tls: tls:
...@@ -150,3 +149,4 @@ etcdCluster: ...@@ -150,3 +149,4 @@ etcdCluster:
## Node labels for etcd pod assignment ## Node labels for etcd pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {} nodeSelector: {}
securityContext: {}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment