配置参考#

文件#

Anaconda Enterprise 4 仓库从以下位置加载扩展名为 .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的日志记录模块配置结构。

用户名#

用户正则表达式#

定义允许用户名的正则表达式。

例如,此设置指定用户名仅包含小写字母、句点、加号和减号字符 (., +-):

USER_REGEX: '^[a-z.+-]+$'

注意:USER_REGEX 的默认值是 ^[a-z0-9_][a-z0-9_-]+$,这意味着:至少一个字母数字字符或下划线,后面跟着零个或多个字母数字、破折号或下划线字符。

注意:转义任何额外的单引号字符实例 '\'。不要使用斜杠和与号字符 /&,它们在URL中具有特殊含义。

注意:如果更改了USER_REGEX并重新启动服务器,不匹配新USER_REGEX的现有用户名不会导致错误。

数据库#

仓库使用MongoDB作为数据库后端。

MONGO_URL#

一个MongoDB连接URI用于连接到MongoDB数据库服务器。它可以用来配置主机名和端口,以及数据库认证。

例如:

MONGO_URL: mongodb://anaconda-server:Pa55w0rd@mongodb.serv/

MONGO_DBNAME#

MongoDB数据库,Repository存储其数据的地方。

MQ_DBNAME#

MongoDB 数据库,Repository 用于存储异步处理数据的数据库。

MONGO_REPLICA_SET#

在建立与数据库服务器的连接后,MongoDB 副本集的名称,仓库将连接到该副本集。

文件存储#

存储库可以从本地文件系统或亚马逊网络服务简单存储服务(AWS S3)提供包内容。

存储类型#

使用的存储机制。有效的选择是fs,用于文件系统存储,或s3,用于AWS S3存储。

keyname_full_path#

当此选项设置时,Repository 会按完整路径存储文件,而不仅仅是按哈希值存储。这样,用户 Bob 上传的 tensorflow 文件将被存储在 /Bob/tensorflow/osx-64/tensorflow-1.1.0-np112py36_0.tar.bz2-594ac56e7e042600648defdb

注意:存储路径并不总是包含当前文件所有者及其用户名。这是因为当您重命名用户或将文件转移给不同用户时,存储上的文件位置不会改变。

Fs_storage_root#

如果配置为使用文件系统存储,则为存储库存储所有上传包的目录的绝对路径。

PACKAGE_BUCKET_ID#

如果配置为使用AWS S3存储,则为存储库存储上传包的AWS S3存储桶的名称。

您可以通过在您的http://.s3.amazonaws.com URL中使用来识别您的存储桶名称。

S3_REGION_NAME#

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

S3服务器端加密#

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

笔记本#

最大IPYNB文件大小#

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

Web服务器#

服务器名称#

服务器的名称和端口号。此选项对于子域名支持是必需的。

例如:

SERVER_NAME: anaconda.srv:8080

端口#

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

子域名#

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

例如:

SERVER_NAME: anaconda.srv:8080
subdomains: true

允许访问位于 http://conda.anaconda.srv:8080/ 的 conda 包。

用户内容域#

作为一种跨站脚本(XSS)保护措施,笔记本内容可以从一个单独的域名提供服务。如果配置了此选项,Repository 只从此域名提供渲染后的笔记本。

参见 保护用户创建的内容

ssl选项#

仓库可以使用用户提供的SSL证书通过HTTPS提供内容。

例如:

ssl_options:
    certfile: /etc/anaconda-server/server.crt
    keyfile: /etc/anaconda-server/server.key
PREFERRED_URL_SCHEME: https

certfile#

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

密钥文件#

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

ssl版本#

一个整数,指定由Python的ssl模块定义的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)。

首选URL方案#

用于生成URL的首选方案。如果配置了HTTPS,请将此设置为 https

gunicorn#

仓库使用Gunicorn。最常用的选项是timeoutworkers。完整的设置列表可以在Gunicorn的文档中找到。

例如:

gunicorn:
    timeout: 60
    workers: 5

超时#

允许工作者处理请求的秒数,之后将被强制终止。

默认值:120

工作人员#

Gunicorn 为服务仓库生成的工作线程数。默认为 CPU 数量的 2 倍加 1。

认证#

认证类型#

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

注意:要使用带有SSL的LDAP,请设置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配置选项

锁定#

使所有视图(登录表单和欢迎页面除外)对匿名用户不可访问。

电子邮件#

仓库可以配置为因各种原因发送电子邮件,包括重置忘记的用户名和密码。电子邮件可以使用SMTP协议发送,或通过亚马逊网络服务简单电子邮件服务(AWS SES)发送。

SMTP_HOST#

SMTP服务器的主机名。

SMTP端口#

SMTP服务器的端口。

SMTP_TLS#

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

SMTP用户名#

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

SMTP_PASSWORD#

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

使用SES#

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

返回地址#

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

允许重复的电子邮件#

如果设置为true,仓库允许不同用户共享相同的电子邮件或次要电子邮件。默认为false

需要电子邮件验证#

如果设置为true,仓库会向新用户发送一个唯一的令牌,以验证他们的电子邮件地址,然后才允许他们登录。

高级#

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时构建安装程序、包裹和管理包的超时时间(以秒为单位)。默认值为60秒。

构造函数令牌超时#

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

构造函数允许的选项#

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

PARCELS_ROOT#

生成Cloudera parcels的前缀。 默认为 /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

默认频道#

使用捆绑的Anaconda发行版安装的环境从中拉取包的存储库账户。默认为['anaconda', 'r-channel']

例如,要添加一个额外的 custom 账户:

DEFAULT_CHANNELS:
    - anaconda
    - r-channel
    - custom

CONSTRUCTOR_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

永久会话生命周期#

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

超级用户组织管理员#

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

NEXT_URL_WHITELIST#

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

NEXT_URL_WHITELIST_REGEXP#

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