summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <copr-devel@lists.fedorahosted.org>2023-02-25 06:34:13 +0000
committerCoprDistGit <copr-devel@lists.fedorahosted.org>2023-02-25 06:34:13 +0000
commite3e09903576047e532fe74cb93fbff3b0e37c919 (patch)
treefd236433ab806afcafb24cae088a70212f894d14
parentfc176b721a4a8829a909d2f3c01160b469b07fa3 (diff)
automatic import of python3-operator-courieropeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-operator-courier.spec507
-rw-r--r--sources1
3 files changed, 509 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..e07538f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/operator-courier-2.1.11.tar.gz
diff --git a/python-operator-courier.spec b/python-operator-courier.spec
new file mode 100644
index 0000000..ea63447
--- /dev/null
+++ b/python-operator-courier.spec
@@ -0,0 +1,507 @@
+%global _empty_manifest_terminate_build 0
+Name: python-operator-courier
+Version: 2.1.11
+Release: 1
+Summary: Build, verify and push operators
+License: Apache License 2.0
+URL: https://github.com/operator-framework/operator-courier
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c7/7f/2ed32294785795b4277ff6afbf88a64a65fff78dd3cb2ad9dd088a66bf32/operator-courier-2.1.11.tar.gz
+BuildArch: noarch
+
+Requires: python3-pyyaml
+Requires: python3-requests
+Requires: python3-validators
+Requires: python3-semver
+Requires: python3-pytest
+Requires: python3-pytest-cov
+Requires: python3-testfixtures
+
+%description
+# Operator Courier
+
+[![Build Status](https://travis-ci.org/operator-framework/operator-courier.svg?branch=master)](https://travis-ci.org/operator-framework/operator-courier)
+[![Coverage Status](https://coveralls.io/repos/github/operator-framework/operator-courier/badge.svg?branch=master)](https://coveralls.io/github/operator-framework/operator-courier?branch=master)
+
+The Operator Courier is used to build, validate and push Operator Artifacts.
+
+Operator Courier is currently supported on Python 3.6 and above.
+
+## Installation
+
+- To install the latest version of operator-courier, just install the latest release from [PyPI](https://pypi.org/project/operator-courier/):
+
+ ```bash
+ $ pip3 install operator-courier
+ ```
+
+- To install a specific release, use the `==` operator and specify the version. For example:
+
+ ```bash
+ $ pip3 install operator-courier==2.0.1
+ ```
+
+- To upgrade an existing operator-courier release:
+
+ ```bash
+ $ pip3 install -U operator-courier
+ ```
+
+## Usage
+
+### Command Line Interface
+
+Once the project is installed, you can run the `verify` command on a directory that adheres to the expected [Manifest format](https://github.com/operator-framework/operator-registry#manifest-format).
+
+```bash
+$ operator-courier verify $MANIFESTS_DIR
+```
+
+To push the operator manifests to a quay.io app registry just use `operator-courier push`. Just pass the directory, namespace, repository, release version and quay.io authorization token needed to push.
+
+```bash
+$ operator-courier push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE "$AUTH_TOKEN"
+```
+
+Once that is created, you should be able to view your pushed application on quay.io's Application page for your particular namespace, repo, and release version (https://quay.io/application/$EXAMPLE_NAMESPACE/$EXAMPLE_REPOSITORY?tab=$EXAMPLE_RELEASE)
+
+For more info, run help on the main program or any of the subcommands
+
+```bash
+$ operator-courier -h
+$ operator-courier $SUBCOMMAND -h
+```
+
+### Debugging Validation Errors
+You can optionally specify the `--verbose` flag to view detailed validation information during `verify` or `push`
+
+```bash
+$ operator-courier --verbose verify $MANIFESTS_DIR
+$ operator-courier --verbose push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE "$AUTH_TOKEN"
+```
+
+For more information, please refer to the following docs about creating valid CSVs
+- [Building a Cluster Service Version (CSV) for the Operator Framework](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md#your-custom-resource-definitions)
+- [Required fields within your CSV](https://github.com/operator-framework/community-operators/blob/master/docs/required-fields.md#categories)
+
+
+### Authentication
+Currently, the quay API used by the courier can only be authenticated using quay.io's basic account token authentication. In order to get this token to authenticate with quay, a request needs to be made against the login API. This requires a normal quay.io account, and takes a username and password as parameters. This will return an auth token which can be passed to the courier.
+
+```bash
+$ 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')
+```
+
+Expecting future enhancements, this authentication process will change somewhat in future releases.
+
+## Library
+To use the Operator Courier in your project, simply install the Operator Courier pip package. Then import the api module:
+
+```python
+from operatorcourier import api
+
+def main():
+ api.build_verify_and_push(NAMESPACE, RESPOSITORY, RELEASE_VERSION, AUTH_TOKEN, source_dir="./my/folder/to/manifests/")
+```
+
+## Building and running the tool locally with pip
+
+```bash
+$ pip3 install --user .
+$ operator-courier
+```
+
+## Building the docker image
+
+```sh
+$ docker build -f Dockerfile -t $TAG
+$ docker run $TAG operator-courier
+```
+
+For further details, please see the [contribution guide](docs/contributing.md).
+
+## Testing
+
+### Unit tests
+
+[Install tox](https://tox.readthedocs.io/en/latest/install.html) and run:
+
+```bash
+$ tox
+```
+
+This will run the tests with several versions of Python 3, measure coverage,
+and run flake8 for code linting.
+
+### Integration tests
+
+Before running integration tests, you must have write access credentials to a [quay.io](https://quay.io) namespace. See the [authentication](#authentication) section for more information.
+
+First, build the integration docker images:
+
+```sh
+$ docker build -f tests/integration/dockerfiles/integration-base.Dockerfile -t operator-courier-integration-base:latest .
+$ docker build -f tests/integration/dockerfiles/integration.Dockerfile -t operator-courier-integration:latest .
+```
+
+Then run the tests inside a container using your access credentials:
+
+```sh
+$ docker run \
+ -e QUAY_NAMESPACE="$QUAY_NAMESPACE" \
+ -e QUAY_ACCESS_TOKEN="$QUAY_ACCESS_TOKEN" \
+ operator-courier-integration:latest \
+ tox -e integration
+```
+
+
+
+
+%package -n python3-operator-courier
+Summary: Build, verify and push operators
+Provides: python-operator-courier
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+%description -n python3-operator-courier
+# Operator Courier
+
+[![Build Status](https://travis-ci.org/operator-framework/operator-courier.svg?branch=master)](https://travis-ci.org/operator-framework/operator-courier)
+[![Coverage Status](https://coveralls.io/repos/github/operator-framework/operator-courier/badge.svg?branch=master)](https://coveralls.io/github/operator-framework/operator-courier?branch=master)
+
+The Operator Courier is used to build, validate and push Operator Artifacts.
+
+Operator Courier is currently supported on Python 3.6 and above.
+
+## Installation
+
+- To install the latest version of operator-courier, just install the latest release from [PyPI](https://pypi.org/project/operator-courier/):
+
+ ```bash
+ $ pip3 install operator-courier
+ ```
+
+- To install a specific release, use the `==` operator and specify the version. For example:
+
+ ```bash
+ $ pip3 install operator-courier==2.0.1
+ ```
+
+- To upgrade an existing operator-courier release:
+
+ ```bash
+ $ pip3 install -U operator-courier
+ ```
+
+## Usage
+
+### Command Line Interface
+
+Once the project is installed, you can run the `verify` command on a directory that adheres to the expected [Manifest format](https://github.com/operator-framework/operator-registry#manifest-format).
+
+```bash
+$ operator-courier verify $MANIFESTS_DIR
+```
+
+To push the operator manifests to a quay.io app registry just use `operator-courier push`. Just pass the directory, namespace, repository, release version and quay.io authorization token needed to push.
+
+```bash
+$ operator-courier push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE "$AUTH_TOKEN"
+```
+
+Once that is created, you should be able to view your pushed application on quay.io's Application page for your particular namespace, repo, and release version (https://quay.io/application/$EXAMPLE_NAMESPACE/$EXAMPLE_REPOSITORY?tab=$EXAMPLE_RELEASE)
+
+For more info, run help on the main program or any of the subcommands
+
+```bash
+$ operator-courier -h
+$ operator-courier $SUBCOMMAND -h
+```
+
+### Debugging Validation Errors
+You can optionally specify the `--verbose` flag to view detailed validation information during `verify` or `push`
+
+```bash
+$ operator-courier --verbose verify $MANIFESTS_DIR
+$ operator-courier --verbose push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE "$AUTH_TOKEN"
+```
+
+For more information, please refer to the following docs about creating valid CSVs
+- [Building a Cluster Service Version (CSV) for the Operator Framework](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md#your-custom-resource-definitions)
+- [Required fields within your CSV](https://github.com/operator-framework/community-operators/blob/master/docs/required-fields.md#categories)
+
+
+### Authentication
+Currently, the quay API used by the courier can only be authenticated using quay.io's basic account token authentication. In order to get this token to authenticate with quay, a request needs to be made against the login API. This requires a normal quay.io account, and takes a username and password as parameters. This will return an auth token which can be passed to the courier.
+
+```bash
+$ 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')
+```
+
+Expecting future enhancements, this authentication process will change somewhat in future releases.
+
+## Library
+To use the Operator Courier in your project, simply install the Operator Courier pip package. Then import the api module:
+
+```python
+from operatorcourier import api
+
+def main():
+ api.build_verify_and_push(NAMESPACE, RESPOSITORY, RELEASE_VERSION, AUTH_TOKEN, source_dir="./my/folder/to/manifests/")
+```
+
+## Building and running the tool locally with pip
+
+```bash
+$ pip3 install --user .
+$ operator-courier
+```
+
+## Building the docker image
+
+```sh
+$ docker build -f Dockerfile -t $TAG
+$ docker run $TAG operator-courier
+```
+
+For further details, please see the [contribution guide](docs/contributing.md).
+
+## Testing
+
+### Unit tests
+
+[Install tox](https://tox.readthedocs.io/en/latest/install.html) and run:
+
+```bash
+$ tox
+```
+
+This will run the tests with several versions of Python 3, measure coverage,
+and run flake8 for code linting.
+
+### Integration tests
+
+Before running integration tests, you must have write access credentials to a [quay.io](https://quay.io) namespace. See the [authentication](#authentication) section for more information.
+
+First, build the integration docker images:
+
+```sh
+$ docker build -f tests/integration/dockerfiles/integration-base.Dockerfile -t operator-courier-integration-base:latest .
+$ docker build -f tests/integration/dockerfiles/integration.Dockerfile -t operator-courier-integration:latest .
+```
+
+Then run the tests inside a container using your access credentials:
+
+```sh
+$ docker run \
+ -e QUAY_NAMESPACE="$QUAY_NAMESPACE" \
+ -e QUAY_ACCESS_TOKEN="$QUAY_ACCESS_TOKEN" \
+ operator-courier-integration:latest \
+ tox -e integration
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for operator-courier
+Provides: python3-operator-courier-doc
+%description help
+# Operator Courier
+
+[![Build Status](https://travis-ci.org/operator-framework/operator-courier.svg?branch=master)](https://travis-ci.org/operator-framework/operator-courier)
+[![Coverage Status](https://coveralls.io/repos/github/operator-framework/operator-courier/badge.svg?branch=master)](https://coveralls.io/github/operator-framework/operator-courier?branch=master)
+
+The Operator Courier is used to build, validate and push Operator Artifacts.
+
+Operator Courier is currently supported on Python 3.6 and above.
+
+## Installation
+
+- To install the latest version of operator-courier, just install the latest release from [PyPI](https://pypi.org/project/operator-courier/):
+
+ ```bash
+ $ pip3 install operator-courier
+ ```
+
+- To install a specific release, use the `==` operator and specify the version. For example:
+
+ ```bash
+ $ pip3 install operator-courier==2.0.1
+ ```
+
+- To upgrade an existing operator-courier release:
+
+ ```bash
+ $ pip3 install -U operator-courier
+ ```
+
+## Usage
+
+### Command Line Interface
+
+Once the project is installed, you can run the `verify` command on a directory that adheres to the expected [Manifest format](https://github.com/operator-framework/operator-registry#manifest-format).
+
+```bash
+$ operator-courier verify $MANIFESTS_DIR
+```
+
+To push the operator manifests to a quay.io app registry just use `operator-courier push`. Just pass the directory, namespace, repository, release version and quay.io authorization token needed to push.
+
+```bash
+$ operator-courier push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE "$AUTH_TOKEN"
+```
+
+Once that is created, you should be able to view your pushed application on quay.io's Application page for your particular namespace, repo, and release version (https://quay.io/application/$EXAMPLE_NAMESPACE/$EXAMPLE_REPOSITORY?tab=$EXAMPLE_RELEASE)
+
+For more info, run help on the main program or any of the subcommands
+
+```bash
+$ operator-courier -h
+$ operator-courier $SUBCOMMAND -h
+```
+
+### Debugging Validation Errors
+You can optionally specify the `--verbose` flag to view detailed validation information during `verify` or `push`
+
+```bash
+$ operator-courier --verbose verify $MANIFESTS_DIR
+$ operator-courier --verbose push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE "$AUTH_TOKEN"
+```
+
+For more information, please refer to the following docs about creating valid CSVs
+- [Building a Cluster Service Version (CSV) for the Operator Framework](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md#your-custom-resource-definitions)
+- [Required fields within your CSV](https://github.com/operator-framework/community-operators/blob/master/docs/required-fields.md#categories)
+
+
+### Authentication
+Currently, the quay API used by the courier can only be authenticated using quay.io's basic account token authentication. In order to get this token to authenticate with quay, a request needs to be made against the login API. This requires a normal quay.io account, and takes a username and password as parameters. This will return an auth token which can be passed to the courier.
+
+```bash
+$ 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')
+```
+
+Expecting future enhancements, this authentication process will change somewhat in future releases.
+
+## Library
+To use the Operator Courier in your project, simply install the Operator Courier pip package. Then import the api module:
+
+```python
+from operatorcourier import api
+
+def main():
+ api.build_verify_and_push(NAMESPACE, RESPOSITORY, RELEASE_VERSION, AUTH_TOKEN, source_dir="./my/folder/to/manifests/")
+```
+
+## Building and running the tool locally with pip
+
+```bash
+$ pip3 install --user .
+$ operator-courier
+```
+
+## Building the docker image
+
+```sh
+$ docker build -f Dockerfile -t $TAG
+$ docker run $TAG operator-courier
+```
+
+For further details, please see the [contribution guide](docs/contributing.md).
+
+## Testing
+
+### Unit tests
+
+[Install tox](https://tox.readthedocs.io/en/latest/install.html) and run:
+
+```bash
+$ tox
+```
+
+This will run the tests with several versions of Python 3, measure coverage,
+and run flake8 for code linting.
+
+### Integration tests
+
+Before running integration tests, you must have write access credentials to a [quay.io](https://quay.io) namespace. See the [authentication](#authentication) section for more information.
+
+First, build the integration docker images:
+
+```sh
+$ docker build -f tests/integration/dockerfiles/integration-base.Dockerfile -t operator-courier-integration-base:latest .
+$ docker build -f tests/integration/dockerfiles/integration.Dockerfile -t operator-courier-integration:latest .
+```
+
+Then run the tests inside a container using your access credentials:
+
+```sh
+$ docker run \
+ -e QUAY_NAMESPACE="$QUAY_NAMESPACE" \
+ -e QUAY_ACCESS_TOKEN="$QUAY_ACCESS_TOKEN" \
+ operator-courier-integration:latest \
+ tox -e integration
+```
+
+
+
+
+%prep
+%autosetup -n operator-courier-2.1.11
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-operator-courier -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Sat Feb 25 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.11-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..ddf1d31
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f72eb3213af149ad43681ed387de9f8c operator-courier-2.1.11.tar.gz