配置¶
Galaxy NG 是一个 Pulp 插件,其配置系统基于 Pulp 的配置。您可以在 Pulp 文档上找到有关 Pulp 配置的更多信息。
简而言之
提示
如果您正在寻找如何在 pulp-installer 上设置配置选项,请查看 pulp 选项
配置您的 galaxy 服务器¶
Galaxy 服务器的自定义配置有两个来源:自定义的设置文件和环境变量。
设置文件¶
默认情况下,设置文件位于 /etc/pulp/settings.py
下,它是一个 Python 文件,其中包含带有配置值的 Python 常量(UPPER_SNAKE_CASE
变量)。
示例
GALAXY_REQUIRE_CONTENT_APPROVAL = True
GALAXY_COLLECTION_SIGNING_SERVICE = "ansible-default"
GALAXY_ENABLE_API_ACCESS_LOG = True
以 GALAXY_
为前缀的变量是 Galaxy 应用程序特有的,同时也有未加前缀的变量,这些变量要么是 pulp 设置,要么是 django 框架设置。
示例
DEBUG = False
AUTH_USER_MODEL = 'galaxy.User'
X_PULP_CONTENT_HOST = "localhost"
警告
在大多数情况下,您可能只想自定义以 GALAXY_
为前缀的变量,以及您可以在本页底部提供的配置列表中看到的一小部分 pulp 控制变量。
环境变量¶
由于 Galaxy NG 是一个 pulp 插件,它假设 envvar 前缀为 PULP_
,因此可以通过导出 PULP_<followed_with_the_variable>
自定义任何变量,例如
export PULP_GALAXY_REQUIRE_CONTENT_APPROVAL=true
提示
Pulp 使用 dynaconf 来管理其设置,因此环境变量会推断其数据类型,例如:PULP_NUMBER=4.2
将以 float
类型的值在 django.conf.settings.NUMBER
下可用,如果您需要强制使用字符串,请将其用引号括起来。PULP_TEXT='4.2'
环境变量具有更高的优先级,并且始终会覆盖在设置文件或 galaxy 或 pulp 应用程序的默认设置中设置的值。
合并配置¶
Dynaconf 提供了关于如何与现有值合并的详细文档,当设置中已经存在复合数据结构(例如列表或字典)并且您想要向其中添加内容而不是替换时,这非常有用。
示例:¶
合并到字典
在 galaxy_ng.app.settings
中有
GALAXY_FEATURE_FLAGS = {
'execution_environments': True,
}
如果您需要添加一个额外的功能标志而不替换现有值
GALAXY_FEATURE_FLAGS = {
"my_new_feature_flag": True,
"dynaconf_merge": True #(1)
}
- 这将标记此设置与现有设置合并
并且对于与上面相同的操作,还有一个 Django 样式的快捷方式
GALAXY_FEATURE_FLAGS__my_new_feature_flag = True
请注意 __
双下划线表示嵌套结构。
提示
合并也可以在环境变量上完成,只需使用 __
导出即可
合并到列表
假设在 galaxy_ng.app.settings
中有默认值
GALAXY_AUTHENTICATION_CLASSES = [
"galaxy_ng.app.auth.session.SessionAuthentication",
"rest_framework.authentication.TokenAuthentication",
"rest_framework.authentication.BasicAuthentication",
]
如果您需要添加新的自定义值
GALAXY_AUTHENTICATION_CLASSES = [
"my.new.AuthClass",
"dynaconf_merge" #(1)
]
- 这将标记此设置与现有设置合并
并且还有一个使用 @merge
标记的环境变量快捷方式。
export GALAXY_AUTHENTICATION_CLASSES="@merge my.new.AuthClass"
在这两种情况下,my.new.AuthClass
都将被追加到现有列表的末尾。
设置来源¶
配置选项¶
Galaxy¶
变量名 | 描述 |
---|---|
GALAXY_API_PATH_PREFIX |
访问 API 端点的基本 URL,默认值:"/api/galaxy" |
GALAXY_API_DEFAULT_DISTRIBUTION_BASE_PATH |
批准后集合的分布位置,默认值:"published" |
GALAXY_API_STAGING_DISTRIBUTION_BASE_PATH |
等待批准时集合的分布位置,默认值:"staging" |
GALAXY_API_REJECTED_DISTRIBUTION_BASE_PATH |
拒绝后集合的分布位置,默认值:"rejected" |
GALAXY_REQUIRE_CONTENT_APPROVAL |
设置系统是否需要手动批准上传的集合,默认值:True (如果设置为 false,则所有上传的集合都会自动批准) |
GALAXY_FEATURE_FLAGS |
一个用于切换特定标志的字典 请参见功能标志页面 |
GALAXY_ENABLE_UNAUTHENTICATED_COLLECTION_ACCESS |
启用匿名浏览,默认值:False |
GALAXY_ENABLE_UNAUTHENTICATED_COLLECTION_DOWNLOAD |
启用匿名下载,默认值:False |
GALAXY_ENABLE_API_ACCESS_LOG |
启用日志收集,默认值:False |
GALAXY_ENABLE_API_ACCESS_LOG |
启用日志收集,默认值:False |
CONNECTED_ANSIBLE_CONTROLLERS |
已连接的控制器列表,默认值:[] |
CONTENT_PATH_PREFIX |
内容服务的 URL 前缀,默认值:"/api/automation-hub/v3/artifacts/collections/" |
GALAXY_AUTHENTICATION_CLASSES |
DRF 的身份验证类列表,默认值:[Session, Token, Basic] |
GALAXY_PERMISSION_CLASSES |
权限后端的类列表,默认值:[] |
GALAXY_AUTO_SIGN_COLLECTIONS |
设置系统是否在批准后对集合进行签名,默认值:False |
GALAXY_COLLECTION_SIGNING_SERVICE |
用于签名的签名服务,默认值:None |
GALAXY_CONTAINER_SIGNING_SERVICE |
用于签名的签名服务,默认值:None |
GALAXY_SIGNATURE_UPLOAD_ENABLED |
UI 用于隐藏/显示签名的上传按钮,默认值:False |
GALAXY_REQUIRE_SIGNATURE_FOR_APPROVAL |
审批仪表板和移动端点是否必须需要签名?默认值:False |
GALAXY_MINIMUM_PASSWORD_LENGTH |
用于验证的最小密码长度,默认值:9 |
GALAXY_DYNAMIC_SETTINGS |
启用动态设置功能,默认值:False |
有关 SSO Keycloak 配置,请参见 keycloak
Pulp、Django 和其他插件¶
变量名 | 描述 |
---|---|
CONTENT_BIND |
Pulp 应用程序内容绑定,例如:unix:/path/to/socker.sock ,默认值:None |
DEFAULT_FILE_STORAGE |
设置存储后端,例如:'storages.backends.s3boto3.S3Boto3Storage' ,默认值:None |
ANSIBLE_API_HOSTNAME |
Ansible API 的主机名,默认值:与 PULP_CONTENT_ORIGIN 相同 |
SESSION_COOKIE_AGE |
会话 cookie 过期前的秒数,默认值:1209600 (2 周,以秒为单位) |
有关 pulp 的更多配置选项,请查看 https://docs.pulpproject.org/pulpcore/configuration/index.html
不可变的配置选项¶
某些配置键出现在设置中,但无法被覆盖,因为 Galaxy 强制使用这些变量的最终值。
REST_FRAMEWORK__DEFAULT_AUTHENTICATION_CLASSES
(默认为GALAXY_AUTHENTICATION_CLASSES
的值)ANSIBLE_URL_NAMESPACE
(默认为固定值"galaxy:api:v3:"
)ANSIBLE_DEFAULT_DISTRIBUTION_PATH
(默认为GALAXY_API_DEFAULT_DISTRIBUTION_BASE_PATH
的值)
启用集合下载日志¶
要记录集合下载,请设置 ANSIBLE_COLLECT_DOWNLOAD_LOG=True
。可以使用 pulpcore-manager download-log
查看记录的下载。