Commit 8094d891 authored by Will JALLET's avatar Will JALLET 💸

Update elasticsearch, elastic-stack, logstash, and sonarqube

parent c690bae6
Pipeline #4517 passed with stage
in 8 seconds
......@@ -3,7 +3,7 @@ description: A Helm chart for ELK
home: https://www.elastic.co/products
icon: https://www.elastic.co/assets/bltb35193323e8f1770/logo-elastic-stack-lt.svg
name: elastic-stack
version: 0.9.0
version: 0.9.1
appVersion: 6.0
maintainers:
- name: rendhalver
......
dependencies:
- name: elasticsearch
repository: https://kubernetes-charts-incubator.storage.googleapis.com/
version: 1.2.0
version: 1.7.2
- name: kibana
repository: https://kubernetes-charts.storage.googleapis.com/
version: 0.6.0
version: 0.13.1
- name: logstash
repository: https://kubernetes-charts-incubator.storage.googleapis.com/
version: 0.6.3
......
File mode changed from 100755 to 100644
appVersion: 6.3.1
name: elasticsearch
home: https://www.elastic.co/products/elasticsearch
version: 1.7.3
appVersion: 6.4.1
description: Flexible and powerful open source, distributed real-time search and analytics
engine.
home: https://www.elastic.co/products/elasticsearch
icon: https://static-www.elastic.co/assets/blteb1c97719574938d/logo-elastic-elasticsearch-lt.svg
maintainers:
- email: christian@jetstack.io
name: simonswine
- email: michael.haselton@gmail.com
name: icereval
- email: pete.brown@powerhrg.com
name: rendhalver
name: elasticsearch
sources:
- https://www.elastic.co/products/elasticsearch
- https://github.com/jetstack/elasticsearch-pet
......@@ -18,4 +12,10 @@ sources:
- https://github.com/GoogleCloudPlatform/elasticsearch-docker
- https://github.com/clockworksoul/helm-elasticsearch
- https://github.com/pires/kubernetes-elasticsearch-cluster
version: 1.4.0
maintainers:
- name: simonswine
email: christian@jetstack.io
- name: icereval
email: michael.haselton@gmail.com
- name: rendhalver
email: pete.brown@powerhrg.com
approvers:
- simonswine
- icereval
- rendhalver
reviewers:
- simonswine
- icereval
- rendhalver
......@@ -62,15 +62,15 @@ The following table lists the configurable parameters of the elasticsearch chart
| Parameter | Description | Default |
| ------------------------------------ | ------------------------------------------------------------------- | ------------------------------------ |
| `appVersion` | Application Version (Elasticsearch) | `6.3.1` |
| `appVersion` | Application Version (Elasticsearch) | `6.4.1` |
| `image.repository` | Container image name | `docker.elastic.co/elasticsearch/elasticsearch-oss` |
| `image.tag` | Container image tag | `6.3.1` |
| `image.tag` | Container image tag | `6.4.1` |
| `image.pullPolicy` | Container pull policy | `Always` |
| `cluster.name` | Cluster name | `elasticsearch` |
| `cluster.kubernetesDomain` | Kubernetes cluster domain name | `cluster.local` |
| `cluster.xpackEnable` | Writes the X-Pack configuration options to the configuration file | `false` |
| `cluster.config` | Additional cluster config appended | `{}` |
| `cluster.env` | Cluster environment variables | `{}` |
| `cluster.keystoreSecret` | Name of secret holding secure config options in an es keystore | `nil` |
| `cluster.env` | Cluster environment variables | `{MINIMUM_MASTER_NODES: "2"}` |
| `client.name` | Client component name | `client` |
| `client.replicas` | Client node replicas (deployment) | `2` |
| `client.resources` | Client node resources requests & limits | `{} - cpu limit must be an integer` |
......@@ -78,9 +78,11 @@ The following table lists the configurable parameters of the elasticsearch chart
| `client.heapSize` | Client node heap size | `512m` |
| `client.podAnnotations` | Client Deployment annotations | `{}` |
| `client.nodeSelector` | Node labels for client pod assignment | `{}` |
| `client.tolerations` | Client tolerations | `{}` |
| `client.tolerations` | Client tolerations | `[]` |
| `client.serviceAnnotations` | Client Service annotations | `{}` |
| `client.serviceType` | Client service type | `ClusterIP` |
| `client.loadBalancerIP` | Client loadBalancerIP | `{}` |
| `client.loadBalancerSourceRanges` | Client loadBalancerSourceRanges | `{}` |
| `master.exposeHttp` | Expose http port 9200 on master Pods for monitoring, etc | `false` |
| `master.name` | Master component name | `master` |
| `master.replicas` | Master node replicas (deployment) | `2` |
......@@ -88,7 +90,7 @@ The following table lists the configurable parameters of the elasticsearch chart
| `master.priorityClassName` | Master priorityClass | `nil` |
| `master.podAnnotations` | Master Deployment annotations | `{}` |
| `master.nodeSelector` | Node labels for master pod assignment | `{}` |
| `master.tolerations` | Master tolerations | `{}` |
| `master.tolerations` | Master tolerations | `[]` |
| `master.heapSize` | Master node heap size | `512m` |
| `master.name` | Master component name | `master` |
| `master.persistence.enabled` | Master persistent enabled/disabled | `true` |
......@@ -97,7 +99,7 @@ The following table lists the configurable parameters of the elasticsearch chart
| `master.persistence.storageClass` | Master persistent volume Class | `nil` |
| `master.persistence.accessMode` | Master persistent Access Mode | `ReadWriteOnce` |
| `data.exposeHttp` | Expose http port 9200 on data Pods for monitoring, etc | `false` |
| `data.replicas` | Data node replicas (statefulset) | `3` |
| `data.replicas` | Data node replicas (statefulset) | `2` |
| `data.resources` | Data node resources requests & limits | `{} - cpu limit must be an integer` |
| `data.priorityClassName` | Data priorityClass | `nil` |
| `data.heapSize` | Data node heap size | `1536m` |
......@@ -108,7 +110,7 @@ The following table lists the configurable parameters of the elasticsearch chart
| `data.persistence.accessMode` | Data persistent Access Mode | `ReadWriteOnce` |
| `data.podAnnotations` | Data StatefulSet annotations | `{}` |
| `data.nodeSelector` | Node labels for data pod assignment | `{}` |
| `data.tolerations` | Data tolerations | `{}` |
| `data.tolerations` | Data tolerations | `[]` |
| `data.terminationGracePeriodSeconds` | Data termination grace period (seconds) | `3600` |
| `data.antiAffinity` | Data anti-affinity policy | `soft` |
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -78,7 +78,7 @@ spec:
- name: NODE_MASTER
value: "false"
- name: DISCOVERY_SERVICE
value: {{ template "elasticsearch.fullname" . }}-discovery.{{ .Release.Namespace }}.svc.{{ .Values.cluster.kubernetesDomain }}
value: {{ template "elasticsearch.fullname" . }}-discovery
- name: PROCESSORS
valueFrom:
resourceFieldRef:
......@@ -121,8 +121,25 @@ spec:
- mountPath: /usr/share/elasticsearch/config/log4j2.properties
name: config
subPath: log4j2.properties
{{- end }}
{{- if .Values.cluster.keystoreSecret }}
- name: keystore
mountPath: "/usr/share/elasticsearch/config/elasticsearch.keystore"
subPath: elasticsearch.keystore
readOnly: true
{{- end }}
{{- if .Values.image.pullSecrets }}
imagePullSecrets:
{{- range $pullSecret := .Values.image.pullSecrets }}
- name: {{ $pullSecret }}
{{- end }}
{{- end }}
volumes:
- name: config
configMap:
name: {{ template "elasticsearch.fullname" . }}
{{- if .Values.cluster.keystoreSecret }}
- name: keystore
secret:
secretName: {{ .Values.cluster.keystoreSecret }}
{{- end }}
File mode changed from 100755 to 100644
......@@ -23,3 +23,12 @@ spec:
component: "{{ .Values.client.name }}"
release: {{ .Release.Name }}
type: {{ .Values.client.serviceType }}
{{- if .Values.client.loadBalancerIP }}
loadBalancerIP: "{{ .Values.client.loadBalancerIP }}"
{{- end }}
{{if .Values.client.loadBalancerSourceRanges}}
loadBalancerSourceRanges:
{{range $rangeList := .Values.client.loadBalancerSourceRanges}}
- {{ $rangeList }}
{{end}}
{{end}}
\ No newline at end of file
......@@ -73,8 +73,8 @@ data:
gateway.recover_after_time: ${RECOVER_AFTER_TIME:5m}
gateway.recover_after_master_nodes: ${RECOVER_AFTER_MASTER_NODES:2}
gateway.recover_after_data_nodes: ${RECOVER_AFTER_DATA_NODES:1}
{{- if .Values.cluster.config }}
{{ toYaml .Values.cluster.config | indent 4 }}
{{- with .Values.cluster.config }}
{{ toYaml . | indent 4 }}
{{- end }}
{{- if hasPrefix "2." .Values.image.tag }}
logging.yml: |-
......@@ -117,10 +117,11 @@ data:
{{- end }}
pre-stop-hook.sh: |-
#!/bin/bash
exec &> >(tee -a "/var/log/elasticsearch-hooks.log")
NODE_NAME=${HOSTNAME}
echo "Prepare to migrate data of the node ${NODE_NAME}"
echo "Move all data from node ${NODE_NAME}"
curl -s -XPUT -H 'Content-Type: application/json' 'localhost:9200/_cluster/settings' -d "{
curl -s -XPUT -H 'Content-Type: application/json' '{{ template "elasticsearch.client.fullname" . }}:9200/_cluster/settings' -d "{
\"transient\" :{
\"cluster.routing.allocation.exclude._name\" : \"${NODE_NAME}\"
}
......@@ -129,7 +130,7 @@ data:
while true ; do
echo -e "Wait for node ${NODE_NAME} to become empty"
SHARDS_ALLOCATION=$(curl -s -XGET 'http://localhost:9200/_cat/shards')
SHARDS_ALLOCATION=$(curl -s -XGET 'http://{{ template "elasticsearch.client.fullname" . }}:9200/_cat/shards')
if ! echo "${SHARDS_ALLOCATION}" | grep -E "${NODE_NAME}"; then
break
fi
......@@ -138,14 +139,15 @@ data:
echo "Node ${NODE_NAME} is ready to shutdown"
post-start-hook.sh: |-
#!/bin/bash
exec &> >(tee -a "/var/log/elasticsearch-hooks.log")
NODE_NAME=${HOSTNAME}
CLUSTER_SETTINGS=$(curl -s -XGET "http://localhost:9200/_cluster/settings")
CLUSTER_SETTINGS=$(curl -s -XGET "http://{{ template "elasticsearch.client.fullname" . }}:9200/_cluster/settings")
if echo "${CLUSTER_SETTINGS}" | grep -E "${NODE_NAME}"; then
echo "Activate node ${NODE_NAME}"
curl -s -XPUT -H 'Content-Type: application/json' "http://localhost:9200/_cluster/settings" -d "{
curl -s -XPUT -H 'Content-Type: application/json' "http://{{ template "elasticsearch.client.fullname" . }}:9200/_cluster/settings" -d "{
\"transient\" :{
\"cluster.routing.allocation.exclude._name\" : null
}
}"
fi
echo "Node ${NODE_NAME} is ready to be used"
\ No newline at end of file
echo "Node ${NODE_NAME} is ready to be used"
File mode changed from 100755 to 100644
......@@ -84,7 +84,7 @@ spec:
- name: elasticsearch
env:
- name: DISCOVERY_SERVICE
value: {{ template "elasticsearch.fullname" . }}-discovery.{{ .Release.Namespace }}.svc.{{ .Values.cluster.kubernetesDomain }}
value: {{ template "elasticsearch.fullname" . }}-discovery
- name: NODE_MASTER
value: "false"
- name: PROCESSORS
......@@ -135,6 +135,12 @@ spec:
- name: config
mountPath: /post-start-hook.sh
subPath: post-start-hook.sh
{{- if .Values.cluster.keystoreSecret }}
- name: keystore
mountPath: "/usr/share/elasticsearch/config/elasticsearch.keystore"
subPath: elasticsearch.keystore
readOnly: true
{{- end }}
lifecycle:
preStop:
exec:
......@@ -143,14 +149,28 @@ spec:
exec:
command: ["/bin/bash","/post-start-hook.sh"]
terminationGracePeriodSeconds: {{ .Values.data.terminationGracePeriodSeconds }}
{{- if .Values.image.pullSecrets }}
imagePullSecrets:
{{- range $pullSecret := .Values.image.pullSecrets }}
- name: {{ $pullSecret }}
{{- end }}
{{- end }}
volumes:
- name: config
configMap:
name: {{ template "elasticsearch.fullname" . }}
{{- if .Values.cluster.keystoreSecret }}
- name: keystore
secret:
secretName: {{ .Values.cluster.keystoreSecret }}
{{- end }}
{{- if not .Values.data.persistence.enabled }}
- name: data
emptyDir: {}
{{- else }}
{{- end }}
updateStrategy:
type: {{ .Values.data.updateStrategy.type }}
{{- if .Values.data.persistence.enabled }}
volumeClaimTemplates:
- metadata:
name: {{ .Values.data.persistence.name }}
......
File mode changed from 100755 to 100644
......@@ -90,7 +90,7 @@ spec:
value: "false"
{{- end }}
- name: DISCOVERY_SERVICE
value: {{ template "elasticsearch.fullname" . }}-discovery.{{ .Release.Namespace }}.svc.{{ .Values.cluster.kubernetesDomain }}
value: {{ template "elasticsearch.fullname" . }}-discovery
- name: PROCESSORS
valueFrom:
resourceFieldRef:
......@@ -132,15 +132,35 @@ spec:
- mountPath: /usr/share/elasticsearch/config/log4j2.properties
name: config
subPath: log4j2.properties
{{- end }}
{{- if .Values.cluster.keystoreSecret }}
- name: keystore
mountPath: "/usr/share/elasticsearch/config/elasticsearch.keystore"
subPath: elasticsearch.keystore
readOnly: true
{{- end }}
{{- if .Values.image.pullSecrets }}
imagePullSecrets:
{{- range $pullSecret := .Values.image.pullSecrets }}
- name: {{ $pullSecret }}
{{- end }}
{{- end }}
volumes:
- name: config
configMap:
name: {{ template "elasticsearch.fullname" . }}
{{- if .Values.cluster.keystoreSecret }}
- name: keystore
secret:
secretName: {{ .Values.cluster.keystoreSecret }}
{{- end }}
{{- if not .Values.master.persistence.enabled }}
- name: data
emptyDir: {}
{{- else }}
{{- end }}
updateStrategy:
type: {{ .Values.master.updateStrategy.type }}
{{- if .Values.master.persistence.enabled }}
volumeClaimTemplates:
- metadata:
name: {{ .Values.master.persistence.name }}
......
File mode changed from 100755 to 100644
# Default values for elasticsearch.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
appVersion: "6.2.4"
appVersion: "6.4.1"
image:
repository: "docker.elastic.co/elasticsearch/elasticsearch-oss"
tag: "6.3.1"
tag: "6.4.1"
pullPolicy: "IfNotPresent"
# If specified, use these secrets to access the image
# pullSecrets:
# - registry-secret
cluster:
name: "elasticsearch"
kubernetesDomain: cluster.local
# If you want X-Pack installed, switch to an image that includes it, enable this option and toggle the features you want
# enabled in the environment variables outlined in the README
xpackEnable: false
config:
# Some settings must be placed in a keystore, so they need to be mounted in from a secret.
# Use this setting to specify the name of the secret
# keystoreSecret: eskeystore
config: {}
env:
# IMPORTANT: https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#minimum_master_nodes
# To prevent data loss, it is vital to configure the discovery.zen.minimum_master_nodes setting so that each master-eligible
......@@ -25,13 +30,15 @@ client:
name: client
replicas: 2
serviceType: ClusterIP
loadBalancerIP: {}
loadBalancerSourceRanges: {}
## (dict) If specified, apply these annotations to the client service
# serviceAnnotations:
# example: client-svc-foo
heapSize: "512m"
antiAffinity: "soft"
nodeSelector: {}
tolerations: {}
tolerations: []
resources:
limits:
cpu: "1"
......@@ -61,7 +68,7 @@ master:
# storageClass: "ssd"
antiAffinity: "soft"
nodeSelector: {}
tolerations: {}
tolerations: []
resources:
limits:
cpu: "1"
......@@ -77,6 +84,8 @@ master:
enabled: false
minAvailable: 2 # Same as `cluster.env.MINIMUM_MASTER_NODES`
# maxUnavailable: 1
updateStrategy:
type: OnDelete
data:
name: data
......@@ -92,7 +101,7 @@ data:
terminationGracePeriodSeconds: 3600
antiAffinity: "soft"
nodeSelector: {}
tolerations: {}
tolerations: []
resources:
limits:
cpu: "1"
......@@ -108,3 +117,5 @@ data:
enabled: false
# minAvailable: 1
maxUnavailable: 1
updateStrategy:
type: OnDelete
File mode changed from 100755 to 100644
apiVersion: v1
appVersion: 6.3.1
description: Logstash is an open source, server-side data processing pipeline
home: https://www.elastic.co/products/logstash
icon: https://www.elastic.co/assets/blt86e4472872eed314/logo-elastic-logstash-lt.svg
maintainers:
- email: pete.brown@powerhrg.com
name: rendhalver
- email: jrodgers@powerhrg.com
name: jar361
- email: christian.roggia@gmail.com
name: christian-roggia
home: https://www.elastic.co/products/logstash
name: logstash
version: 0.9.1
appVersion: 6.4.0
sources:
- https://www.docker.elastic.co
- https://www.elastic.co/guide/en/logstash/current/index.html
version: 0.7.0
maintainers:
- name: rendhalver
email: pete.brown@powerhrg.com
- name: jar361
email: jrodgers@powerhrg.com
- name: christian-roggia
email: christian.roggia@gmail.com
approvers:
- christian-roggia
- rendhalver
reviewers:
- christian-roggia
- rendhalver
This diff is collapsed.
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -38,6 +38,10 @@ spec:
securityContext:
runAsUser: 1000
fsGroup: 1000
{{- if .Values.image.pullSecrets }}
imagePullSecrets:
{{ toYaml .Values.image.pullSecrets | indent 8 }}
{{- end }}
containers:
## logstash
......@@ -106,6 +110,10 @@ spec:
{{ toYaml .Values.exporter.logstash.resources | indent 12 }}
{{- end }}
{{- with .Values.volumes }}
volumes:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
......@@ -118,6 +126,7 @@ spec:
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}
volumes:
- name: patterns
configMap:
......@@ -125,7 +134,10 @@ spec:
- name: pipeline
configMap:
name: {{ template "logstash.fullname" . }}-pipeline
{{- if not .Values.persistence.enabled }}
- name: data
emptyDir: {}
{{- else }}
volumeClaimTemplates:
- metadata:
name: data
......@@ -142,3 +154,4 @@ spec:
storageClassName: "{{ .Values.persistence.storageClass }}"
{{- end }}
{{- end }}
{{- end }}
......@@ -6,10 +6,15 @@ podDisruptionBudget:
updateStrategy:
type: RollingUpdate
terminationGracePeriodSeconds: 30
image:
repository: docker.elastic.co/logstash/logstash-oss
tag: 6.3.1
tag: 6.4.0
pullPolicy: IfNotPresent
## Add secrets manually via kubectl on kubernetes cluster and reference here
# pullSecrets:
# - name: "myKubernetesSecret"
service:
type: ClusterIP
......@@ -138,6 +143,17 @@ volumeMounts:
- name: pipeline
mountPath: /usr/share/logstash/pipeline
volumes: []
# - name: tls
# secret:
# secretName: logstash-tls
# - name: pipeline
# configMap:
# name: logstash-pipeline
# - name: certs
# hostPath:
# path: /tmp
exporter:
logstash:
enabled: false
......
File mode changed from 100755 to 100644
name: sonarqube
description: Sonarqube is an open sourced code quality scanning tool
version: 0.8.0
version: 0.9.1
appVersion: 6.7.3
keywords:
- coverage
......
......@@ -69,6 +69,7 @@ The following table lists the configurable parameters of the Sonarqube chart and
| `resources` | Sonarqube Pod resource requests & limits | `{}` |
| `affinity` | Node / Pod affinities | `{}` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `hostAliases` | Aliases for IPs in /etc/hosts | `[]` |
| `tolerations` | List of node taints to tolerate | `[]` |
| `plugins.install` | List of plugins to install | `[]` |
| `plugins.resources` | Plugin Pod resource requests & limits | `{}` |
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -43,6 +43,10 @@ spec:
{{- if .Values.nodeSelector }}
nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }}
{{- if .Values.hostAliases }}
hostAliases:
{{ toYaml .Values.hostAliases | indent 8 }}
{{- end }}
{{- if .Values.tolerations }}
tolerations:
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -25,7 +25,7 @@ spec:
release: {{ .Release.Name }}
{{- if eq .Values.service.type "LoadBalancer"}}
loadBalancerSourceRanges: {{.Values.service.loadBalancerSourceRanges}}
{{- if .Values.service.LoadBalancerIP}}
{{- if .Values.service.loadBalancerIP}}
loadBalancerIP: {{.Values.service.loadBalancerIP}}
{{- end }}
{{- end }}
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -26,6 +26,8 @@ ingress:
annotations:
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# This property allows for reports up to a certain size to be uploaded to SonarQube
# nginx.ingress.kubernetes.io/proxy-body-size: "8m"
tls:
# Secrets must be manually created in the namespace.
# - secretName: chart-example-tls
......@@ -44,6 +46,13 @@ tolerations: []
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {}
# hostAliases allows the modification of the hosts file inside a container
hostAliases: []
# - ip: "192.168.1.10"
# hostnames:
# - "example.com"
# - "www.example.com"
readinessProbe:
initialDelaySeconds: 60
periodSeconds: 30
......
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