配置 Adjutant

Adjutant 被设计为高度可配置,以满足各种需求。Adjutant 的目标是提供各种常见的任务和操作,这些任务和操作可以根据您的 OpenStack 集群的需求轻松扩展或更改。

为了进行配置,Adjutant 使用一个名为 CONFspirator 的库来定义和注册我们的配置值。这使得应用程序在处理默认值和检查配置的有效性方面表现更好。

Adjutant 的示例配置文件位于 etc/adjutant.yaml,并且可以通过运行以下命令生成一个新的配置文件

tox -e venv -- adjutant-api exampleconfig --output-file /etc/adjutant/adjutant.yaml

使用 --output-file 控制文件保存的位置。如果文件扩展名指定为 toml 而不是 yaml,则会生成 toml 格式的配置文件。

这个示例文件应该是您配置服务的起点,也是了解每个配置项作用的核心文档来源。

Adjutant 将从 /etc/adjutant/adjutant.yaml/etc/adjutant/adjutant.toml 读取文件,如果设置了环境变量 ADJUTANT_CONFIG_FILE,则会在指定的位置查找文件。

注意

虽然 Adjutant 支持 toml 作为配置格式,但您可能最好坚持使用 yaml,因为它可能更容易和更可靠,但对于那些更喜欢 ini 类型格式的人来说,它可能感觉更贴近。

配置选项

Django 组

配置文件的第一部分包含标准的 Django 设置,并且生成的示例配置在大多数情况下会解释所有选项。

身份组

这些是 Adjutant 与 Keystone 交互的配置,其中重要的配置如下

adjutant.identity.username_is_email 影响帐户创建和电子邮件修改操作。如果为 true,则任何传递用户名和电子邮件对的任务都将忽略用户名。这也会影响电子邮件的发送位置。

adjutant.identity.auth 是 Adjutant 用于与 Keystone 以及其他各种 OpenStack 服务通信的凭据。

adjutant.identity.role_mapping 定义了哪些角色可以修改其他角色。在默认配置中,具有 project_mod 角色的用户将无法修改具有 project_admin 角色的用户的任何角色。

API 组

控制哪些 DelegateAPIs 被启用,以及它们的一些配置。

通知组

任务工作流期间通知应该执行的默认设置。

工作流组

adjutant.workflow.task_defaults 表示所有任务的默认设置,除非在 adjutant.workflow.tasks 中为单个任务覆盖。

默认操作设置。adjutant.workflow.action_defaults 是每个操作的默认设置,可以通过 adjutant.workflow.tasks.<my_task>.actions 在每个任务的基础上覆盖。

电子邮件和通知模板

可以将额外的模板放置在 /etc/adjutant/templates/ 中,并会自动加载。可以分别指定纯文本模板和 HTML 模板。此上下文将包括任务对象和包含操作对象的字典。