弹性构建结果的restful接口。
ebr-board的Python项目详细描述
欧洲复兴开发银行董事会
弹性构建结果的restful接口。
用法
要查看api文档,请启动服务器并转到<url>/api/docs
。
配置
ebr board使用Vault-Anyconfig读取其配置,允许它访问hashicorp保险库 加载机密的实例。有关更多详细信息,请参阅其文档。
为了部署一个简单的ebr板实例,您需要两个文件:config.yaml
和vault.yaml
。将vault.yaml
保留为空,因为我们不会使用
在此实例中从保管库anyconfig进行秘密加载。
config.yaml
格式如下:
elastic:host:<elastic_url>port:9200timeout:20use_ssl:trueverify_certs:trueca_certs:/etc/ebr-board/elastic.crtindex:testspipeline*user:<elastic_user>pwd:<elastic_password>
要更改默认的url前缀(/api
),请在顶层添加一个新的键值:
url_prefix:"/new_prefix"
要使用no前缀,请提供一个空字符串,即
url_prefix:""`
开发模式
要在开发模式下启动,请运行python ebr_board/ebr_board.py
生产模式
可以使用ebr_board:create_app(config_filename='/etc/ebr-board/config.yaml', vault_config_filename='/etc/ebr-board/vault.yaml', vault_creds_filename='/etc/ebr-board/vault.yaml', load_certs=True, reverse_proxy=True)
调用,例如从gunicorn调用。您应该在反向代理后面配置它-有关更多详细信息,请参见
有关配置Flask服务器以进行部署的任何指南。预配置Gunicorn的Dockerfile在存储库的根目录中可用。
AWS Lambda支持
可以使用aws_lambda
模块中的handler
函数在aws lambda中运行该应用程序。在这种情况下,它应该与
aws_lambda
可选依赖项,即pip install ebr-board['aws_lambda']
。
它希望配置(主配置、保险库配置和保险库凭据)将完全作为字符串存储在参数中
商店。它处理这些参数的方式可以配置环境变量:
config_name
:默认为ebr_board_config
vault_config_name
:默认为ebr_board_vault_config
vault_creds_name
:默认为ebr_board_vault_creds
config_format
:默认为yaml
功能
- 提供提取抽象:
- 给定作业的生成列表
- 给定工作的测试
- 测试失败的集合
- AWS Lambda支持
待办事项:
- 提高测试覆盖率
- 填写资源覆盖率
- 扩展聚合/搜索功能
学分
这个包是用Cookiecutter和tomtom-international/cookiecutter-python项目模板创建的。
更改日志
0.2.0(2019-08-26)
- 删除了对Python3.5的支持
0.1.1(2019-08-23)
- 添加了aws lambda所需的附加功能
0.1.0(2019-08-22)
- 添加aws lambda处理程序
- 清理代码以更好地包含状态(用于lambda兼容性)
0.0.1-偏差(2019-07-05)
- pypi上的第一个版本。