4.3. 加载设置顺序
平台网关使用 Dynaconf 库来管理其应用程序设置。dynaconf 遵循一种分层配置方法,其中设置以定义的顺序从多个源加载,之后的源覆盖较早的源。Ansible Automation Platform 按照以下序列加载设置:
- 应用程序 settings.py : 此文件位于应用本身中,并定义其他设置文件的加载顺序和位置。
- 应用程序默认设置: 平台从 defaults.py 文件中加载默认设置,该文件是应用程序本身的一部分。此文件包括 API 服务器和 gRPC 服务器的通用配置。
-
客户覆盖文件:
/etc/ansible-automation-platform/gateway/settings.py
文件会被自动安装,并可用于覆盖defaults.py
中的任何配置。对此文件的更改同时会影响 API 和 gRPC 服务器。 -
应用程序 gRPC 默认设置: 客户覆盖文件后,应用程序只从
grpc_default.py
文件中加载 gRPC 服务器的额外默认设置。具体来说,此文件包括 gRPC 服务器的数据库 OPTIONS,如 keepalive 参数。 -
客户 gRPC 覆盖文件:文件
/etc/ansible-automation-platform/gateway/grpc_settings.py
(如果存在),下一个载入该文件中包含的任何设置都只适用于 gRPC 服务器。 -
平台覆盖设置文件:
/etc/ansible-automation-platform/settings.py
文件中的任何设置都应用到 gRPC 服务器和 API 服务器。如果单个节点上有多个 Ansible Automation Platform 服务,则此文件中的项目将应用到所有服务。 - ENV vars: 环境变量,您可以在其中配置配置文件之外的某些 Ansible Automation Platform 设置。它们覆盖任何之前加载的设置。