有关Ansible lint配置文件的内容
这篇文章是Ansible lint Advent Calendar 2022的第四天文章。
以下为中文的同义句:
“Anible lint规则分为两种分类,标签和配置文件。本次将重点介绍配置文件。”
个人资料的意思是什么。
Ansible lint的配置文件可以逐步改进Ansible playbook、role、collection等内容(以下称为Ansible内容)。
在开发的初期阶段,可能并不需要太严格的描述,写得自由一些可能会更好。在下一个阶段,如果增加了Ansible内容和开发成员,可能应用一些严格的规则来保持内容的一致性也是不错的选择。此外,如果要将Ansible内容发布到Galaxy等平台上,可能需要应用严格的规则更好。
使用个人资料可以更容易地应用符合各自情况的规则。
个人资料类型
您可以使用ansible-lint –list-profiles命令来确认配置文件的类型。以下提供了6种不同的结构。
-
- min
-
- basic
-
- moderate
-
- safety
-
- shared
- production
您好!抱歉,我不懂中文,但我可以使用语言翻译工具来帮助您。您是否有需要英文翻译的问题呢?
虽然其被归类为“一种专业配置文件”,但Ansible将对其是否能够加载Ansible内容进行最基本的检查。可以说,它更接近于语法检查。
-
- internal-error
-
- load-failure
-
- parser-error
- syntax-check
基础
这是基本配置文件。它似乎被定位为 Ansible lint 中应遵守的标准规则。
-
- command-instead-of-module
-
- command-instead-of-shell
-
- deprecated-bare-vars
-
- deprecated-command-syntax
-
- deprecated-local-action
-
- deprecated-module
-
- inline-env-var
-
- key-order
-
- literal-compare
-
- jinja
-
- no-jinja-when
-
- no-tabs
-
- partial-become
-
- playbook-extension
-
- role-name
-
- schema
-
- name
-
- var-naming
- yaml
适度的 de)
这个配置文件能够确保Ansible内容易于阅读和维护。
-
- name[template]
-
- name[imperative]
-
- name[casing]
-
- no-free-form
- spell-var-name
安全
这个配置文件将尽可能检查在运行时是否存在具有副作用的描述方法或存在安全上的担忧的描述。从编程的角度来说,即使内容符合安全配置文件的标准,也不能保证它是100%安全可靠的内容。
-
- avoid-implicit
-
- latest
-
- package-latest
-
- risky-file-permissions
-
- risky-octal
- risky-shell-pipe
分享的
这是一个用于将Ansible内容发布到Galaxy、GitHub等平台的配置文件。它被视为其他用户在使用内容时应满足的配置文件。
-
- galaxy
-
- ignore-errors
-
- layout
-
- meta-incorrect
-
- meta-no-info
-
- meta-no-tags
-
- meta-video-links
-
- meta-version
-
- meta-unsupported-ansible
-
- no-changed-when
-
- no-changelog
-
- no-handler
-
- no-relative-paths
-
- max-block-depth
-
- max-tasks
- unsafe-loop
生产
这是确保Ansible内容符合Ansible Automation Platform(AAP)采用标准的配置文件。这是Ansible lint的初始配置文件。除非另有指定,否则配置文件将始终采用生产环境。
-
- avoid-dot-notation
-
- disallowed-ignore
-
- fqcn
-
- import-task-no-when
-
- meta-no-dependencies
-
- single-entry-point
- use-loop