diff options
Diffstat (limited to 'python-chaostoolkit-k8s-wix.spec')
| -rw-r--r-- | python-chaostoolkit-k8s-wix.spec | 628 |
1 files changed, 628 insertions, 0 deletions
diff --git a/python-chaostoolkit-k8s-wix.spec b/python-chaostoolkit-k8s-wix.spec new file mode 100644 index 0000000..39bcf50 --- /dev/null +++ b/python-chaostoolkit-k8s-wix.spec @@ -0,0 +1,628 @@ +%global _empty_manifest_terminate_build 0 +Name: python-chaostoolkit-k8s-wix +Version: 1.4.8 +Release: 1 +Summary: Extended version of Chaos Toolkit Kubernetes support +License: Apache License Version 2 +URL: http://chaostoolkit.org +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ef/23/17d7336ace1bfd542f3e44eb6035350a41f4e9c76b465849623eb8c34521/chaostoolkit-k8s-wix-1.4.8.tar.gz +BuildArch: noarch + +Requires: python3-dateparser +Requires: python3-kubernetes +Requires: python3-logzero +Requires: python3-chaostoolkit-lib +Requires: python3-pyyaml +Requires: python3-slackclient +Requires: python3-fabric3 +Requires: python3-boto3 +Requires: python3-consul +Requires: python3-jinja2 + +%description +[](https://travis-ci.com/wix-playground/chaostoolkit-k8s-wix) +# This is extended version of Chaos Toolkit Kubernetes Support +# Created to provide more flexibility with experiments + +This project contains activities, such as probes and actions, you can call from +your experiment through the [Chaos Toolkit][chaostoolkit]. + +## Install + +To be used from your experiment, this package must be installed in the Python +environment where [chaostoolkit][] already lives. + +[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit + +``` +$ pip install chaostoolkit-k8s-wix +``` + +## Usage + +To use the probes and actions from this package, add the following to your +experiment file: + +```json +{ + "name": "all-our-microservices-should-be-healthy", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "microservice_available_and_healthy", + "arguments": { + "name": "myapp", + "ns": "myns" + } + } +}, +{ + "type": "action", + "name": "terminate-db-pod", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "terminate_pods", + "arguments": { + "label_selector": "app=my-app", + "name_pattern": "my-app-[0-9]$", + "rand": true, + "ns": "default" + } + }, + "pauses": { + "after": 5 + } +} +``` + +That's it! Notice how the action gives you the way to kill one pod randomly. + +Please explore the code to see existing probes and actions. + +### Discovery + +You may use the Chaos Toolkit to discover the capabilities of this extension: + +``` +$ chaos discover chaostoolkit-k8s-wix --no-install +``` + +## Configuration + +This extension to the Chaos Toolkit can use the Kubernetes configuration +found at the usual place in your HOME directory under `~/.kube/`, or, when +run from a Pod in a Kubernetes cluster, it will use the local service account. +In that case, make sure to set the `CHAOSTOOLKIT_IN_POD` environment variable +to `"true"`. + +You can also pass the credentials via secrets as follows: + +```json +{ + "secrets": { + "kubernetes": { + "KUBERNETES_HOST": "http://somehost", + "KUBERNETES_API_KEY": { + "type": "env", + "key": "SOME_ENV_VAR" + } + } + } +} +``` + +Then in your probe or action: + +```json +{ + "name": "all-our-microservices-should-be-healthy", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "microservice_available_and_healthy", + "secrets": ["kubernetes"], + "arguments": { + "name": "myapp", + "ns": "myns" + } + } +} +``` + +You may specify the Kubernetes context you want to use as follows: + +```json +{ + "secrets": { + "kubernetes": { + "KUBERNETES_CONTEXT": "minikube" + } + } +} +``` + +Or via the environment: + +``` +$ export KUBERNETES_CONTEXT=minikube +``` + +In the same spirit, you can specify where to find your Kubernetes configuration +with: + +``` +$ export KUBECONFIG=some/path/config +``` + +## Contribute + +If you wish to contribute more functions to this package, you are more than +welcome to do so. Please fork this project, make your changes following the +usual [PEP 8][pep8] code style, add appropriate tests and submit a PR for +review. + +[pep8]: https://pycodestyle.readthedocs.io/en/latest/ + +The Chaos Toolkit projects require all contributors must sign a +[Developer Certificate of Origin][dco] on each commit they would like to merge +into the master branch of the repository. Please, make sure you can abide by +the rules of the DCO before submitting a PR. + +[dco]: https://github.com/probot/dco#how-it-works + + +### Develop + +If you wish to develop on this project, make sure to install the development +dependencies. But first, [create a virtual environment][venv] and then install +those dependencies. + +[venv]: http://chaostoolkit.org/reference/usage/install/#create-a-virtual-environment + +```console +$ pip install -r requirements-dev.txt -r requirements.txt +``` + +Then, point your environment to this directory: + +```console +$ python setup.py develop +``` + +Now, you can edit the files and they will be automatically be seen by your +environment, even when running from the `chaos` command locally. + +### Test + +To run the tests for the project execute the following: + +``` +$ pytest +``` + + + + +%package -n python3-chaostoolkit-k8s-wix +Summary: Extended version of Chaos Toolkit Kubernetes support +Provides: python-chaostoolkit-k8s-wix +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-chaostoolkit-k8s-wix +[](https://travis-ci.com/wix-playground/chaostoolkit-k8s-wix) +# This is extended version of Chaos Toolkit Kubernetes Support +# Created to provide more flexibility with experiments + +This project contains activities, such as probes and actions, you can call from +your experiment through the [Chaos Toolkit][chaostoolkit]. + +## Install + +To be used from your experiment, this package must be installed in the Python +environment where [chaostoolkit][] already lives. + +[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit + +``` +$ pip install chaostoolkit-k8s-wix +``` + +## Usage + +To use the probes and actions from this package, add the following to your +experiment file: + +```json +{ + "name": "all-our-microservices-should-be-healthy", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "microservice_available_and_healthy", + "arguments": { + "name": "myapp", + "ns": "myns" + } + } +}, +{ + "type": "action", + "name": "terminate-db-pod", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "terminate_pods", + "arguments": { + "label_selector": "app=my-app", + "name_pattern": "my-app-[0-9]$", + "rand": true, + "ns": "default" + } + }, + "pauses": { + "after": 5 + } +} +``` + +That's it! Notice how the action gives you the way to kill one pod randomly. + +Please explore the code to see existing probes and actions. + +### Discovery + +You may use the Chaos Toolkit to discover the capabilities of this extension: + +``` +$ chaos discover chaostoolkit-k8s-wix --no-install +``` + +## Configuration + +This extension to the Chaos Toolkit can use the Kubernetes configuration +found at the usual place in your HOME directory under `~/.kube/`, or, when +run from a Pod in a Kubernetes cluster, it will use the local service account. +In that case, make sure to set the `CHAOSTOOLKIT_IN_POD` environment variable +to `"true"`. + +You can also pass the credentials via secrets as follows: + +```json +{ + "secrets": { + "kubernetes": { + "KUBERNETES_HOST": "http://somehost", + "KUBERNETES_API_KEY": { + "type": "env", + "key": "SOME_ENV_VAR" + } + } + } +} +``` + +Then in your probe or action: + +```json +{ + "name": "all-our-microservices-should-be-healthy", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "microservice_available_and_healthy", + "secrets": ["kubernetes"], + "arguments": { + "name": "myapp", + "ns": "myns" + } + } +} +``` + +You may specify the Kubernetes context you want to use as follows: + +```json +{ + "secrets": { + "kubernetes": { + "KUBERNETES_CONTEXT": "minikube" + } + } +} +``` + +Or via the environment: + +``` +$ export KUBERNETES_CONTEXT=minikube +``` + +In the same spirit, you can specify where to find your Kubernetes configuration +with: + +``` +$ export KUBECONFIG=some/path/config +``` + +## Contribute + +If you wish to contribute more functions to this package, you are more than +welcome to do so. Please fork this project, make your changes following the +usual [PEP 8][pep8] code style, add appropriate tests and submit a PR for +review. + +[pep8]: https://pycodestyle.readthedocs.io/en/latest/ + +The Chaos Toolkit projects require all contributors must sign a +[Developer Certificate of Origin][dco] on each commit they would like to merge +into the master branch of the repository. Please, make sure you can abide by +the rules of the DCO before submitting a PR. + +[dco]: https://github.com/probot/dco#how-it-works + + +### Develop + +If you wish to develop on this project, make sure to install the development +dependencies. But first, [create a virtual environment][venv] and then install +those dependencies. + +[venv]: http://chaostoolkit.org/reference/usage/install/#create-a-virtual-environment + +```console +$ pip install -r requirements-dev.txt -r requirements.txt +``` + +Then, point your environment to this directory: + +```console +$ python setup.py develop +``` + +Now, you can edit the files and they will be automatically be seen by your +environment, even when running from the `chaos` command locally. + +### Test + +To run the tests for the project execute the following: + +``` +$ pytest +``` + + + + +%package help +Summary: Development documents and examples for chaostoolkit-k8s-wix +Provides: python3-chaostoolkit-k8s-wix-doc +%description help +[](https://travis-ci.com/wix-playground/chaostoolkit-k8s-wix) +# This is extended version of Chaos Toolkit Kubernetes Support +# Created to provide more flexibility with experiments + +This project contains activities, such as probes and actions, you can call from +your experiment through the [Chaos Toolkit][chaostoolkit]. + +## Install + +To be used from your experiment, this package must be installed in the Python +environment where [chaostoolkit][] already lives. + +[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit + +``` +$ pip install chaostoolkit-k8s-wix +``` + +## Usage + +To use the probes and actions from this package, add the following to your +experiment file: + +```json +{ + "name": "all-our-microservices-should-be-healthy", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "microservice_available_and_healthy", + "arguments": { + "name": "myapp", + "ns": "myns" + } + } +}, +{ + "type": "action", + "name": "terminate-db-pod", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "terminate_pods", + "arguments": { + "label_selector": "app=my-app", + "name_pattern": "my-app-[0-9]$", + "rand": true, + "ns": "default" + } + }, + "pauses": { + "after": 5 + } +} +``` + +That's it! Notice how the action gives you the way to kill one pod randomly. + +Please explore the code to see existing probes and actions. + +### Discovery + +You may use the Chaos Toolkit to discover the capabilities of this extension: + +``` +$ chaos discover chaostoolkit-k8s-wix --no-install +``` + +## Configuration + +This extension to the Chaos Toolkit can use the Kubernetes configuration +found at the usual place in your HOME directory under `~/.kube/`, or, when +run from a Pod in a Kubernetes cluster, it will use the local service account. +In that case, make sure to set the `CHAOSTOOLKIT_IN_POD` environment variable +to `"true"`. + +You can also pass the credentials via secrets as follows: + +```json +{ + "secrets": { + "kubernetes": { + "KUBERNETES_HOST": "http://somehost", + "KUBERNETES_API_KEY": { + "type": "env", + "key": "SOME_ENV_VAR" + } + } + } +} +``` + +Then in your probe or action: + +```json +{ + "name": "all-our-microservices-should-be-healthy", + "provider": { + "type": "python", + "module": chaosk8s_wix, + "func": "microservice_available_and_healthy", + "secrets": ["kubernetes"], + "arguments": { + "name": "myapp", + "ns": "myns" + } + } +} +``` + +You may specify the Kubernetes context you want to use as follows: + +```json +{ + "secrets": { + "kubernetes": { + "KUBERNETES_CONTEXT": "minikube" + } + } +} +``` + +Or via the environment: + +``` +$ export KUBERNETES_CONTEXT=minikube +``` + +In the same spirit, you can specify where to find your Kubernetes configuration +with: + +``` +$ export KUBECONFIG=some/path/config +``` + +## Contribute + +If you wish to contribute more functions to this package, you are more than +welcome to do so. Please fork this project, make your changes following the +usual [PEP 8][pep8] code style, add appropriate tests and submit a PR for +review. + +[pep8]: https://pycodestyle.readthedocs.io/en/latest/ + +The Chaos Toolkit projects require all contributors must sign a +[Developer Certificate of Origin][dco] on each commit they would like to merge +into the master branch of the repository. Please, make sure you can abide by +the rules of the DCO before submitting a PR. + +[dco]: https://github.com/probot/dco#how-it-works + + +### Develop + +If you wish to develop on this project, make sure to install the development +dependencies. But first, [create a virtual environment][venv] and then install +those dependencies. + +[venv]: http://chaostoolkit.org/reference/usage/install/#create-a-virtual-environment + +```console +$ pip install -r requirements-dev.txt -r requirements.txt +``` + +Then, point your environment to this directory: + +```console +$ python setup.py develop +``` + +Now, you can edit the files and they will be automatically be seen by your +environment, even when running from the `chaos` command locally. + +### Test + +To run the tests for the project execute the following: + +``` +$ pytest +``` + + + + +%prep +%autosetup -n chaostoolkit-k8s-wix-1.4.8 + +%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-chaostoolkit-k8s-wix -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.8-1 +- Package Spec generated |
