配置参考#
文件#
Anaconda Enterprise 4 Repository 从以下位置加载扩展名为 .yaml
的配置文件
/etc/binstar/
/etc/anaconda-server/
$PREFIX/etc/anaconda-server
注意:$PREFIX
是仓库安装的位置。
文件从这些目录按顺序加载,后面的文件覆盖前面的文件。文件从每个目录按字母顺序加载。
如果设置了环境变量 ANACONDA_SERVER_CONFIG
并包含配置文件的路径,则此文件将在已列出的三个文件之后加载。它的设置将覆盖早期文件中任何冲突的设置。
每个配置设置变量都可以使用 anaconda-server-config --set
命令或通过编辑配置文件来设置其值。
示例:要将名为 VALUE_ONE 的值设置为 50,请将其添加到配置文件中
VALUE_ONE: 50
或者,您可以使用以下命令将名为 VALUE_ONE 的值设置为 50
anaconda-server-config --set VALUE_ONE 50
日志记录#
服务器日志文件的位置在 supervisord 配置文件 $PREFIX/etc/supervisord.conf
中定义,通过位于 [program:anaconda-server] 部分的 stdout_logfile
配置条目。
日志记录的高级配置需要在服务器的 config.yaml 上设置 LOGGING 键。它使用 Python 的 logging 模块配置结构。
用户名#
USER_REGEX#
定义允许的用户名的正则表达式。
例如,此设置指定用户名仅包含小写字母、句点、加号和减号字符 (.
, +
和 -
)
USER_REGEX: '^[a-z.+-]+$'
注意:USER_REGEX
的默认值为 ^[a-z0-9_][a-z0-9_-]+$
,它转换为:至少一个字母数字字符或下划线,后跟零个或多个字母数字、破折号或下划线字符。
注意:转义单引号字符 '
的任何额外实例,如 \'
。请勿使用斜杠和 & 符号 /
和 &
,它们在 URL 中具有特殊含义。
注意:如果 USER_REGEX 被更改并且服务器重新启动,则与新 USER_REGEX 不匹配的现有用户名不会导致错误。
数据库#
Repository 使用 MongoDB 作为数据库后端。
MONGO_URL#
MongoDB 连接 URI 用于连接到 MongoDB 数据库服务器。它可用于配置主机名和端口,以及数据库身份验证。
例如
MONGO_URL: mongodb://anaconda-server:Pa55w0rd@mongodb.serv/
MONGO_DBNAME#
Repository 存储其数据的 MongoDB 数据库。
MQ_DBNAME#
Repository 存储用于异步处理的数据的 MongoDB 数据库。
MONGO_REPLICA_SET#
MongoDB 副本集 的名称,Repository 在建立与数据库服务器的连接后连接到该副本集。
文件存储#
Repository 可以从本地文件系统或 Amazon Web Services Simple Storage Service: AWS S3 提供包内容。
Storage_type#
要使用的存储机制。有效选项为 fs
(用于文件系统存储)或 s3
(用于 AWS S3 存储)。
keyname_full_path#
设置此选项后,Repository 将按完整路径而不是仅按哈希值存储文件。这样,用户 Bob 上传的 tensorflow 文件将存储在 <fs_storage_root>/Bob/tensorflow/osx-64/tensorflow-1.1.0-np112py36_0.tar.bz2-594ac56e7e042600648defdb
上。
注意:存储路径并不总是包含当前文件所有者及其用户名。这是因为当您重命名用户或将文件传输给不同的用户时,存储上的文件位置不会更改。
Fs_storage_root#
如果配置为使用文件系统存储,则 Repository 存储所有上传包的目录的绝对路径。
PACKAGE_BUCKET_ID#
如果配置为使用 AWS S3 存储,则 Repository 存储上传包的 AWS S3 存储桶的名称。
您可以使用 http://<bucket>.s3.amazonaws.com
URL 中的 <bucket>
来标识存储桶的名称。
S3_REGION_NAME#
存储桶所在的 S3 区域。可在 Amazon AWS 文档中找到可用的区域。
S3_SERVER_SIDE_ENCRYPTION#
此变量可以设置为 AES256
以启用存储在 S3 存储桶中的包的服务器端加密。
Notebooks#
MAX_IPYNB_SIZE#
指定上传笔记本到服务器时允许的最大大小。默认值为 25 MB。此变量可以在 config.yaml
中设置。
Web 服务器#
SERVER_NAME#
服务器的名称和端口号。此选项是子域名支持所必需的。
例如
SERVER_NAME: anaconda.srv:8080
port#
服务器的端口号。默认为 8080
。
subdomains#
如果设置为 true
,则 Repository 从单独的子域名提供 conda
包。默认为 false
。
例如
SERVER_NAME: anaconda.srv:8080
subdomains: true
允许在 http://conda.anaconda.srv:8080/
访问 conda 包。
USER_CONTENT_DOMAIN#
作为跨站脚本 (XSS) 保护,笔记本内容可以从单独的域名提供。如果配置了此选项,则 Repository 仅从此域名提供渲染的笔记本。
请参阅 保护用户创建的内容。
ssl_options#
Repository 可以使用用户提供的 SSL 证书通过 HTTPS 提供内容。
例如
ssl_options:
certfile: /etc/anaconda-server/server.crt
keyfile: /etc/anaconda-server/server.key
PREFERRED_URL_SCHEME: https
certfile#
PEM 格式的 X.509 证书文件的绝对路径。
keyfile#
关联证书的 PEM 格式的私钥的绝对路径。
ssl_version#
一个整数,用于指定 SSL 协议版本,其定义与 Python 的 ssl
模块一致
PROTOCOL_SSLv2 = 0
PROTOCOL_SSLv23 = 2
PROTOCOL_SSLv3 = 1
PROTOCOL_TLS = 2
PROTOCOL_TLSv1 = 3
PROTOCOL_TLSv1_1 = 4
PROTOCOL_TLSv1_2 = 5
默认值为 5
(TLS v1.2)。
PREFERRED_URL_SCHEME#
用于生成 URL 的首选方案。如果配置了 HTTPS,请将其设置为 https
。
gunicorn#
Repository 使用 Gunicorn。最常用的选项是 timeout
和 workers
。完整的设置列表可以在 Gunicorn 的文档中找到。
例如
gunicorn:
timeout: 60
workers: 5
timeout#
工作进程在被强制终止之前,允许处理请求的秒数。
默认值:120
workers#
Gunicorn 衍生用于服务 Repository 的工作进程数。 默认为 CPU 数量的 2 倍 + 1。
Authentication#
AUTH_TYPE#
Repository 用于验证用户身份的方法。有效选项包括 NATIVE
(用于内置身份验证)、KERBEROS
(用于 Kerberos)和 LDAP
。
KRB5_HOSTNAME#
请参阅 Kerberos 配置选项。
KRB5_SERVICE_NAME#
请参阅 Kerberos 配置选项。
KRB5_KTNAME#
请参阅 Kerberos 配置选项。
LDAP#
用于配置 LDAP 身份验证和组同步的选项。
例如
LDAP:
# Replace with company LDAP server
URI: 'ldap://<ldap.company.com>'
# Replace <uid=%(username)s,ou=People,dc=company,dc=com> with your company specific LDAP Bind/Base DN
# Bind directly to this Base DN.
BIND_DN: '<uid=%(username)s,ou=People,dc=company,dc=com>'
# password of the user specified in the BIND_DN
BIND_AUTH: abc123456
USER_SEARCH:
base: cn=Users,dc=example,dc=com
filter: sAMAccountName=%(username)s
# Map LDAP keys into application specific keys
KEY_MAP:
name: 'cn'
company: 'o'
location: 'l'
email: 'mail'
OPTIONS:
OPT_NETWORK_TIMEOUT: 60
OPT_TIMEOUT: 60
注意:要将 LDAP 与 SSL 结合使用,请设置 USER_REGEX
和 account_names_filter
选项
account_names_filter: false
USER_REGEX: ^[a-z0-9_][a-z0-9_-.]+$
LDAP:
[configuration continues as above with URI, BIND_DN, and so on]
请参阅 使用 LDAP 和 TLS 配置选项。
LOCK_DOWN#
使除登录表单和欢迎页面之外的所有视图,对匿名用户不可访问。
Email#
Repository 可以配置为出于各种原因发送电子邮件,包括重置忘记的用户名和密码。可以使用 SMTP 协议或通过 Amazon Web Services Simple Email Service (AWS SES) 发送电子邮件。
SMTP_HOST#
SMTP 服务器的主机名。
SMTP_PORT#
SMTP 服务器的端口。
SMTP_TLS#
如果设置为 true
,Repository 将尝试与 SMTP 服务器建立 SSL 连接。
SMTP_USERNAME#
用于在尝试发送电子邮件之前,针对 SMTP 服务器进行身份验证的用户名。
SMTP_PASSWORD#
用于在尝试发送电子邮件之前,针对 SMTP 服务器进行身份验证的密码。
USE_SES#
如果设置为 true
,Repository 将使用 AWS SES 发送电子邮件。 要向 AWS 进行身份验证,服务器应配置适当的 IAM 角色,或在 Boto 配置文件中指定凭据。
RETURN_ADDRESS#
Repository 用作发件人的 From:
电子邮件地址。
ALLOW_DUPLICATED_EMAILS#
如果设置为 true
,Repository 允许不同的用户共享相同的电子邮件或辅助电子邮件。 默认为 false
。
require_email_validation#
如果设置为 true
,Repository 会向新用户发送一个唯一的令牌,以验证他们的电子邮件地址,然后才允许他们登录。
Advanced#
AVATAR_METHOD#
用于生成用户头像 URL 的方法。有效选项包括
‘gravatar’:使用 gravatar.com 服务
‘default’:显示预定义的静态图标
‘static’:使用自定义静态 URL
AVATAR_GRAVATAR_URL#
与 Gravatar 兼容的服务的 URL。 默认值:https://www.gravatar.com/
。 此 URL 用作构建有效 gravatar URL 的前缀。
AVATAR_STATIC_URL#
当 AVATAR_METHOD
设置为 static
时,要使用的静态 URL。 默认为空字符串。
CONSTRUCTOR_TIMEOUT#
在构建安装程序、parcel 和管理包时,调用 constructor
的超时时间(秒)。 默认为 60 秒。
CONSTRUCTOR_TOKEN_TIMEOUT#
为了在构建安装程序时提供对私有包的访问,会创建一个临时令牌。 它必须在调用 constructor
期间有效,并且应在调用完成后立即过期。 CONSTRUCTOR_TOKEN_TIMEOUT
设置令牌的有效生命周期(秒)。 默认为 60 秒。 此值应大于或等于 CONSTRUCTOR_TIMEOUT
。
CONSTRUCTOR_ALLOWED_OPTIONS#
允许包含在安装程序构建表单中的 constructor
选项名称列表。 默认值为 []
(不允许任何选项)。
PARCELS_ROOT#
生成 Cloudera parcel 的前缀。 默认为 /opt/cloudera/parcels
。
PARCEL_DISTRO_SUFFIXES#
为其生成 Cloudera parcel 的发行版。 默认为 ['el5', 'el6', 'el7', 'lucid', 'precise', 'trusty', 'wheezy', 'jessie', 'squeeze', 'sles11', 'sles12']
。
例如,如果您只想支持 Ubuntu
PARCEL_DISTRO_SUFFIXES:
- lucid
- precise
- trusty
DEFAULT_CHANNELS#
使用捆绑的 Anaconda 发行版安装的环境从中拉取包的 Repository 帐户。 默认为 ['anaconda', 'r-channel']
。
例如,要添加一个额外的 custom
帐户
DEFAULT_CHANNELS:
- anaconda
- r-channel
- custom
CONSTRUCTOR_TMPDIR#
当 constructor
构建安装程序时,它会将配置存储在此临时目录中。 默认值为 None
,这告诉 constructor
使用 Python 的 tempfile.mkdtemp
创建一个临时目录。
STANDARD_LABELS#
标准化标签的列表。 如果用户定义的标签未列为标准标签,则会在包页面中显示警告通知。 默认为 ['main', 'dev', 'alpha', 'beta', 'broken']
。
CONDA_CACHE_SIZE#
repodata.json
请求缓存的最大大小(以字节为单位)。 设置为 0
以禁用 repodata.json
缓存。 默认值:1 Gb。 当达到最大大小时,缓存中最近最少使用的 10 个条目将被逐出。
CACHE_METHOD#
用于缓存 repodata 信息的方法。 它可以是 tempfile
(之前的缓存方法)或 diskcache
,后者使用 SQLite 作为后端。 默认值:diskcache
。
PERMANENT_SESSION_LIFETIME#
一个整数,用于设置会话将持续多少分钟。 仅当 REMEMBER_COOKIE_ENABLED
为 false 时使用。 默认值为 44640(31 天)。
SUPERUSER_ORG_ADMIN#
是否应自动授予超级用户对组织的管理员权限。 默认值为 false
。
NEXT_URL_WHITELIST#
主机名列表,这些主机名在由于存在“next”请求参数而重定向请求时被标记为安全。 它主要在 Anaconda Enterprise Notebooks 单点登录设置下使用。 默认值为 [](没有外部重定向是安全的)。
NEXT_URL_WHITELIST_REGEXP#
用于匹配主机名的正则表达式,这些主机名在由于存在“next”请求参数而重定向请求时被标记为安全。 它主要在 Anaconda Enterprise Notebooks 单点登录设置下使用。 默认值为 ‘(?!)’,它不匹配任何内容,因此仅允许本地重定向。