配置参考#

文件#

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。最常用的选项是 timeoutworkers。完整的设置列表可以在 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_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#

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

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 单点登录设置下使用。 默认值为 ‘(?!)’,它不匹配任何内容,因此仅允许本地重定向。