Skip to content

New 'conf' structure fails to merge in merge_dict #548

@SkyKnightSKS

Description

@SkyKnightSKS

Hello,

In the past I had committed the code to merge_dict in environ.py and the ability to add any configuration in splunk using the splunk.conf settings.

I see in the commit #442 that splunk.conf was changed into an array.
This means that merging of this configuration is no longer possible and the defaults are going to be overridden by the second.

For example we have a baked in defaults.yml and next we load a url based .yml for that specific host.

In the defaults.yml we put something like:

splunk:
    conf:
    -   key: server
        value:
            directory: /opt/splunk/etc/system/local
            content:
                general:
                    site: "site0"

And in the url based we put the following:

splunk:
    conf:
    -   key: server
        value:
            directory: /opt/splunk/etc/system/local
            content:
                license:
                    master_uri: "self"

However, this causes the merged end-result to only contain the license part, as the merge-dict is not merging lists.

Potentially this could be adjusted to be similar to the following structure to solve all the issues that have been with the config addition:

splunk:
    conf:
        /opt/splunk/etc/system/local/server.conf:
            general:
                site: "site0"

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions