跳转到主要内容

从环境变量中可用的CKAN配置设置

项目描述

image

ckanext-envvars

此CKAN扩展检查符合预期格式的环境变量,并使用其值更新相应的CKAN配置设置。

为了使扩展正确识别哪些env var键映射到用于配置对象的格式,env var键应按以下方式格式化

  1. 全部大写
  2. 将点('.')替换为两个下划线('__')
  3. 键必须以'CKAN'或'CKANEXT'开头

一些示例

ckan.site_id --> CKAN__SITE_ID
ckanext.s3filestore.aws_bucket_name --> CKANEXT__S3FILESTORE__AWS_BUCKET_NAME

对于不以'CKAN'开头的键,请在开头添加'CKAN___'(3个下划线),以帮助扩展识别这些键,例如。

sqlalchemy.url --> CKAN___SQLALCHEMY__URL
beaker.session.secret --> CKAN___BEAKER__SESSION__SECRET

从CKAN 2.10(和ckanext-envvars 0.0.4)开始,如果使用CKAN的配置声明定义配置选项,则键不会进一步处理。这允许保留例如SECRET_KEY、WTF_CSRF_ENABLED等大写设置。

SECRET_KEY --> CKAN___SECRET_KEY
WTF_CSRF_ENABLED --> CKAN___WTF_CSRF_ENABLED

需求

已在CKAN 2.7、CKAN 2.8、CKAN 2.9和CKAN 2.10中进行测试,但可能在其他版本中也能工作。

为确保所有配置设置都被环境变量值覆盖,envvars必须是ckan.plugins列表中的最后一个插件条目(见下文“安装”部分)。

安装

要安装ckanext-envvars

  1. 激活您的CKAN虚拟环境,例如

    . /usr/lib/ckan/default/bin/activate
    
  2. 将ckanext-envvars Python包安装到您的虚拟环境中

    pip install ckanext-envvars
    
  3. envvars添加到您的CKAN配置文件中的ckan.plugins设置(默认配置文件位于/etc/ckan/default/production.ini)。

  4. 重启CKAN。例如,如果您在Ubuntu上使用Apache部署了CKAN

    sudo service apache2 reload
    

开发安装

要为开发安装ckanext-envvars,激活您的CKAN虚拟env并执行以下操作

git clone https://github.com/okfn/ckanext-envvars.git
cd ckanext-envvars
python setup.py develop
pip install -r dev-requirements.txt

运行测试

它们遵循测试CKAN扩展的指南。

要运行测试,请执行以下操作

pytest --ckan-ini=test.ini ckanext/envvars/tests.py

ckanext-envvars在PyPI上

ckanext-envvars作为ckanext-envvars在PyPI上可用。

发布ckanext-envvars的新版本

要发布此CKAN扩展的新版本,您应该

  • 更新setup.py文件,并设置新版本号(N.N.N)
  • 使用新版本对repo进行标记
git tag vN.N.N
git push --tags
  • 创建新版本源分发版
python setup.py sdist
  • 设置twine。必须包含以下内容的$HOME/.pypirc文件
[pypi]
username = __token__
password = <the token value, including the `pypi-` prefix>
  • 将新版本上传到PyPI
pip install twine
twine check dist/*
twine upload dist/*

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分发

ckanext_envvars-0.0.6.tar.gz (19.1 kB 查看散列)

上传时间:

构建分发

ckanext_envvars-0.0.6-py3-none-any.whl (18.9 kB 查看散列)

上传时间: Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面