Skip to content

Commit

Permalink
Promote elasticsearch-curator to stable (helm#8613)
Browse files Browse the repository at this point in the history
* Promote elasticsearch-curator to stable

Signed-off-by: Pete Brown <[email protected]>

* Fix references to incubator/elasticsearch-curator

Signed-off-by: Pete Brown <[email protected]>
  • Loading branch information
rendhalver authored and wgiddens committed Jan 18, 2019
1 parent dea53a8 commit 820c9d9
Show file tree
Hide file tree
Showing 12 changed files with 351 additions and 8 deletions.
9 changes: 3 additions & 6 deletions incubator/elasticsearch-curator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# moved to stable
deprecated: true
apiVersion: v1
appVersion: "5.5.4"
description: A Helm chart for Elasticsearch Curator
name: elasticsearch-curator
version: 0.4.1
version: 0.4.2
home: https://github.com/elastic/curator
keywords:
- curator
Expand All @@ -11,8 +13,3 @@ keywords:
sources:
- https://github.com/kubernetes/charts/incubator/elasticsearch-curator
- https://github.com/pires/docker-elasticsearch-curator
maintainers:
- name: tmestdagh
email: [email protected]
- name: gianrubio
email: [email protected]
4 changes: 3 additions & 1 deletion incubator/elasticsearch-curator/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# Elasticsearch Curator Helm Chart

**Note - this chart has been deprecated and [moved to stable](../../stable/elasticsearch-curator)**.

This directory contains a Kubernetes chart to deploy the [Elasticsearch Curator](https://github.com/elastic/curator).

## Prerequisites Details

* Elasticsearch

* The `elasticsearch-curator` cron job requires [K8s CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) support:
* The `elasticsearch-curator` cron job requires [K8s CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) support:
> You need a working Kubernetes cluster at version >= 1.8 (for CronJob). For previous versions of cluster (< 1.8) you need to explicitly enable `batch/v2alpha1` API by passing `--runtime-config=batch/v2alpha1=true` to the API server ([see Turn on or off an API version for your cluster for more](https://kubernetes.io/docs/admin/cluster-management/#turn-on-or-off-an-api-version-for-your-cluster)).
## Chart Details
Expand Down
7 changes: 6 additions & 1 deletion incubator/elasticsearch-curator/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
A CronJob will run with schedule {{ .Values.cronjob.schedule }}.

***
Please note that this chart has been deprecated and moved to stable.
Going forward please use the stable version of this chart.
***

The Jobs will not be removed automagically when deleting this Helm chart.
To remove these jobs, run the following :

kubectl -n {{ .Release.Namespace }} delete job -l app={{ template "elasticsearch-curator.name" . }},release={{ .Release.Name }}
kubectl -n {{ .Release.Namespace }} delete job -l app={{ template "elasticsearch-curator.name" . }},release={{ .Release.Name }}
21 changes: 21 additions & 0 deletions stable/elasticsearch-curator/.helmignore
Original file line number Diff line number Diff line change
@@ -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
18 changes: 18 additions & 0 deletions stable/elasticsearch-curator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
appVersion: "5.5.4"
description: A Helm chart for Elasticsearch Curator
name: elasticsearch-curator
version: 1.0.0
home: https://github.com/elastic/curator
keywords:
- curator
- elasticsearch
- elasticsearch-curator
sources:
- https://github.com/kubernetes/charts/elasticsearch-curator
- https://github.com/pires/docker-elasticsearch-curator
maintainers:
- name: tmestdagh
email: [email protected]
- name: gianrubio
email: [email protected]
6 changes: 6 additions & 0 deletions stable/elasticsearch-curator/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
approvers:
- tmestdagh
- gianrubio
reviewers:
- tmestdagh
- gianrubio
52 changes: 52 additions & 0 deletions stable/elasticsearch-curator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Elasticsearch Curator Helm Chart

This directory contains a Kubernetes chart to deploy the [Elasticsearch Curator](https://github.com/elastic/curator).

## Prerequisites Details

* Elasticsearch

* The `elasticsearch-curator` cron job requires [K8s CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) support:
> You need a working Kubernetes cluster at version >= 1.8 (for CronJob). For previous versions of cluster (< 1.8) you need to explicitly enable `batch/v2alpha1` API by passing `--runtime-config=batch/v2alpha1=true` to the API server ([see Turn on or off an API version for your cluster for more](https://kubernetes.io/docs/admin/cluster-management/#turn-on-or-off-an-api-version-for-your-cluster)).
## Chart Details

This chart will do the following:

* Create a CronJob which runs the Curator

## Installing the Chart

To install the chart, use the following:

```console
$ helm install stable/elasticsearch-curator
```

## Configuration

The following table lists the configurable parameters of the docker-registry chart and
their default values.

| Parameter | Description | Default |
| :----------------------------------- | :---------------------------------------------------- | :------------------------------------------- |
| `image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `image.repository` | Container image to use | `quay.io/pires/docker-elasticsearch-curator` |
| `image.tag` | Container image tag to deploy | `5.5.4` |
| `cronjob.schedule` | Schedule for the CronJob | `0 1 * * *` |
| `cronjob.annotations` | Annotations to add to the cronjob | {} |
| `cronjob.concurrencyPolicy` | `Allow|Forbid|Replace` concurrent jobs | `nil` |
| `cronjob.failedJobsHistoryLimit` | Specify the number of failed Jobs to keep | `nil` |
| `cronjob.successfulJobsHistoryLimit` | Specify the number of completed Jobs to keep | `nil` |
| `pod.annotations` | Annotations to add to the pod | {} |
| `config.elasticsearch.hosts` | Array of Elasticsearch hosts to curate | - CHANGEME.host |
| `config.elasticsearch.port` | Elasticsearch port to connect too | 9200 |
| `configMaps.action_file_yml` | Contents of the Curator action_file.yml | See values.yaml |
| `configMaps.config_yml` | Contents of the Curator config.yml (overrides config) | See values.yaml |
| `resources` | Resource requests and limits | {} |
| `priorityClassName` | priorityClassName | `nil` |
| `extraVolumeMounts` | Mount extra volume(s), | |
| `extraVolumes` | Extra volumes | |

Specify each parameter using the `--set key=value[,key=value]` argument to
`helm install`.
6 changes: 6 additions & 0 deletions stable/elasticsearch-curator/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
A CronJob will run with schedule {{ .Values.cronjob.schedule }}.

The Jobs will not be removed automagically when deleting this Helm chart.
To remove these jobs, run the following :

kubectl -n {{ .Release.Namespace }} delete job -l app={{ template "elasticsearch-curator.name" . }},release={{ .Release.Name }}
44 changes: 44 additions & 0 deletions stable/elasticsearch-curator/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{{/* vim: set filetype=mustache: */}}

{{/*
Return the appropriate apiVersion for cronjob APIs.
*/}}
{{- define "cronjob.apiVersion" -}}
{{- if semverCompare "< 1.8-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "batch/v2alpha1" }}
{{- else if semverCompare ">=1.8-0" .Capabilities.KubeVersion.GitVersion -}}
{{- print "batch/v1beta1" }}
{{- end -}}
{{- end -}}

{{/*
Expand the name of the chart.
*/}}
{{- define "elasticsearch-curator.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 "elasticsearch-curator.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 "elasticsearch-curator.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
21 changes: 21 additions & 0 deletions stable/elasticsearch-curator/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "elasticsearch-curator.fullname" . }}-config
labels:
app: {{ template "elasticsearch-curator.name" . }}
chart: {{ template "elasticsearch-curator.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
action_file.yml: {{ toYaml .Values.configMaps.action_file_yml | indent 2 }}
{{ if .Values.configMaps.config_yml }}
config.yml: {{ toYaml .Values.configMaps.config_yml | indent 2 }}
{{ else }}
config.yml: |
client:
hosts:
- {{ range .Values.config.elasticsearch.hosts }} {{ . }} {{ end }}
port: {{ .Values.config.elasticsearch.port }}
{{ end }}

73 changes: 73 additions & 0 deletions stable/elasticsearch-curator/templates/cronjob.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
apiVersion: {{ template "cronjob.apiVersion" . }}
kind: CronJob
metadata:
name: {{ template "elasticsearch-curator.fullname" . }}
labels:
app: {{ template "elasticsearch-curator.name" . }}
chart: {{ template "elasticsearch-curator.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
annotations:
{{ toYaml .Values.cronjob.annotations | indent 4 }}
spec:
schedule: "{{ .Values.cronjob.schedule }}"
{{- with .Values.cronjob.concurrencyPolicy }}
concurrencyPolicy: {{ . }}
{{- end }}
{{- with .Values.cronjob.failedJobsHistoryLimit }}
failedJobsHistoryLimit: {{ . }}
{{- end }}
{{- with .Values.cronjob.successfulJobsHistoryLimit }}
successfulJobsHistoryLimit: {{ . }}
{{- end }}
jobTemplate:
metadata:
labels:
app: {{ template "elasticsearch-curator.name" . }}
release: {{ .Release.Name }}
spec:
template:
metadata:
labels:
app: {{ template "elasticsearch-curator.name" . }}
release: {{ .Release.Name }}
annotations:
{{ toYaml .Values.pod.annotations | indent 12 }}
spec:
volumes:
- name: config-volume
configMap:
name: {{ template "elasticsearch-curator.fullname" . }}-config
{{- if .Values.extraVolumes }}
{{ toYaml .Values.extraVolumes | indent 12 }}
{{- end }}
restartPolicy: Never
{{- if .Values.priorityClassName }}
priorityClassName: "{{ .Values.priorityClassName }}"
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
volumeMounts:
- name: config-volume
mountPath: /etc/es-curator
{{- if .Values.extraVolumeMounts }}
{{ toYaml .Values.extraVolumeMounts | indent 16 }}
{{- end }}
command: [ "curator" ]
args: [ "--config", "/etc/es-curator/config.yml", "/etc/es-curator/action_file.yml" ]
resources:
{{ toYaml .Values.resources | indent 16 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 12 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 12 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 12 }}
{{- end }}
Loading

0 comments on commit 820c9d9

Please sign in to comment.