生成、验证和推送运算符
operator-courier的Python项目详细描述
运营商快递
操作符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
标志,以便在verify
或push
期间查看详细的验证信息
$ 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。