diff options
author | CoprDistGit <copr-devel@lists.fedorahosted.org> | 2023-03-07 13:22:56 +0000 |
---|---|---|
committer | CoprDistGit <copr-devel@lists.fedorahosted.org> | 2023-03-07 13:22:56 +0000 |
commit | b8335fd621ad031a953657b02c24ef9a81164e36 (patch) | |
tree | 24399a0b7aee2eb4dcd107ba110f333b1a175dfc | |
parent | 5d91a8d31d1574b3db128ea20b5275364d671eb9 (diff) |
automatic import of python-ara
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-ara.spec | 603 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 605 insertions, 0 deletions
@@ -0,0 +1 @@ +/ara-1.6.1.tar.gz diff --git a/python-ara.spec b/python-ara.spec new file mode 100644 index 0000000..a5a6454 --- /dev/null +++ b/python-ara.spec @@ -0,0 +1,603 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ara +Version: 1.6.1 +Release: 1 +Summary: ARA Records Ansible +License: GNU General Public License v3 (GPLv3) +URL: https://github.com/ansible-community/ara +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d8/21/64905ea535a94e72508b0a3a7d0fae28ac420f1db63729d660dd29c22a4d/ara-1.6.1.tar.gz +BuildArch: noarch + +Requires: python3-pbr +Requires: python3-cliff +Requires: python3-requests +Requires: python3-mysqlclient +Requires: python3-psycopg2 +Requires: python3-Django +Requires: python3-djangorestframework +Requires: python3-django-cors-headers +Requires: python3-django-filter +Requires: python3-django-health-check +Requires: python3-tzlocal +Requires: python3-pygments +Requires: python3-whitenoise +Requires: python3-dynaconf[yaml] +Requires: python3-whitenoise +Requires: python3-factory-boy +Requires: python3-bandit +Requires: python3-coverage +Requires: python3-flake8 +Requires: python3-black +Requires: python3-isort + +%description +# ARA Records Ansible + +ARA Records Ansible and makes it easier to understand and troubleshoot. + + + +It's another recursive acronym and features simplicity as a core principle. + +## About ara + +ara provides Ansible reporting by recording ``ansible`` and ``ansible-playbook`` commands wherever and however they are run: + +- from a terminal, by hand or from a script +- from a laptop, desktop, server, VM or container +- for development, CI or production +- from most Linux distributions and even on Mac OS (as long as ``python >= 3.6`` is available) +- from tools that run playbooks such as AWX & Automation Controller (Tower), ansible-(pull|test|runner|navigator) and Molecule +- from CI/CD platforms such as Jenkins, GitHub Actions, GitLab CI, Rundeck and Zuul + + + +In addition to the built-in CLI, the data is made available through an included reporting interface as well as a REST API. + + + +*Note: open the above gifs in a new tab (or window) if the resolution is too small* + +## How it works + +ara records results to SQLite, MySQL and PostgreSQL databases with a standard [Ansible callback plugin](https://docs.ansible.com/ansible/latest/plugins/callback.html). + +The callback plugin leverages built-in python API clients to send data to a REST API server: + + + +## Requirements + +- Any recent Linux distribution or Mac OS with python >=3.6 available +- The ara package (containing the Ansible plugins) must be installed for the same python interpreter as Ansible itself + +## Getting started + +Running an API server is not required to get started and it is designed to be simple to record data to a local sqlite database. + +For production use, it is strongly encouraged to: + +- [Enable authentication for the web interface and API](https://ara.readthedocs.io/en/latest/api-security.html#authentication) to avoid unintentionally leaking passwords, tokens, secrets or otherwise sensitive information that ara might come across and record +- [Configure the callback plugin to ignore sensitive files, host facts and CLI arguments (such as extra vars)](https://ara.readthedocs.io/en/latest/ansible-plugins-and-use-cases.html#ansible-plugins) +- Learn about the [best practices to improve playbook recording performance](https://ara.readthedocs.io/en/latest/troubleshooting.html#improving-playbook-recording-performance) + +### Recording playbooks without an API server + +```bash +# Install ansible (or ansible-core) with ara (including API server dependencies) +python3 -m pip install --user ansible "ara[server]" + +# Configure Ansible to use the ara callback plugin +export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" + +# Run an Ansible playbook as usual +ansible-playbook hello-world.yml + +# Use the CLI to see recorded playbooks +ara playbook list + +# Start the development server at http://127.0.0.1:8000 +# to query the API or browse recorded results +ara-manage runserver +``` + +### Recording playbooks with an API server + +It is possible to get started with the [ara_api role](https://github.com/ansible-community/ara-collection/blob/master/roles/ara_api/README.md) +or with the [container images](https://ara.readthedocs.io/en/latest/container-images.html) published by the project on +[DockerHub](https://hub.docker.com/r/recordsansible/ara-api) and [quay.io](https://quay.io/repository/recordsansible/ara-api): + +```bash +# Create a directory for a volume to store settings and a sqlite database +mkdir -p ~/.ara/server + +# Start an API server with docker from the image on DockerHub: +docker run --name api-server --detach --tty \ + --volume ~/.ara/server:/opt/ara -p 8000:8000 \ + docker.io/recordsansible/ara-api:latest + +# or with podman from the image on quay.io: +podman run --name api-server --detach --tty \ + --volume ~/.ara/server:/opt/ara -p 8000:8000 \ + quay.io/recordsansible/ara-api:latest +``` + +Once the server is running, ara's Ansible callback plugin must be installed and configured to send data to it: + +```bash +# Install ansible (or ansible-core) with ara (excluding API server dependencies) +python3 -m pip install --user ansible ara + +# Configure Ansible to use the ara callback plugin +export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" + +# Set up the ara callback to know where the API server is located +export ARA_API_CLIENT="http" +export ARA_API_SERVER="http://127.0.0.1:8000" + +# Run an Ansible playbook as usual +ansible-playbook playbook.yaml + +# Use the CLI to see recorded playbooks +ara playbook list + +# Browse http://127.0.0.1:8000 (running from the container) +# to view the reporting interface +``` + +Data will be available on the API server in real time as the playbook progresses and completes. + +## Live demo + +A live demo is deployed with the ara Ansible collection from [Ansible Galaxy](https://galaxy.ansible.com/recordsansible/ara). + +It is available at https://demo.recordsansible.org. + +## Documentation and changelog + +Documentation for installing, configuring, running and using ara is available on [ara.readthedocs.io](https://ara.readthedocs.io). + +Common issues may be resolved by reading the [troubleshooting guide](https://ara.readthedocs.io/en/latest/troubleshooting.html). + +Changelog and release notes are available within the repository's [git tags](https://github.com/ansible-community/ara/tags) as well as the [documentation](https://ara.readthedocs.io/en/latest/changelog-release-notes.html). + +## Community and getting help + +- Bugs, issues and enhancements: https://github.com/ansible-community/ara/issues +- IRC: #ara on [Libera.chat](https://web.libera.chat/?channels=#ara) +- Matrix: Bridged from IRC via [#ara:libera.chat](https://matrix.to/#/#ara:libera.chat) +- Slack: Bridged from IRC via [https://arecordsansible.slack.com](https://join.slack.com/t/arecordsansible/shared_invite/enQtMjMxNzI4ODAxMDQxLTU2NTU3YjMwYzRlYmRkZTVjZTFiOWIxNjE5NGRhMDQ3ZTgzZmQyZTY2NzY5YmZmNDA5ZWY4YTY1Y2Y1ODBmNzc>) +- Website and blog: https://ara.recordsansible.org +- Twitter: https://twitter.com/recordsansible + +## Contributing + +Contributions to the project are welcome and appreciated ! + +Get started with the [contributor's documentation](https://ara.readthedocs.io/en/latest/contributing.html). + +## Authors + +Code contributions to the project can be viewed from the git log or on [GitHub](https://github.com/ansible-community/ara/graphs/contributors). + +The ara parrot logo was designed and contributed by [Jason E. Rist](https://github.com/ansible-community/ara/commit/0d5d0939a6b7a319d99acc1fb20d4ca282bd76ab). + +## Copyright + +``` +Copyright (c) 2022 The ARA Records Ansible authors + +ARA Records Ansible is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +ARA Records Ansible is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with ARA Records Ansible. If not, see <http://www.gnu.org/licenses/>. +``` + + + +%package -n python3-ara +Summary: ARA Records Ansible +Provides: python-ara +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ara +# ARA Records Ansible + +ARA Records Ansible and makes it easier to understand and troubleshoot. + + + +It's another recursive acronym and features simplicity as a core principle. + +## About ara + +ara provides Ansible reporting by recording ``ansible`` and ``ansible-playbook`` commands wherever and however they are run: + +- from a terminal, by hand or from a script +- from a laptop, desktop, server, VM or container +- for development, CI or production +- from most Linux distributions and even on Mac OS (as long as ``python >= 3.6`` is available) +- from tools that run playbooks such as AWX & Automation Controller (Tower), ansible-(pull|test|runner|navigator) and Molecule +- from CI/CD platforms such as Jenkins, GitHub Actions, GitLab CI, Rundeck and Zuul + + + +In addition to the built-in CLI, the data is made available through an included reporting interface as well as a REST API. + + + +*Note: open the above gifs in a new tab (or window) if the resolution is too small* + +## How it works + +ara records results to SQLite, MySQL and PostgreSQL databases with a standard [Ansible callback plugin](https://docs.ansible.com/ansible/latest/plugins/callback.html). + +The callback plugin leverages built-in python API clients to send data to a REST API server: + + + +## Requirements + +- Any recent Linux distribution or Mac OS with python >=3.6 available +- The ara package (containing the Ansible plugins) must be installed for the same python interpreter as Ansible itself + +## Getting started + +Running an API server is not required to get started and it is designed to be simple to record data to a local sqlite database. + +For production use, it is strongly encouraged to: + +- [Enable authentication for the web interface and API](https://ara.readthedocs.io/en/latest/api-security.html#authentication) to avoid unintentionally leaking passwords, tokens, secrets or otherwise sensitive information that ara might come across and record +- [Configure the callback plugin to ignore sensitive files, host facts and CLI arguments (such as extra vars)](https://ara.readthedocs.io/en/latest/ansible-plugins-and-use-cases.html#ansible-plugins) +- Learn about the [best practices to improve playbook recording performance](https://ara.readthedocs.io/en/latest/troubleshooting.html#improving-playbook-recording-performance) + +### Recording playbooks without an API server + +```bash +# Install ansible (or ansible-core) with ara (including API server dependencies) +python3 -m pip install --user ansible "ara[server]" + +# Configure Ansible to use the ara callback plugin +export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" + +# Run an Ansible playbook as usual +ansible-playbook hello-world.yml + +# Use the CLI to see recorded playbooks +ara playbook list + +# Start the development server at http://127.0.0.1:8000 +# to query the API or browse recorded results +ara-manage runserver +``` + +### Recording playbooks with an API server + +It is possible to get started with the [ara_api role](https://github.com/ansible-community/ara-collection/blob/master/roles/ara_api/README.md) +or with the [container images](https://ara.readthedocs.io/en/latest/container-images.html) published by the project on +[DockerHub](https://hub.docker.com/r/recordsansible/ara-api) and [quay.io](https://quay.io/repository/recordsansible/ara-api): + +```bash +# Create a directory for a volume to store settings and a sqlite database +mkdir -p ~/.ara/server + +# Start an API server with docker from the image on DockerHub: +docker run --name api-server --detach --tty \ + --volume ~/.ara/server:/opt/ara -p 8000:8000 \ + docker.io/recordsansible/ara-api:latest + +# or with podman from the image on quay.io: +podman run --name api-server --detach --tty \ + --volume ~/.ara/server:/opt/ara -p 8000:8000 \ + quay.io/recordsansible/ara-api:latest +``` + +Once the server is running, ara's Ansible callback plugin must be installed and configured to send data to it: + +```bash +# Install ansible (or ansible-core) with ara (excluding API server dependencies) +python3 -m pip install --user ansible ara + +# Configure Ansible to use the ara callback plugin +export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" + +# Set up the ara callback to know where the API server is located +export ARA_API_CLIENT="http" +export ARA_API_SERVER="http://127.0.0.1:8000" + +# Run an Ansible playbook as usual +ansible-playbook playbook.yaml + +# Use the CLI to see recorded playbooks +ara playbook list + +# Browse http://127.0.0.1:8000 (running from the container) +# to view the reporting interface +``` + +Data will be available on the API server in real time as the playbook progresses and completes. + +## Live demo + +A live demo is deployed with the ara Ansible collection from [Ansible Galaxy](https://galaxy.ansible.com/recordsansible/ara). + +It is available at https://demo.recordsansible.org. + +## Documentation and changelog + +Documentation for installing, configuring, running and using ara is available on [ara.readthedocs.io](https://ara.readthedocs.io). + +Common issues may be resolved by reading the [troubleshooting guide](https://ara.readthedocs.io/en/latest/troubleshooting.html). + +Changelog and release notes are available within the repository's [git tags](https://github.com/ansible-community/ara/tags) as well as the [documentation](https://ara.readthedocs.io/en/latest/changelog-release-notes.html). + +## Community and getting help + +- Bugs, issues and enhancements: https://github.com/ansible-community/ara/issues +- IRC: #ara on [Libera.chat](https://web.libera.chat/?channels=#ara) +- Matrix: Bridged from IRC via [#ara:libera.chat](https://matrix.to/#/#ara:libera.chat) +- Slack: Bridged from IRC via [https://arecordsansible.slack.com](https://join.slack.com/t/arecordsansible/shared_invite/enQtMjMxNzI4ODAxMDQxLTU2NTU3YjMwYzRlYmRkZTVjZTFiOWIxNjE5NGRhMDQ3ZTgzZmQyZTY2NzY5YmZmNDA5ZWY4YTY1Y2Y1ODBmNzc>) +- Website and blog: https://ara.recordsansible.org +- Twitter: https://twitter.com/recordsansible + +## Contributing + +Contributions to the project are welcome and appreciated ! + +Get started with the [contributor's documentation](https://ara.readthedocs.io/en/latest/contributing.html). + +## Authors + +Code contributions to the project can be viewed from the git log or on [GitHub](https://github.com/ansible-community/ara/graphs/contributors). + +The ara parrot logo was designed and contributed by [Jason E. Rist](https://github.com/ansible-community/ara/commit/0d5d0939a6b7a319d99acc1fb20d4ca282bd76ab). + +## Copyright + +``` +Copyright (c) 2022 The ARA Records Ansible authors + +ARA Records Ansible is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +ARA Records Ansible is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with ARA Records Ansible. If not, see <http://www.gnu.org/licenses/>. +``` + + + +%package help +Summary: Development documents and examples for ara +Provides: python3-ara-doc +%description help +# ARA Records Ansible + +ARA Records Ansible and makes it easier to understand and troubleshoot. + + + +It's another recursive acronym and features simplicity as a core principle. + +## About ara + +ara provides Ansible reporting by recording ``ansible`` and ``ansible-playbook`` commands wherever and however they are run: + +- from a terminal, by hand or from a script +- from a laptop, desktop, server, VM or container +- for development, CI or production +- from most Linux distributions and even on Mac OS (as long as ``python >= 3.6`` is available) +- from tools that run playbooks such as AWX & Automation Controller (Tower), ansible-(pull|test|runner|navigator) and Molecule +- from CI/CD platforms such as Jenkins, GitHub Actions, GitLab CI, Rundeck and Zuul + + + +In addition to the built-in CLI, the data is made available through an included reporting interface as well as a REST API. + + + +*Note: open the above gifs in a new tab (or window) if the resolution is too small* + +## How it works + +ara records results to SQLite, MySQL and PostgreSQL databases with a standard [Ansible callback plugin](https://docs.ansible.com/ansible/latest/plugins/callback.html). + +The callback plugin leverages built-in python API clients to send data to a REST API server: + + + +## Requirements + +- Any recent Linux distribution or Mac OS with python >=3.6 available +- The ara package (containing the Ansible plugins) must be installed for the same python interpreter as Ansible itself + +## Getting started + +Running an API server is not required to get started and it is designed to be simple to record data to a local sqlite database. + +For production use, it is strongly encouraged to: + +- [Enable authentication for the web interface and API](https://ara.readthedocs.io/en/latest/api-security.html#authentication) to avoid unintentionally leaking passwords, tokens, secrets or otherwise sensitive information that ara might come across and record +- [Configure the callback plugin to ignore sensitive files, host facts and CLI arguments (such as extra vars)](https://ara.readthedocs.io/en/latest/ansible-plugins-and-use-cases.html#ansible-plugins) +- Learn about the [best practices to improve playbook recording performance](https://ara.readthedocs.io/en/latest/troubleshooting.html#improving-playbook-recording-performance) + +### Recording playbooks without an API server + +```bash +# Install ansible (or ansible-core) with ara (including API server dependencies) +python3 -m pip install --user ansible "ara[server]" + +# Configure Ansible to use the ara callback plugin +export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" + +# Run an Ansible playbook as usual +ansible-playbook hello-world.yml + +# Use the CLI to see recorded playbooks +ara playbook list + +# Start the development server at http://127.0.0.1:8000 +# to query the API or browse recorded results +ara-manage runserver +``` + +### Recording playbooks with an API server + +It is possible to get started with the [ara_api role](https://github.com/ansible-community/ara-collection/blob/master/roles/ara_api/README.md) +or with the [container images](https://ara.readthedocs.io/en/latest/container-images.html) published by the project on +[DockerHub](https://hub.docker.com/r/recordsansible/ara-api) and [quay.io](https://quay.io/repository/recordsansible/ara-api): + +```bash +# Create a directory for a volume to store settings and a sqlite database +mkdir -p ~/.ara/server + +# Start an API server with docker from the image on DockerHub: +docker run --name api-server --detach --tty \ + --volume ~/.ara/server:/opt/ara -p 8000:8000 \ + docker.io/recordsansible/ara-api:latest + +# or with podman from the image on quay.io: +podman run --name api-server --detach --tty \ + --volume ~/.ara/server:/opt/ara -p 8000:8000 \ + quay.io/recordsansible/ara-api:latest +``` + +Once the server is running, ara's Ansible callback plugin must be installed and configured to send data to it: + +```bash +# Install ansible (or ansible-core) with ara (excluding API server dependencies) +python3 -m pip install --user ansible ara + +# Configure Ansible to use the ara callback plugin +export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" + +# Set up the ara callback to know where the API server is located +export ARA_API_CLIENT="http" +export ARA_API_SERVER="http://127.0.0.1:8000" + +# Run an Ansible playbook as usual +ansible-playbook playbook.yaml + +# Use the CLI to see recorded playbooks +ara playbook list + +# Browse http://127.0.0.1:8000 (running from the container) +# to view the reporting interface +``` + +Data will be available on the API server in real time as the playbook progresses and completes. + +## Live demo + +A live demo is deployed with the ara Ansible collection from [Ansible Galaxy](https://galaxy.ansible.com/recordsansible/ara). + +It is available at https://demo.recordsansible.org. + +## Documentation and changelog + +Documentation for installing, configuring, running and using ara is available on [ara.readthedocs.io](https://ara.readthedocs.io). + +Common issues may be resolved by reading the [troubleshooting guide](https://ara.readthedocs.io/en/latest/troubleshooting.html). + +Changelog and release notes are available within the repository's [git tags](https://github.com/ansible-community/ara/tags) as well as the [documentation](https://ara.readthedocs.io/en/latest/changelog-release-notes.html). + +## Community and getting help + +- Bugs, issues and enhancements: https://github.com/ansible-community/ara/issues +- IRC: #ara on [Libera.chat](https://web.libera.chat/?channels=#ara) +- Matrix: Bridged from IRC via [#ara:libera.chat](https://matrix.to/#/#ara:libera.chat) +- Slack: Bridged from IRC via [https://arecordsansible.slack.com](https://join.slack.com/t/arecordsansible/shared_invite/enQtMjMxNzI4ODAxMDQxLTU2NTU3YjMwYzRlYmRkZTVjZTFiOWIxNjE5NGRhMDQ3ZTgzZmQyZTY2NzY5YmZmNDA5ZWY4YTY1Y2Y1ODBmNzc>) +- Website and blog: https://ara.recordsansible.org +- Twitter: https://twitter.com/recordsansible + +## Contributing + +Contributions to the project are welcome and appreciated ! + +Get started with the [contributor's documentation](https://ara.readthedocs.io/en/latest/contributing.html). + +## Authors + +Code contributions to the project can be viewed from the git log or on [GitHub](https://github.com/ansible-community/ara/graphs/contributors). + +The ara parrot logo was designed and contributed by [Jason E. Rist](https://github.com/ansible-community/ara/commit/0d5d0939a6b7a319d99acc1fb20d4ca282bd76ab). + +## Copyright + +``` +Copyright (c) 2022 The ARA Records Ansible authors + +ARA Records Ansible is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +ARA Records Ansible is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with ARA Records Ansible. If not, see <http://www.gnu.org/licenses/>. +``` + + + +%prep +%autosetup -n ara-1.6.1 + +%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-ara -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Mar 07 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.1-1 +- Package Spec generated @@ -0,0 +1 @@ +6931eba623a8afceb5d4524e93c608d9 ara-1.6.1.tar.gz |