生成、验证和推送运算符

operator-courier的Python项目详细描述


运营商快递

Build StatusCoverage Status

操作符courier用于构建、验证和推送操作符工件。

Operator Courier目前在Python3.6及更高版本上受支持。

安装

  • 要安装最新版本的operator courier,只需安装PyPI

    $ pip3 install operator-courier
    
  • 要安装特定版本,请使用==运算符并指定版本。例如:

    $ pip3 install operator-courier==2.0.1
    
  • 升级现有运营商快递发布:

    $ pip3 install -U operator-courier
    

用法

命令行界面

安装项目后,可以在符合预期Manifest format的目录上运行verify命令。

$ operator-courier verify $MANIFESTS_DIR

要将操作员清单推送到quay.io应用程序注册表,只需使用operator-courier push。只需传递需要推送的目录、命名空间、存储库、发布版本和quay.io授权令牌。

$ operator-courier push $MANIFESTS_DIR$EXAMPLE_NAMESPACE$EXAMPLE_REPOSITORY$EXAMPLE_RELEASE"$AUTH_TOKEN"

创建之后,您应该能够在quay.io的应用程序页面上查看您的推送应用程序,查看您的特定名称空间、repo和发布版本(https://quay.io/application/$EXAMPLE_NAMESPACE/$EXAMPLE_REPOSITORY?tab=$EXAMPLE_RELEASE

有关详细信息,请在主程序或任何子命令上运行“帮助”

$ operator-courier -h
$ operator-courier $SUBCOMMAND -h

调试验证错误

您可以选择指定--verbose标志,以便在verifypush期间查看详细的验证信息

$ operator-courier --verbose verify $MANIFESTS_DIR
$ operator-courier --verbose push $MANIFESTS_DIR$EXAMPLE_NAMESPACE$EXAMPLE_REPOSITORY$EXAMPLE_RELEASE"$AUTH_TOKEN"

有关详细信息,请参阅以下有关创建有效CSV的文档

认证

目前,Courier使用的Quay API只能使用quay.io的基本帐户令牌身份验证进行身份验证。为了让这个令牌向quay进行身份验证,需要针对登录api发出请求。这需要一个普通的quay.io帐户,并将用户名和密码作为参数。这将返回一个可传递给信使的身份验证令牌。

$ AUTH_TOKEN=$(curl -sH "Content-Type: application/json" -XPOST https://quay.io/cnr/api/v1/users/login -d '{    "user": {        "username": "'"${QUAY_USERNAME}"'",        "password": "'"${QUAY_PASSWORD}"'"    }}'| jq -r '.token')

预计将来会有增强,这个身份验证过程在将来的版本中将有所改变。

要在项目中使用operator courier,只需安装operator courier pip包。然后导入api模块:

fromoperatorcourierimportapidefmain():api.build_verify_and_push(NAMESPACE,RESPOSITORY,RELEASE_VERSION,AUTH_TOKEN,source_dir="./my/folder/to/manifests/")

使用pip在本地构建和运行工具

$ pip3 install --user .

$ operator-courier

测试

运行测试

Install tox然后运行:

$ tox

这将使用Python3的几个版本运行测试,测量覆盖率, 运行flake8进行代码linting。

构建Docker图像

docker build Dockerfile -t $TAG
docker run $TAG operator-courier

有关详细信息,请参见contribution guide

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

推荐PyPI第三方库


热门话题
Linux的java字符串命令   java parseInt和viewflipper布局问题   java正则表达式来平衡括号   mysql与数据库的Java连接   java将JFreeChart系列名称映射到系列索引   多线程如何使用信号量在Java中对哲学家进行编码?   oop特殊变量“this”如何准确地知道在JAVA程序中引用哪个对象?   Android上的java getType   当前值/单元格POI上的java Excel公式   代码中有错误(java.awt.image.RasterFormatException)   java改造2,参数转换   未找到java JSF 2 Ajax属性   JAVArmi。服务器在OpenJDK 8中,useCodebaseOnly默认为true   java如何用final实现静态?   对付Java语法冗长的最佳IDE宏工具?   java@Transactional不回滚