• rtxn@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    9 months ago

    I don’t particularly like yaml as a data storage language because of its use of significant whitespaces, but for the minimal complexity of my own playbooks, I don’t mind it.

    What would you consider to be an ideal language for playbooks?

    • MeanEYE@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      9 months ago

      Am not sure to be honest. I always liked JSON even though it’s very rigid. Even so, most of software I write stores config in JSON simply because it’s easy to parse and it’s supported by literally everything. It’s also pretty minimalist.

      Perhaps something more strict and defined would be better. I think I’d even prefer XML to YAML.

      • rtxn@lemmy.worldM
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        9 months ago

        You can use JSON to write the playbooks, then use a program like yq (which is a Yaml wrapper for jq) to convert it to Yaml. Something like

        cat playbook.json | yq --yaml-output > .temp_playbook.yml
        ansible-playbook .temp_playbook.yml
        
          • rtxn@lemmy.worldM
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 months ago

            Yes, both yq and jq are fantastic programs.

            yq can take either JSON or Yaml (or maybe others, I haven’t checked) as input, then it converts it to JSON before passing it to jq. yq outputs JSON by default, or Yaml if you pass it the --yaml-output option.