Prefixen van rol- en projectvariabelen in Ansible
Categories:
harbor_hostname.
Prefix de
projectvariabelen met een projectvoorvoegsel, bijvoorbeeld
c2_cacerts2_ca_dir.Probleem
Zonder een rol- of projectvoorvoegsel is het niet altijd duidelijk waar variabelen worden gebruikt. Zonder een voorvoegsel is er ook een kans op conflicterende of dubbele variabelenamen.
Context
In een typisch Ansible-inventarisproject worden veel soorten variabelen aangemaakt en gebruikt. Sommige variabelen behoren tot Ansible-rollen terwijl andere alleen in de inventaris worden geïntroduceerd. Dit onderscheid kan verwarrend zijn en tot fouten leiden.
Rolvariabelen volgen een bekende naamgevingsconventie die wordt gecontroleerd
door linters zoals ansible-lint.
Projectvariabelen daarentegen worden
gedefinieerd in group_vars of host_vars en maken geen deel uit van een rol.
Deze variabelen vereisen een expliciet projectvoorvoegsel om conflicten te
voorkomen en hun oorsprong duidelijk te maken.
Oplossing
- Prefixeer elke
rolvariabele met de rolnaam, bijvoorbeeld
harbor_. - Prefixeer elke
projectvariabele die alleen bestaat in
group_varsofhost_varsmet een projectvoorvoegsel, bijvoorbeeldc2_.
Voordelen
- Maakt de oorsprong van elke variabele direct zichtbaar.
- Voorkomt onbedoelde duplicatie of overschrijving van variabelen.
- Sluit aan bij communitystandaarden en maakt geautomatiseerde linting voor rolvariabelen mogelijk.
- Verbetert de onderhoudbaarheid van grote Ansible-inventarisprojecten.
Alternatieven (optioneel)
Het gebruik van een generiek voorvoegsel zoals var_ voor alle variabelen
vermindert de duidelijkheid en wordt niet aanbevolen.
Voorbeelden en implementatie
harbor_hostnameis een rolvariabele voor dec2platform.mgmt.harborrol. Het voorvoegselharbor_volgt de rolnaam.- In het C2
Ansible-inventarisproject
c2platform/ansiblewordt het voorvoegselc2_gebruikt voor projectvariabelen, bijvoorbeeldc2_cacerts2_ca_diringroup_vars/all/smallca.yml. - In het RWS
Ansible-inventarisproject
c2platform/rws/ansible-giswordt het voorvoegselgs_gebruikt. Zie Configuratie van een webproxyserver voorbeeld voor MS Windows-hosts voor het gebruik vangs_proxy_regedit.
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.