Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ansible-lint-custom-strict-naming

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ansible-lint-custom-strict-naming

Add your description here

  • 1.1.2
  • PyPI
  • Socket score

Maintainers
1

ansible-lint-custom-strict-naming

PyPI PyPI Python Versions black Downloads

Ansible is a powerful tool for configuration management. But it is difficult to maintain the YAML playbook quality. Variable maintenance is one of the difficult tasks because they can be overwritten unexpectedly, if you don't care about such like precedence and position where variables are defined.

This is a strict rule for variable naming, using ansible-lint. Strict naming rule is useful to avoid name collision and to search defined position.

Rules

var_name_prefix

<role_name>_role__ , <task_name>_tasks__

  • prefixVariables defined in
    <role_name>_role__roles/<role_name>/tasks/
    <role_name>_tasks__<not_roles>/**/tasks/
  • In ansible-lint, var-naming[no-role-prefix] require to use <role_name>_ as prefix. But it is not enough to avoid name collision or search defined position. So, I add _role__ or _tasks__ to the prefix.

var__, const__

  • var__ prefix
    • Variables dynamically defined by ansible.builtin.set_fact or register
  • const__ prefix
    • Variables dynamically defined by ansible.builtin.set_fact or register
    • Variables statically defined in such like inventory's vars, group_vars, host_vars and etc.

Vars in tasks/<name>.yml or roles/<name>/tasks/main.yml

  • <name>_role__var__ prefix

    • These variables are dynamically defined in roles/<name>/tasks/main.yml.
  • <name>_role__const__ prefix

    • These variables are defined in roles/<name>/vars/main.yml and shouldn't be changed dynamically.
  • some_role__arg__ prefix

    • These variables are defined by ansible.builtin.include_role's vars key and shouldn't be changed dynamically.
  • some_role__args

    • These variables are defined by ansible.builtin.include_role's vars key and shouldn't be changed dynamically.

      - name: Sample
        ansible.builtin.include_role:
          name: some_role
        vars:
          some_role__arg__key1: value1
          some_role__arg__key2: value2
      
    • This is useful when you want to send vars as dict.

      - name: Sample
        ansible.builtin.include_role:
          name: some_role
        vars:
          some_role__args:
            key1: value1
            key2: value2
      

Others

Double underscores?

  • Single underscore (_) is used to separate words. Double underscores (__) are used to separate chunks for readability.
  • examples
    • var__send_message__user_id
    • var__send_message__content
    • some_role__const__app_config__name
    • some_role__const__app_config__token
    • some_role__const__app_config__version

Docs

Articles

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc