<p>I use eck-operator (with eck-operator-crd) from official elastic repository
<a href="https://artifacthub.io/packages/helm/elastic/eck-operator" rel="nofollow noreferrer">https://artifacthub.io/packages/helm/elastic/eck-operator</a>
Kibana and Elasticsearch manifests are deploying and working fine.
My question is how to configure additional features like:
Index Lifecycle Policy, Kibana Data View, New Templates, Data Streams, Dashboards etc.?
I saw few operators with kind of manifests but nothing from mentioned above.
Thanks for any remarks.</p>

DevoPsky
<p>We do that via config maps. We store the index templates and index life cycle policies as json format. Also an execution script is a part of config map which pushes the index templates and ilm policies to elasticsearch via POST. Since everything is inside the volume now, we then create a cron job to execute this script.</p>
<p>For example this is the index template
all-indices.json:</p>
<pre><code>{
    &quot;index_patterns&quot;: [&quot;abc*&quot;],
    &quot;priority&quot;: 300,
    &quot;composed_of&quot;: [&quot;template1&quot;, &quot;template2&quot;], 
    &quot;version&quot;: 3
}
</code></pre>
<p>execution-script.sh</p>
<pre><code> curl -XPUT &quot;http://some_url:9200/_index_template/all-indices&quot; -H 'Content-Type: application/json' -d @/etc/elasticsearch-templates/all-indices.json  
</code></pre>
<p>We create these config map from terraform.</p>
<p>kibana.yaml</p>
<pre><code>...
  podTemplate:
    spec:
      containers:
      - name: kibana
        volumeMounts:
        - name: elasticsearch-templates
          mountPath: /etc/elasticsearch-templates
          readOnly: true
        lifecycle:
          postStart:
            exec:
              command: [&quot;/bin/sh&quot;, &quot;-c&quot;, &quot;sleep 15 &amp;&amp; sh /etc/elasticsearch-templates/execution-script.sh&quot;]
      volumes:
        - name: elasticsearch-templates
          configMap:
            name: ilm-and-index-templates
</code></pre>
<p>Then the cron job executes the script</p>
<pre><code>apiVersion: batch/v1
kind: CronJob
metadata:
  name: script-execution
spec:
  schedule: &quot;0 5 * * *&quot;
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: script-execution
            image: alpine/curl:latest
            imagePullPolicy: IfNotPresent
            command:
            - /bin/sh
            - -c
            - sh /etc/elasticsearch-templates/execution-script.sh
            volumeMounts:
            - name: elasticsearch-templates
              mountPath: /etc/elasticsearch-templates
              readOnly: true
          restartPolicy: OnFailure
          volumes:
            - name: elasticsearch-templates
              configMap:
                name: ilm-and-index-templates
</code></pre>
