generated from ansible-collections/collection_template
-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Migrated existing modules (and docs fragment) from community.general * Added basic role * Added integration tests for modules * Implemented git actions workflows
- Loading branch information
Showing
128 changed files
with
6,826 additions
and
94 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
name: Plugins CI | ||
on: | ||
push: | ||
paths: | ||
- 'plugins/**' | ||
- 'tests/**' | ||
- '.github/workflows/ansible-test.yml' | ||
pull_request: | ||
paths: | ||
- 'plugins/**' | ||
- 'tests/**' | ||
- '.github/workflows/ansible-test.yml' | ||
schedule: | ||
- cron: '0 6 * * *' | ||
|
||
|
||
env: | ||
proxysql_version_file: "./ansible_collections/community/proxysql/tests/integration/targets/setup_proxysql/defaults/main.yml" | ||
|
||
jobs: | ||
sanity: | ||
name: "Sanity (Python: ${{ matrix.python }}, Ansible: ${{ matrix.ansible }})" | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
ansible: | ||
- stable-2.9 | ||
- stable-2.10 | ||
- devel | ||
python: | ||
- 2.7 | ||
- 3.8 | ||
steps: | ||
|
||
- name: Check out code | ||
uses: actions/checkout@v2 | ||
with: | ||
path: ansible_collections/community/proxysql | ||
|
||
- name: Set up Python ${{ matrix.python }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python }} | ||
|
||
- name: Install ansible-base (${{ matrix.ansible }}) | ||
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check | ||
|
||
- name: Run sanity tests | ||
run: ansible-test sanity --docker -v --color | ||
working-directory: ./ansible_collections/community/proxysql | ||
|
||
integration: | ||
name: "Integration (Python: ${{ matrix.python }}, Ansible: ${{ matrix.ansible }}, ProxySQL: ${{ matrix.proxysql }})" | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
proxysql: | ||
- 2.0.12 | ||
ansible: | ||
- stable-2.9 | ||
- stable-2.10 | ||
- devel | ||
python: | ||
- 3.6 | ||
steps: | ||
|
||
- name: Check out code | ||
uses: actions/checkout@v2 | ||
with: | ||
path: ansible_collections/community/proxysql | ||
|
||
- name: Set up Python ${{ matrix.python }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python }} | ||
|
||
- name: Install ansible-base (${{ matrix.ansible }}) | ||
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check | ||
|
||
- name: Set ProxySQL version (${{ matrix.proxysql }}) | ||
run: "sed -i 's/^proxysql_version:.*/proxysql_version: \"${{ matrix.proxysql }}\"/g' ${{ env.proxysql_version_file }}" | ||
|
||
- name: Run integration tests | ||
run: ansible-test integration --docker -v --color --retry-on-error --continue-on-error --python ${{ matrix.python }} --diff --coverage | ||
working-directory: ./ansible_collections/community/proxysql | ||
|
||
- name: Generate coverage report. | ||
run: ansible-test coverage xml -v --requirements --group-by command --group-by version | ||
working-directory: ./ansible_collections/community/proxysql | ||
|
||
- uses: codecov/codecov-action@v1 | ||
with: | ||
fail_ci_if_error: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
name: Roles CI | ||
on: | ||
push: | ||
paths: | ||
- 'roles/**' | ||
- '.github/workflows/ansible-test-roles.yml' | ||
pull_request: | ||
paths: | ||
- 'roles/**' | ||
- '.github/workflows/ansible-test-roles.yml' | ||
schedule: | ||
- cron: '0 6 * * *' | ||
|
||
jobs: | ||
molecule: | ||
name: "Molecule (Python: ${{ matrix.python }}, Ansible: ${{ matrix.ansible }}, ProxySQL: ${{ matrix.proxysql }})" | ||
runs-on: ubuntu-latest | ||
env: | ||
PY_COLORS: 1 | ||
ANSIBLE_FORCE_COLOR: 1 | ||
strategy: | ||
matrix: | ||
proxysql: | ||
- 2.0.12 | ||
ansible: | ||
- stable-2.9 | ||
### it looks like there's errors for 2.10+ with ansible-lint (https://github.com/ansible/ansible-lint/pull/878) | ||
### and molecule (_maybe_ relating to https://github.com/ansible-community/molecule/pull/2547) | ||
# - stable-2.10 | ||
# - devel | ||
python: | ||
- 2.7 | ||
- 3.8 | ||
|
||
steps: | ||
|
||
- name: Check out code | ||
uses: actions/checkout@v2 | ||
with: | ||
path: ansible_collections/community/proxysql | ||
|
||
- name: Set up Python ${{ matrix.python }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python }} | ||
|
||
- name: Install ansible-base (${{ matrix.ansible }}) | ||
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check | ||
|
||
- name: Install molecule and related dependencies | ||
run: | | ||
pip install ansible-lint docker flake8 molecule testinfra yamllint | ||
- name: Run molecule default test scenario | ||
run: for d in roles/*/; do (cd "$d" && molecule --version && molecule test) done | ||
working-directory: ./ansible_collections/community/proxysql |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -129,3 +129,6 @@ dmypy.json | |
|
||
# Pyre type checker | ||
.pyre/ | ||
|
||
# MacOS | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,56 @@ | ||
# collection_template | ||
You can build a new repository for an Ansible Collection using this template by following [Creating a repository from a template](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template). This README.md contains recommended headings for your collection README.md, with comments describing what each section should contain. Once you have created your collection repository, delete this paragraph and the title above it from your README.md. | ||
# ProxySQL collection for Ansible | ||
[![Plugins CI](https://github.com/ansible-collections/community.proxysql/workflows/Plugins%20CI/badge.svg?event=push)](https://github.com/ansible-collections/community.proxysql/actions?query=workflow%3A"Plugins+CI") [![Roles CI](https://github.com/ansible-collections/community.proxysql/workflows/Roles%20CI/badge.svg?event=push)](https://github.com/ansible-collections/community.proxysql/actions?query=workflow%3A"Roles+CI") [![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/community.proxysql)](https://codecov.io/gh/ansible-collections/community.proxysql) | ||
|
||
# Foo Collection | ||
<!-- Add CI and code coverage badges here. Samples included below. --> | ||
[![CI](https://github.com/ansible-collections/REPONAMEHERE/workflows/CI/badge.svg?event=push)](https://github.com/ansible-collections/REPONAMEHERE/actions) [![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/REPONAMEHERE)](https://codecov.io/gh/ansible-collections/REPONAMEHERE) | ||
## Included content | ||
|
||
<!-- Describe the collection and why a user would want to use it. What does the collection do? --> | ||
- **Modules**: | ||
- [proxysql_backend_servers](https://docs.ansible.com/ansible/latest/modules/proxysql_backend_servers_module.html) | ||
- [proxysql_global_variables](https://docs.ansible.com/ansible/latest/modules/proxysql_global_variables_module.html) | ||
- [proxysql_manage_config](https://docs.ansible.com/ansible/latest/modules/proxysql_manage_config_module.html) | ||
- [proxysql_mysql_users](https://docs.ansible.com/ansible/latest/modules/proxysql_mysql_users_module.html) | ||
- [proxysql_query_rules](https://docs.ansible.com/ansible/latest/modules/proxysql_query_rules_module.html) | ||
- [proxysql_replication_hostgroups](https://docs.ansible.com/ansible/latest/modules/proxysql_replication_hostgroups_module.html) | ||
- [proxysql_scheduler](https://docs.ansible.com/ansible/latest/modules/proxysql_scheduler_module.html) | ||
- **Roles**: | ||
- proxysql | ||
|
||
## Tested with Ansible | ||
|
||
<!-- List the versions of Ansible the collection has been tested with. Must match what is in galaxy.yml. --> | ||
- 2.9 | ||
- 2.10 | ||
- devel | ||
|
||
## External requirements | ||
|
||
<!-- List any external resources the collection depends on, for example minimum versions of an OS, libraries, or utilities. Do not list other Ansible collections here. --> | ||
|
||
### Supported connections | ||
<!-- Optional. If your collection supports only specific connection types (such as HTTPAPI, netconf, or others), list them here. --> | ||
|
||
## Included content | ||
The ProxySQL modules rely on a MySQL connector. The list of supported drivers is below: | ||
|
||
<!-- Galaxy will eventually list the module docs within the UI, but until that is ready, you may need to either describe your plugins etc here, or point to an external docsite to cover that information. --> | ||
- [PyMySQL](https://github.com/PyMySQL/PyMySQL) | ||
- [MySQLdb](https://github.com/PyMySQL/mysqlclient-python) | ||
- Support for other Python MySQL connectors may be added in a future release. | ||
|
||
## Using this collection | ||
|
||
<!--Include some quick examples that cover the most common use cases for your collection content. --> | ||
|
||
See [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details. | ||
|
||
## Contributing to this collection | ||
|
||
<!--Describe how the community can contribute to your collection. At a minimum, include how and where users can create issues to report problems or request features for this collection. List contribution requirements, including preferred workflows and necessary testing, so you can benefit from community PRs. If you are following general Ansible contributor guidelines, you can link to - [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html). --> | ||
|
||
### Installing the Collection from Ansible Galaxy | ||
|
||
## Release notes | ||
<!--Add a link to a changelog.md file or an external docsite to cover this information. --> | ||
Before using the ProxySQL collection, you need to install it with the Ansible Galaxy CLI: | ||
|
||
## Roadmap | ||
```bash | ||
ansible-galaxy collection install community.proxysql | ||
``` | ||
|
||
<!-- Optional. Include the roadmap for this collection, and the proposed release/versioning strategy so users can anticipate the upgrade/update cycle. --> | ||
You can also include it in a `requirements.yml` file and install it via `ansible-galaxy collection install -r requirements.yml`, using the format: | ||
|
||
## More information | ||
```yaml | ||
--- | ||
collections: | ||
- name: community.proxysql | ||
version: v0.1.0 | ||
``` | ||
<!-- List out where the user can find additional information, such as working group meeting times, slack/IRC channels, or documentation for the product this collection automates. At a minimum, link to: --> | ||
|
||
- [Ansible Collection overview](https://github.com/ansible-collections/overview) | ||
- [Ansible User guide](https://docs.ansible.com/ansible/latest/user_guide/index.html) | ||
- [Ansible Developer guide](https://docs.ansible.com/ansible/latest/dev_guide/index.html) | ||
- [Ansible Community code of conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) | ||
See [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details. | ||
## Licensing | ||
<!-- Include the appropriate license information here and a pointer to the full licensing details. If the collection contains modules migrated from the ansible/ansible repo, you must use the same license that existed in the ansible/ansible repo. See the GNU license example below. --> | ||
|
||
GNU General Public License v3.0 or later. | ||
See [LICENSE](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
namespace: community | ||
name: proxysql | ||
version: 1.0.0 | ||
readme: README.md | ||
authors: | ||
- Ben Mildren (@bmildren) | ||
description: ProxySQL collection for Ansible | ||
license_file: LICENSE | ||
tags: | ||
- database | ||
- mysql | ||
- proxysql | ||
repository: https://github.com/ansible-collections/community.proxysql | ||
documentation: https://github.com/ansible-collections/community.proxysql | ||
homepage: https://github.com/ansible-collections/community.proxysql | ||
issues: https://github.com/ansible-collections/community.proxysql/issues |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Collections Plugins Directory | ||
|
||
This directory can be used to ship various plugins inside an Ansible collection. Each plugin is placed in a folder that | ||
is named after the type of plugin it is in. It can also include the `module_utils` and `modules` directory that | ||
would contain module utils and modules respectively. | ||
|
||
Here is an example directory of the majority of plugins currently supported by Ansible: | ||
|
||
``` | ||
└── plugins | ||
├── action | ||
├── become | ||
├── cache | ||
├── callback | ||
├── cliconf | ||
├── connection | ||
├── filter | ||
├── httpapi | ||
├── inventory | ||
├── lookup | ||
├── module_utils | ||
├── modules | ||
├── netconf | ||
├── shell | ||
├── strategy | ||
├── terminal | ||
├── test | ||
└── vars | ||
``` | ||
|
||
A full list of plugin types can be found at [Working With Plugins](https://docs.ansible.com/ansible/2.9/plugins/plugins.html). |
Oops, something went wrong.