%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.aliyun.com/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 [![Build Status](https://travis-ci.com/wix-playground/chaostoolkit-k8s-wix.svg?branch=master)](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 [![Build Status](https://travis-ci.com/wix-playground/chaostoolkit-k8s-wix.svg?branch=master)](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 [![Build Status](https://travis-ci.com/wix-playground/chaostoolkit-k8s-wix.svg?branch=master)](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 * Thu Jun 08 2023 Python_Bot - 1.4.8-1 - Package Spec generated