No description
Find a file
2024-06-09 10:58:24 +02:00
meta [int] 2024-03-29 17:21:05 +01:00
plugins [int] 2024-03-29 17:21:05 +01:00
roles [res] 2024-06-09 10:58:24 +02:00
tools [fix] tools:check-json-syntax 2024-04-12 21:53:39 +02:00
.editorconfig [ini] 2023-11-20 02:07:08 +01:00
.gitignore [ini] 2023-11-20 02:07:08 +01:00
.gitlab-ci.yml [ini] 2023-11-20 02:07:08 +01:00
galaxy.yml [issue-1] Umbennung zu linke.standard 2024-03-29 18:11:33 +01:00
README.md [mod] readme 2024-03-29 18:31:43 +01:00
todo.md [mod] todo 2024-06-04 00:00:09 +02:00

Ansible Collection - linke.standard

Sammlung von allgemeinen, wiederverwendbaren Ansible-Rollen

Richtlinien

Allgemeines

  • alle Definitionen sollen in JSON erfolgen (statt YAML und TOML)
  • Rollen sollen grundsätzlich so gestaltet sein, dass sie wiederverwendbar sind, also nicht auf eine bestimmte Lage zugeschnitten

Rollen

  • sollen jeweils eine Info-Datei enthalten (roles/<rollen-name>/info.md), in welcher kurz der Zweck der Rolle beschrieben, mögliche Besonderheiten für die Verwendung erklärt und nützliche Angaben wie Netz-Verweise aufgeführt werden

Namen

  • gewöhnliche Rollen sollen nur mit Kleinbuchstaben und Unterstrichen benannt sein
  • Abhängigkeiten sollen durch den Infix -for- gekennzeichnet werden, wobei links die Quelle und rechts die Senke steht
  • Erweiterungen sollen durch den Infix -with- gekennzeichnet werden, wobei links der Kern und rechts die Erweiterung steht
  • Konvergenzen (keines hängt vom jeweils anderen stark ab) sollen durch den Infix -and- gekennzeichnet werden, wobei die Reihenfolge der beteiligten Unterrollen an sich egal ist, jedoch einheitlich sein sollte, d.h. wenn es bereits a-and-b gibt, sollte nicht c-and-a angelegt werden, sondern a-and-c

Variablen

  • sollen nach folgendem Muster benannt sein: var_<rollen-name>_<bezeichnung>, wobei <bezeichnung> aussagekräftig sein soll (z.B. server_port statt x1)
  • sollen mit sinnvollen Standard-Werten belegt werden
  • sollen aufgelistet/angekündigt/deklariert
  • sollen möglichst primitiv sein, d.h. nur Wahrheits-Werte, Zahlen und (einfache) Zeichenketten

Playbooks

  • sollen keine eigenen Tasks enthalten: ({"tasks": []})
  • sollen keine freien Variablen enthalten ({"vars": {}})
  • sollen Rollen in folgendener Struktur angeben: {"roles": [{"role": "foo", "var_foo_1": "a", "var_foo_2": "b", …}, {"role": "bar", "var_bar_1": "c", "var_bar_2": "d", …}, …]}

Verweise

ToDo