88 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
| {{- if .Values.elasticsearch.enabled }}
 | |
| apiVersion: apps/v1
 | |
| kind: StatefulSet
 | |
| metadata:
 | |
|   name: {{ include "opencoze.fullname" . }}-elasticsearch
 | |
|   labels:
 | |
|     {{- include "opencoze.labels" . | nindent 4 }}
 | |
| spec:
 | |
|   serviceName: {{ .Release.Name }}-elasticsearch
 | |
|   replicas: 1
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/component: elasticsearch
 | |
|       app.kubernetes.io/instance: {{ .Release.Name }}
 | |
|       app.kubernetes.io/name: {{ include "opencoze.name" . }}
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/component: elasticsearch
 | |
|         app.kubernetes.io/instance: {{ .Release.Name }}
 | |
|         app.kubernetes.io/name: {{ include "opencoze.name" . }}
 | |
|     spec:
 | |
|       initContainers:
 | |
|       - name: install-plugins
 | |
|         image: "{{ .Values.elasticsearch.image.repository }}:{{ .Values.elasticsearch.image.tag }}"
 | |
|         securityContext:
 | |
|           runAsUser: 0
 | |
|         command:
 | |
|         - /bin/bash
 | |
|         - -c
 | |
|         - |
 | |
|           set -ex
 | |
|           echo 'Installing smartcn plugin...';
 | |
|           if [ ! -d /opt/bitnami/elasticsearch/plugins/analysis-smartcn ]; then
 | |
|             /opt/bitnami/elasticsearch/bin/elasticsearch-plugin install analysis-smartcn
 | |
|           fi          
 | |
|         volumeMounts:
 | |
|         - name: es-plugins
 | |
|           mountPath: /opt/bitnami/elasticsearch/plugins
 | |
|       containers:
 | |
|         - name: elasticsearch
 | |
|           securityContext:
 | |
|             runAsUser: 0
 | |
|           image: "{{ .Values.elasticsearch.image.repository }}:{{ .Values.elasticsearch.image.tag }}"
 | |
|           env:
 | |
|             - name: ES_JAVA_OPTS
 | |
|               value: {{ .Values.elasticsearch.javaOpts | quote }}
 | |
|             - name: ELASTIC_USERNAME
 | |
|               valueFrom:
 | |
|                 secretKeyRef:
 | |
|                   name: {{ .Release.Name }}-es-secret
 | |
|                   key: username
 | |
|             - name: ELASTIC_PASSWORD
 | |
|               valueFrom:
 | |
|                 secretKeyRef:
 | |
|                   name: {{ .Release.Name }}-es-secret
 | |
|                   key: password
 | |
|           command:
 | |
|             - /bin/bash
 | |
|             - -c
 | |
|             - |
 | |
|               /opt/bitnami/scripts/elasticsearch/setup.sh
 | |
|               chown -R elasticsearch:elasticsearch /bitnami/elasticsearch/data
 | |
|               chmod g+s /bitnami/elasticsearch/data
 | |
|               exec /opt/bitnami/scripts/elasticsearch/entrypoint.sh /opt/bitnami/scripts/elasticsearch/run.sh              
 | |
|           ports:
 | |
|             - containerPort: {{ .Values.elasticsearch.service.port }}
 | |
|           volumeMounts:
 | |
|             - name: es-data
 | |
|               mountPath: /bitnami/elasticsearch/data
 | |
|             - name: es-plugins
 | |
|               mountPath: /opt/bitnami/elasticsearch/plugins
 | |
|       volumes:
 | |
|       - name: es-plugins
 | |
|         emptyDir: {}
 | |
|       - name: es-config
 | |
|         configMap:
 | |
|           name: {{ include "opencoze.fullname" . }}-es-init-config
 | |
|   volumeClaimTemplates:
 | |
|   - metadata:
 | |
|       name: es-data
 | |
|     spec:
 | |
|       accessModes: [ "ReadWriteOnce" ]
 | |
|       storageClassName: {{ .Values.elasticsearch.persistence.storageClassName | quote }}
 | |
|       resources:
 | |
|         requests:
 | |
|           storage: {{ .Values.elasticsearch.persistence.size | quote }}
 | |
| {{- end }} |