用yaml申报和管理香港资源
kong-incubator的Python项目详细描述
孔曼(爱孔之叉)
用yaml
声明所需的Kong。
停止手动操作并维护它们的文档。
通过kong管理api(rest、异步http、json)管理资源。
包括一个向管理api本身添加授权的示例。
变更日志
有些更改向后与aio-kong不兼容。
- 补丁测试(SNI,消费者)通过孔0.14.x和1.0.0rc2
- 添加docker-compose stack用于测试
- 为
flake8
,mypy
,test
,build
,publish_pypi
,make
添加规则。 - 添加为dev和release创建
.venvs/
,由make
规则处理 - 添加(自以为是的)
pytest
插件,以帮助自己 - 添加
--output
以将输出限制为json属性(用于脚本),或具有None
- 为Kong Admin API环回添加
examples/
,并通过它添加示例端点 - 添加
KONG_ADMIN_URL
,默认为http://localhost:8001
- 添加
KONG_ADMIN_KEY
通过环回和密钥验证使用kong admin api - 添加
--admin-url
和--admin-key
以优先于以上两个 - 删除
KONG_URL
bwic - 删除
--ip
bwic
待办事项:
- 添加与<;0.14孔的兼容性,将>;=0.14部分复制回aio孔。
安装
来自PyPI:
pip install --upgrade kong-incubator
python>;=需要3.6。
用法
KONG_ADMIN_URL
默认值http://localhost:8001。
创建或升级资源(是一个Mockbin代理):
kong-incubator --yaml examples/mockbin.yaml
为消费者生成一个随机的key
:
kong-incubator --key-auth mocker
仅当已设置key
时输出。
使用已更改的--yaml
运行仅升级已更改的部分。
从文件中删除的资源不会从香港删除。
要从kong中删除资源,请在yaml中为其添加ensure: absent
。
有关所有选项,请参见kong-incubator --help
。
安全香港管理api
创建需要密钥验证的Kong Admin API Loopback:
kong-incubator --yaml examples/kadmin.yaml
kong-incubator --key-auth root --output key
从现在起,通过环回管理孔(检查请求头apikey
):
export KONG_ADMIN_URL=http://localhost:8000/kadmin
export KONG_ADMIN_KEY={{thekeyabove}}
kong-incubator --yaml ..
可以使用选项--admin-url
或--admin-key
,或者优先使用:
export KONG_ADMIN_URL=http://localhost:8000/kadmin
kong-incubator --admin-key={{thekeyabove}} --yaml ..
在kubernetes/openshift中,删除8001和8444的路由。
用作lib
importjsonfromkong.clientimportKongasyncwithKong()ascli:services=awaitcli.services.get_list()print(json.dumps(services,indent=4))
开发
测试假设您在http://localhost:8001运行kong管理api。
如果有docker-compose
可用,则可以运行make dc
以获取
kongpose/作为git子模块,并在后台启动它进行测试。
使用make dc_rm
停止并删除堆栈,包括dbs的卷。
运行make
作为其他三个规则的快捷方式:
make test
创建也安装了开发需求的.venvs/dev
。 若要仅重新运行失败的测试(如果有),请使用make retest
,它也会跳过 安装要求。两人都清理他们创造的香港资源。make build
每次运行时创建.venvs/release
, 安装生成工具并生成源和轮子距离。make install
从源树安装包。
运行make clean
以删除.venvs
、构建、分发和缓存。
有关所有选项,请参见make help
。
发布
Twine包含用于通过https上传的内容。
make publish_test
到PyPI
make publish_pypi