157 lines
4.4 KiB
Markdown
157 lines
4.4 KiB
Markdown
# Cookiecutter Ansible Role
|
|
![Logo](https://raw.githubusercontent.com/idealista/cookiecutter-ansible-role/master/logo.gif)
|
|
|
|
[![Build Status](https://travis-ci.org/idealista/cookiecutter-ansible-role.png)](https://travis-ci.org/idealista/cookiecutter-ansible-role)
|
|
|
|
|
|
|
|
This cookiecutter generates an [ansible role](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html).
|
|
|
|
- [Getting Started](#getting-started)
|
|
- [Prerequisities](#prerequisities)
|
|
- [Usage](#usage)
|
|
- [Testing](#testing)
|
|
- [Built With](#built-with)
|
|
- [Versioning](#versioning)
|
|
- [Authors](#authors)
|
|
- [License](#license)
|
|
- [Contributing](#contributing)
|
|
|
|
## Getting Started
|
|
These instructions will get you an Ansible Role generated using [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
|
|
|
|
This cookiecutter:
|
|
* Follows the best practices
|
|
* Asks you if some features are wanted or not in the role
|
|
* Generates a Pipfile and Pipfile.lock for using the role based on some parameters
|
|
|
|
### Prerequisities
|
|
|
|
You just need to have [pipenv](https://github.com/pypa/pipenv) installed.
|
|
|
|
## Usage
|
|
|
|
To generate your ansible role type ```printf "cookiecutter==1.7.2\nJinja2==2.11.2" > requirements.txt && pipenv install -r requirements.txt && pipenv run cookiecutter https://github.com/idealista/cookiecutter-ansible-role && rm Pipfile* requirements.txt```.
|
|
|
|
Then, introduce some parameters needed for generating it.
|
|
|
|
It displays some comments that help you to use the cookiecutter sucessfully, if you assign value to them nothing happens.
|
|
|
|
```
|
|
comment_0 [The role name will be the value you assign to app_name with _role appended]:
|
|
comment_1 [Introduce in exec_name the executable file name, you can change it later in the defaults/main.yml if you don't know it]:
|
|
app_name []: github_cli
|
|
exec_name []: gh
|
|
github_user [idealista]:
|
|
company [Idealista S.A.U.]:
|
|
author []: pablogcaldito
|
|
min_ansible_version []: 2.2
|
|
ansible_version []: 2.8.8
|
|
molecule_version []: 3.0.1
|
|
python_docker_version []: 4.1.0
|
|
ansible_lint_version []: 4.2.0
|
|
license [Apache 2.0]:
|
|
galaxy_tag_1 [example_tag1]: github_cli
|
|
galaxy_tag_2 [example_tag2]: github
|
|
galaxy_tag_3 [example_tag3]: cli
|
|
Select debian_stretch_support:
|
|
1 - True
|
|
2 - False
|
|
Choose from 1, 2 [1]:
|
|
Select debian_buster_support:
|
|
1 - True
|
|
2 - False
|
|
Choose from 1, 2 [1]:
|
|
Select has_service:
|
|
1 - True
|
|
2 - False
|
|
Choose from 1, 2 [1]:
|
|
Select has_files:
|
|
1 - True
|
|
2 - False
|
|
Choose from 1, 2 [1]:
|
|
comment_2 [If there is service the following options will not have any effect]:
|
|
Select has_handlers:
|
|
1 - True
|
|
2 - False
|
|
Choose from 1, 2 [1]:
|
|
Select has_templates:
|
|
1 - True
|
|
2 - False
|
|
Choose from 1, 2 [1]:
|
|
```
|
|
|
|
It will create the following file structure:
|
|
|
|
```
|
|
github_cli_role
|
|
├── CHANGELOG.md
|
|
├── defaults
|
|
│ └── main.yml
|
|
├── files
|
|
├── handlers
|
|
│ └── main.yml
|
|
├── LICENSE
|
|
├── logo.gif
|
|
├── meta
|
|
│ └── main.yml
|
|
├── molecule
|
|
│ └── default
|
|
│ ├── converge.yml
|
|
│ ├── Dockerfile.j2
|
|
│ ├── molecule.yml
|
|
│ ├── tests
|
|
│ │ └── test_app.yml
|
|
│ └── verify.yml
|
|
├── Pipfile
|
|
├── Pipfile.lock
|
|
├── README.md
|
|
├── tasks
|
|
│ ├── config.yml
|
|
│ ├── install.yml
|
|
│ ├── main.yml
|
|
│ └── service.yml
|
|
├── templates
|
|
│ └── github_cli.service.j2
|
|
└── test-requirements.txt
|
|
```
|
|
|
|
## Testing
|
|
|
|
Test the cookiecutter just by typing:
|
|
|
|
```./test.sh```
|
|
|
|
## Built With
|
|
|
|
![Cookiecutter](https://img.shields.io/badge/cookiecutter-1.7.0-green.svg)
|
|
![Python 3](https://img.shields.io/badge/python-3.7-green.svg)
|
|
|
|
## Versioning
|
|
|
|
For the versions available, see the [tags on this repository](https://github.com/idealista/cookiecutter-ansible-role/tags).
|
|
|
|
Additionaly you can see what change in each version in the [CHANGELOG.md](CHANGELOG.md) file.
|
|
|
|
## Authors
|
|
|
|
* **Idealista** - *Work with* - [idealista](https://github.com/idealista)
|
|
|
|
See also the list of [contributors](https://github.com/idealista/cookiecutter-ansible-role/contributors) who participated in this project.
|
|
|
|
## License
|
|
|
|
![Apache 2.0 License](https://img.shields.io/hexpm/l/plug.svg)
|
|
|
|
This project is licensed under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license - see the [LICENSE](LICENSE) file for details.
|
|
|
|
## Contributing
|
|
|
|
Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
|
|
|
|
|
|
|
|
|
|
|
|
|