Is it possible to make elasticsearch first read elasticsearch.yml and then apply a elasticsearch-local.yml which overrides any setting found in elasticsearch.yml ? That way I can have any local changes not be overridden once i rewrite elasticsearch.yml
Also, is there a way to dump all config settings in a running process which deviate from the default?
Nope, it's all or nothing for the config.
This may relate to your second question.
Is there any workaround to handle config overrides? yaml does not allow for include directives..
I have a script which produces a new elasticsearch.yml for a specific installation, and I do not want to in-place edit an existing file, but rather have some include mechanism
This question is very familiar, did you ask this before?
However the answer is still no, you cannot do this natively.
You may be able to with config management tools like Puppet or Chef.