配置参考

文件

Anaconda 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

记录

服务器日志文件的位置$PREFIX/etc/supervisord.confstdout_logfile位于 [program:anaconda-server] 部分的配置条目在 supervisord 配置文件中定义。

日志的高级配置需要在服务器的 config.yaml 上设置一个 LOGGING 键。它使用 Python 的日志模块配置结构。

用户名

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 的包内容。

存储类型

要使用的存储机制。有效的选择是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 存储桶的名称。

您可以<bucket>http://<bucket>.s3.amazonaws.comURL 中使用来标识存储桶的名称。

S3_REGION_NAME

存储桶所在的 S3 区域。可以在Amazon AWS 文档 中找到可用区域 。

S3_SERVER_SIDE_ENCRYPTION

可以将此变量设置为为存储在 S3 存储桶中的包AES256启用 服务器端加密

笔记本

MAX_IPYNB_SIZE

指定将笔记本上传到服务器时允许的最大大小。默认值为 25 MB。这个变量可以在 config.yaml.

网络服务器

服务器名称

服务器的名称和端口号。子域支持需要此选项。

例如:

SERVER_NAME: anaconda.srv:8080

端口

服务器的端口号。默认为8080.

子域

如果设置为true,Repositoryconda从单独的子域提供包。默认为false.

例如:

SERVER_NAME: anaconda.srv:8080
subdomains: true

允许访问 .conda 包http://conda.anaconda.srv:8080/

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

证书文件

PEM 格式的 X.509 证书文件的绝对路径。

密钥文件

关联证书的 PEM 格式私钥的绝对路径。

ssl_version

一个整数,指定 Pythonssl模块定义的 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。最常用的选项是timeoutworkers。可以在Gunicorn 的文档 中找到完整的设置列表。

例如:

gunicorn:
    timeout: 60
    workers: 5

超时

在强制终止之前,允许工作人员处理请求的秒数。

默认值:120

工人

Gunicorn 产生的为 Repository 提供服务的 worker 数量。默认为 2 × CPU 数量 + 1。

认证

AUTH_TYPE

Repository 用于验证用户的方法。有效的选择是 NATIVE、 用于内置身份验证、KERBEROS、 用于 Kerberos 和LDAP

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_REGEXaccount_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

使匿名用户无法访问除登录表单和欢迎页面之外的所有视图。

电子邮件

Repository 可以配置为出于各种原因发送电子邮件,包括重置忘记的用户名和密码。可以使用 SMTP 协议或通过 Amazon Web Services Simple Email Service (AWS SES) 发送电子邮件。

SMTP_HOST

SMTP 服务器的主机名。

SMTP_PORT

SMTP 服务器的端口。

SMTP_TLS

如果设置为true,存储库将尝试与 SMTP 服务器建立 SSL 连接。

SMTP_用户名

在尝试发送电子邮件之前对 SMTP 服务器进行身份验证的用户名。

SMTP_PASSWORD

在尝试发送电子邮件之前对 SMTP 服务器进行身份验证的密码。

USE_SES

如果设置为true,Repository 会使用 AWS SES 发送电子邮件。要向 AWS 进行身份验证,服务器应配置 适当的 IAM 角色,或具有在Boto 配置文件中指定的凭证。

返回地址

From:Repository 用作发件人的电子邮件地址。

ALLOW_DUPLICATED_EMAILS

如果设置为true,Repository 允许不同的用户共享相同的电子邮件或辅助电子邮件。默认为false.

require_email_validation

如果设置为true,Repository 会通过电子邮件向新用户发送一个唯一令牌,以在允许他们登录之前验证他们的电子邮件地址。

高级

头像方法

用于生成用户头像 URL 的方法。有效的选择是:

  • 'gravatar' 使用 gravatar.com 服务
  • 'default' 显示预定义的静态图标
  • 'static' 使用自定义静态 URL

头像_GRAVATAR_URL

Gravatar 兼容服务的 URL。默认值: https://www.gravatar.com/。此 URL 用作构建有效 Gravatar URL 的前缀。

AVATAR_STATIC_URL

AVATAR_METHOD设置为时使用的静态 URL static。默认为空字符串。

CONSTRUCTOR_TIMEOUT

constructor构建安装程序、包裹和管理包时调用的超时时间(以秒为单位)。默认为 60 秒。

CONSTRUCTOR_TOKEN_TIMEOUT

为了在构建安装程序时提供对私有包的访问,创建了一个临时令牌。它必须在调用期间有效,constructor并且在调用完成后应该很快到期。 CONSTRUCTOR_TOKEN_TIMEOUT以秒为单位设置令牌的有效生命周期。默认为 60 秒。该值应大于或等于CONSTRUCTOR_TIMEOUT

CONSTRUCTOR_ALLOWED_OPTIONS

constructor允许包含在安装程序构造表单中的选项名称列表。默认为[](不允许有任何选项)。

PARCELS_ROOT

生成 Cloudera 宗地的前缀。默认为/opt/cloudera/parcels.

PARCEL_DISTRO_SUFFIXES

为其生成 Cloudera 宗地的分布。默认为 .['el5', 'el6', 'el7', 'lucid', 'precise', 'trusty', 'wheezy', 'jessie', 'squeeze', 'sles11', 'sles12']

例如,如果您只想支持 Ubuntu:

PARCEL_DISTRO_SUFFIXES:
    - lucid
    - precise
    - trusty

DEFAULT_CHANNELS

捆绑的 Anaconda 发行版安装的环境从中提取软件包的存储库帐户 。默认为.['anaconda', 'r-channel']

例如,要添加一个附加custom帐户:

DEFAULT_CHANNELS:
    - anaconda
    - r-channel
    - custom

构造函数_TMPDIR ¶

constructor构建一个安装它存储此临时目录中的配置。默认为None,它告诉constructor使用 Python 的tempfile.mkdtemp.

标准标签 ¶

标准化标签列表。如果用户定义了未列为标准的标签,则包装页面中将显示警告通知。默认为.['main', 'dev', 'alpha', 'beta', 'broken']

CONDA_CACHE_SIZE

repodata.json请求缓存的最大大小(以字节为单位)。设置 0为禁用repodata.json缓存。默认值:1 Gb。当达到最大大小时,缓存中最近最少使用的 10 个条目将被逐出。

缓存方法

用于缓存 repodata 信息的方法。它可以是tempfile (缓存的先前方法)或diskcache使用 SQLite 作为后端的 。默认值:diskcache

PERMANENT_SESSION_LIFETIME

一个整数,用于设置会话将持续多少分钟。仅在REMEMBER_COOKIE_ENABLED为 false时使用 。默认值为 44640(31 天)。

超级用户_ORG_ADMIN

是否应自动授予超级用户对组织的管理权限。默认为false

NEXT_URL_WHITELIST

由于存在“next”请求参数而在重定向请求时标记为安全的主机名列表。它主要用于 Anaconda Enterprise Notebooks 单点登录设置。默认值为 [](没有外部重定向是安全的)。

NEXT_URL_WHITELIST_REGEXP

由于存在“next”请求参数,重定向请求时匹配标记为安全的主机名的正则表达式。它主要用于 Anaconda Enterprise Notebooks 单点登录设置。默认值为 '(?!)' ,它不匹配任何内容,因此只允许本地重定向。