用yaml申报和管理香港资源

kong-incubator的Python项目详细描述


孔曼(爱孔之叉)

yaml声明所需的Kong。 停止手动操作并维护它们的文档。 通过kong管理api(rest、异步http、json)管理资源。 包括一个向管理api本身添加授权的示例。

变更日志

有些更改向后与aio-kong不兼容。

  • 补丁测试(SNI,消费者)通过孔0.14.x和1.0.0rc2
  • 添加docker-compose stack用于测试
  • flake8mypytestbuildpublish_pypimake添加规则。
  • 添加为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_URLbwic
  • 删除--ipbwic

待办事项:

  • 添加与<;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上传的内容。

Test PyPI

make publish_test

PyPI

make publish_pypi

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用Java中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?