Skip to content

stdlib::to_toml behaves differently on dotted keys compared to TOML::Generator #1452

Open
@jay7x

Description

@jay7x

Describe the Bug

TOML supports "dotted keys", that is about the same as our "dotted notation" when accessing facts.
Our stdlib::to_toml() uses toml-rb code, that has the issue when dealing with dotted keys.

I hit this when following the puppet-grafana's LDAP config example. It uses toml gem at the moment. When replaced with stdlib::to_toml() it produces a broken TOML.

As I see from unit tests, to_toml() expects a proper Puppet DSL Hash, while toml gem can work with dotted keys.

As a consequence, it's impossible to just replace TOML::Generator with our to_toml() function, because example syntax uses dotted key instead of a nested Hash or Array.

Another problem is sections reordering. E.g. [servers.attributes] section goes before [[servers]], which is wrong.

Expected Behavior

  1. It'd be nice if dotted keys wouldn't be quoted.
  2. It'd be nice if sections wouldn't be reordered.

Metadata

Metadata

Assignees

No one assigned

    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