Created
September 26, 2022 08:40
-
-
Save chusiang/27f3bf940eb66038ecdded012523f4e4 to your computer and use it in GitHub Desktop.
ansible-lint config of v4.0+
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# .ansible-lint | |
# exclude_paths included in this file are parsed relative to this file's location | |
# and not relative to the CWD of execution. CLI arguments passed to the --exclude | |
# option will be parsed relative to the CWD of execution. | |
exclude_paths: | |
- .gitlab-ci.yml | |
- logs/ | |
- roles/ | |
- test/ | |
# parseable: true | |
# quiet: true | |
# verbosity: 1 | |
# Mock modules or roles in order to pass ansible-playbook --syntax-check | |
mock_modules: | |
- zuul_return | |
# note the foo.bar is invalid as being neither a module or a collection | |
- fake_namespace.fake_collection.fake_module | |
- fake_namespace.fake_collection.fake_module.fake_submodule | |
mock_roles: | |
- mocked_role | |
- author.role_name # old standalone galaxy role | |
- fake_namespace.fake_collection.fake_role # role within a collection | |
# Enable checking of loop variable prefixes in roles | |
loop_var_prefix: "{role}_" | |
# Enforce variable names to follow pattern below, in addition to Ansible own | |
# requirements, like avoiding python identifiers. To disable add `var-naming` | |
# to skip_list. | |
# var_naming_pattern: "^[a-z_][a-z0-9_]*$" | |
use_default_rules: true | |
# Load custom rules from this specific folder | |
# rulesdir: | |
# - ./rule/directory/ | |
# This makes linter to fully ignore rules/tags listed below | |
skip_list: | |
- fqcn-builtins | |
- latest[git] | |
- role-name | |
- skip_this_tag | |
- yaml | |
# Any rule that has the 'opt-in' tag will not be loaded unless its 'id' is | |
# mentioned in the enable_list: | |
enable_list: | |
- empty-string-compare # opt-in | |
- no-log-password # opt-in | |
- no-same-owner # opt-in | |
# add yaml here if you want to avoid ignoring yaml checks when yamllint | |
# library is missing. Normally its absence just skips using that rule. | |
- yaml | |
# Report only a subset of tags and fully ignore any others | |
tags: | |
- skip_ansible_lint | |
# This makes the linter display but not fail for rules/tags listed below: | |
warn_list: | |
- skip_this_tag | |
- latest[git] | |
- experimental # experimental is included in the implicit list | |
# - role-name | |
#- yaml[document-start] # you can also use sub-rule matches | |
# Some rules can transform files to fix (or make it easier to fix) identified | |
# errors. `ansible-lint --write` will reformat YAML files and run these transforms. | |
# By default it will run all transforms (effectively `write_list: ["all"]`). | |
# You can disable running transforms by setting `write_list: ["none"]`. | |
# Or only enable a subset of rule transforms by listing rules/tags here. | |
# write_list: | |
# - all | |
# Offline mode disables installation of requirements.yml | |
offline: false | |
# Define required Ansible's variables to satisfy syntax check | |
extra_vars: | |
foo: bar | |
multiline_string_variable: | | |
line1 | |
line2 | |
complex_variable: ":{;\t$()" | |
# Uncomment to enforce action validation with tasks, usually is not | |
# needed as Ansible syntax check also covers it. | |
# skip_action_validation: false | |
# List of additional kind:pattern to be added at the top of the default | |
# match list, first match determines the file kind. | |
kinds: | |
# - playbook: "**/examples/*.{yml,yaml}" | |
- playbook: "*.{yml,yaml}" | |
# - galaxy: "**/folder/galaxy.yml" | |
- tasks: "tasks/*.yml" | |
- vars: "vars/*.yml" | |
- meta: "meta/main.yml" | |
# - yaml: "**/*.yaml-too" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Please rename the
.ansible-lint.yaml
to.ansible-lint
, and put to each ansible-playbook project.