I need to edit the log4j configuration in log4j.properties, the file is editible if I exec into it but the changes dont persist accross pod restarts. Is there a way to configure this through the operator or a yaml file?
log4j2.properties configuration file is part of the container and is ephemeral as any file that is not mounted in a volume.
If you want to change the logging levels I would suggest to first try to use the command-line options or use the cluster settings as described in the Elasticsearch documentation.
If you really know what you are doing you can override the log4j2 configuration using a configMap with something like:
$ kubectl create configmap log4j --from-file=log4j2.properties=/path/to/my/log4j2.properties
Then mount the configmap:
podTemplate: spec: containers: - name: elasticsearch volumeMounts: - mountPath: /usr/share/elasticsearch/config/log4j2.properties subPath: log4j2.properties name: log4j volumes: - name: log4j configMap: name: log4j
Thank you, this was very helpful, really appreciate it!