Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
logstash.yaml 3.05 KiB
Newer Older
Natalia Szakiel's avatar
Natalia Szakiel committed
apiVersion: logstash.k8s.elastic.co/v1alpha1
Natalia Szakiel's avatar
Natalia Szakiel committed
kind: Logstash
metadata:
Natalia Szakiel's avatar
Natalia Szakiel committed
  name: logstash-beats
Natalia Szakiel's avatar
Natalia Szakiel committed
  labels:
    app: logstash
spec:
Natalia Szakiel's avatar
Natalia Szakiel committed
  image: {{ .Values.logstash.image }}:{{ default .Values.elasticVersion  .Values.logstash.imageTag }}
  version: {{ .Values.elasticVersion }}
Natalia Szakiel's avatar
Natalia Szakiel committed
  count: {{ .Values.logstash.replicas }}
Natalia Szakiel's avatar
Natalia Szakiel committed
  elasticsearchRefs:
  - name: {{ .Release.Name }}-elasticsearch
    clusterName: {{ .Release.Name }}-elasticsearch
Natalia Szakiel's avatar
Natalia Szakiel committed
  volumeClaimTemplates:
    - metadata:
        name: logstash-data
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: {{ .Values.logstash.diskSpace }}
        storageClassName: {{ .Values.logstash.storageClassName }}
Natalia Szakiel's avatar
Natalia Szakiel committed
{{- range .Values.logstash.pipelines }}
  services:  
Natalia Szakiel's avatar
Natalia Szakiel committed
    - name: {{ $.Values.logstash.pipelines_group_name }}
Natalia Szakiel's avatar
Natalia Szakiel committed
      service:
        spec:
          ports:
          - port: 5044
Natalia Szakiel's avatar
Natalia Szakiel committed
            name: {{ .name }}
            protocol: TCP
          - port: 514
            name: {{ .name }}
Natalia Szakiel's avatar
Natalia Szakiel committed
            protocol: TCP
          selector:
Natalia Szakiel's avatar
Natalia Szakiel committed
            statefulset.kubernetes.io/pod-name: logstash-beats-ls-0
  {{- end }} 
Natalia Szakiel's avatar
Natalia Szakiel committed
  config: 
    {{- with .Values.logstash.config }}
    {{- toYaml . | nindent 4 }}
    {{- end }}
Natalia Szakiel's avatar
Natalia Szakiel committed
  podTemplate:
Natalia Szakiel's avatar
Natalia Szakiel committed
    metadata:
      labels:
        stack-namespace: {{ .Release.Namespace }} 
Natalia Szakiel's avatar
Natalia Szakiel committed
    spec:
      containers:
Natalia Szakiel's avatar
Natalia Szakiel committed
      - name: logstash
Natalia Szakiel's avatar
Natalia Szakiel committed
        {{- with .Values.logstash.resources }}
        resources:
          {{- toYaml . | nindent 10 }}
        {{- end }}
Natalia Szakiel's avatar
Natalia Szakiel committed
        volumeMounts:
Natalia Szakiel's avatar
Natalia Szakiel committed
        {{- range .Values.logstash.pipelines }}
        - name: pipeline-config-{{- .name }}
          mountPath: /app/elastic/logstash/config/pipelines/{{- .name -}}.config
          subPath: {{ .name -}}.config
        {{- end }}
Natalia Szakiel's avatar
Natalia Szakiel committed
        env:
          - name: LOGSTASH_USER
            valueFrom:
              secretKeyRef:
                name: logstash-writer-secret
                key: username
          - name: LOGSTASH_PASSWORD
            valueFrom:
              secretKeyRef:
                name: logstash-writer-secret
                key: password 
          - name: ELASTIC_ELASTICSEARCH_ES_HOSTS
            value: 'https://elastic-elasticsearch-es-http.{{ .Release.Namespace }}.svc:9200'
Natalia Szakiel's avatar
Natalia Szakiel committed
      volumes:
Natalia Szakiel's avatar
Natalia Szakiel committed
      {{- range .Values.logstash.pipelines }}
      - name: pipeline-config-{{- .name }}
Natalia Szakiel's avatar
Natalia Szakiel committed
        configMap:
Natalia Szakiel's avatar
Natalia Szakiel committed
          name: logstash-{{- $.Values.logstash.pipelines_group_name -}}-{{- .name -}}-config
          defaultMode: 511
      {{- end }}
  pipelinesRef:
    secretName: logstash-{{ .Values.logstash.pipelines_group_name }}-pipelines-yml
---
apiVersion: v1
kind: Secret
metadata:
  name: logstash-{{ .Values.logstash.pipelines_group_name }}-pipelines-yml
data:
  pipelines.yml: |
   {{ tpl .Values.logstash.pipelines_yml_config $ | nindent 6 | b64enc }}
---
{{- range .Values.logstash.pipelines }}
apiVersion: v1
kind: ConfigMap
metadata:
  name: logstash-{{ $.Values.logstash.pipelines_group_name }}-{{ .name }}-config
data:
  {{ .name }}.config: |
    {{ tpl .input  $ | nindent 6 }}
    {{ tpl .filter $ | nindent 6 }}
    {{ tpl .output $ | nindent 6 }} 
---
{{- end }}