forked from Mirrors/cookiecutter-ansible-role
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3917b2a78b | ||
|
|
c6446c7e58 | ||
|
|
45e9ea744b | ||
|
|
1e99d8b02c | ||
|
|
f23f55643d | ||
|
|
4b7c659da1 | ||
|
|
f6f4658aef | ||
|
|
42900e46c4 | ||
|
|
6522c7ef21 | ||
|
|
8a599c249f | ||
|
|
fdbc7c3908 | ||
|
|
1121b4534e | ||
|
|
16095bb031 | ||
|
|
8ef54f7f0d | ||
|
|
b33689d3b5 | ||
|
|
2406ba62c1 | ||
|
|
9e1cb98351 | ||
|
|
dc504ad7d6 |
@@ -1,15 +1,15 @@
|
|||||||
---
|
---
|
||||||
dist: xenial
|
dist: focal
|
||||||
language: python
|
language: python
|
||||||
python: "3.9"
|
python: "3.10"
|
||||||
os: linux
|
os: linux
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
install:
|
install:
|
||||||
- pip3 install cookiecutter
|
- pip install pipenv
|
||||||
env:
|
env:
|
||||||
jobs:
|
jobs:
|
||||||
- MOLECULE_DISTRO=debian:stretch-slim
|
- MOLECULE_DISTRO=debian:bullseye-slim
|
||||||
- MOLECULE_DISTRO=debian:buster-slim
|
- MOLECULE_DISTRO=debian:buster-slim
|
||||||
script:
|
script:
|
||||||
- ./test.sh
|
- ./test.sh
|
||||||
@@ -20,3 +20,4 @@ notifications:
|
|||||||
on_failure: always
|
on_failure: always
|
||||||
recipients:
|
recipients:
|
||||||
- desarrollo.benders@idealista.com
|
- desarrollo.benders@idealista.com
|
||||||
|
|
||||||
|
|||||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -4,6 +4,23 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a ch
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## [2.10.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.10.0)
|
||||||
|
### Changed
|
||||||
|
- *Improve README init scrips to avoid errors when create two roles on same path because already pipenv exists.* @adrian-arapiles
|
||||||
|
- *Change travis.yml order of email notification as documentation explains.* @adrian-arapiles
|
||||||
|
- *Add first line `---` to ansible-lint file because it's a yml.* @adrian-arapiles
|
||||||
|
### Fixed
|
||||||
|
- *[92](https://github.com/idealista/cookiecutter-ansible-role/issues/92) Fix meta.yml lint warning from `galaxy-tags` to `galaxy_tags`.* @adrian-arapiles
|
||||||
|
|
||||||
|
## [2.9.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.9.0)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.8.1...2.9.0)
|
||||||
|
### Changed
|
||||||
|
- *[#86](https://github.com/idealista/cookiecutter-ansible-role/issues/86) Upgrade molecule config to test under debian bullseye* @santi-eidu
|
||||||
|
- *[#86](https://github.com/idealista/cookiecutter-ansible-role/issues/86) Upgrade ansible to v5.2.0 and ansible lint to v5.3.2 to avoid lint error* @santi-eidu
|
||||||
|
## [2.8.1](https://github.com/idealista/cookiecutter-ansible-role/tree/2.8.1)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.8.0...2.8.1)
|
||||||
|
### Fixed
|
||||||
|
- *[#87](https://github.com/idealista/cookiecutter-ansible-role/issues/87) Travis build image and link are broken in the README template* @emepege
|
||||||
|
|
||||||
## [2.8.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.8.0)
|
## [2.8.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.8.0)
|
||||||
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.7.0...2.8.0)
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.7.0...2.8.0)
|
||||||
|
|||||||
19
README.md
19
README.md
@@ -1,9 +1,7 @@
|
|||||||
# Cookiecutter Ansible Role
|
# Cookiecutter Ansible Role
|
||||||

|

|
||||||
|
|
||||||
[](https://travis-ci.com/idealista/cookiecutter-ansible-role)
|
[](https://travis-ci.com/idealista/cookiecutter-ansible-role)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
This cookiecutter generates an [ansible role](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html).
|
This cookiecutter generates an [ansible role](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html).
|
||||||
|
|
||||||
@@ -31,7 +29,8 @@ You just need to have [pipenv](https://github.com/pypa/pipenv) installed.
|
|||||||
|
|
||||||
## Usage
|
## 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```.
|
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 -rf Pipfile*
|
||||||
|
requirements.txt && pipenv --rm && rm -rf requirements.txt```.
|
||||||
|
|
||||||
Then, introduce some parameters needed for generating it.
|
Then, introduce some parameters needed for generating it.
|
||||||
|
|
||||||
@@ -46,15 +45,17 @@ github_user [idealista]:
|
|||||||
company [Idealista S.A.U.]:
|
company [Idealista S.A.U.]:
|
||||||
author []: pablogcaldito
|
author []: pablogcaldito
|
||||||
min_ansible_version []: 2.2
|
min_ansible_version []: 2.2
|
||||||
ansible_version []: 2.8.8
|
ansible_version []: 5.2.0
|
||||||
molecule_version []: 3.0.1
|
molecule_version []: 3.4.0
|
||||||
python_docker_version []: 4.1.0
|
python_docker_version []: 5.0.0
|
||||||
ansible_lint_version []: 4.2.0
|
molecule_docker_version []: 0.2.4
|
||||||
|
ansible_lint_version []: 5.3.2
|
||||||
|
yamllint_version []: 1.28.0
|
||||||
license [Apache 2.0]:
|
license [Apache 2.0]:
|
||||||
galaxy_tag_1 [example_tag1]: github_cli
|
galaxy_tag_1 [example_tag1]: github_cli
|
||||||
galaxy_tag_2 [example_tag2]: github
|
galaxy_tag_2 [example_tag2]: github
|
||||||
galaxy_tag_3 [example_tag3]: cli
|
galaxy_tag_3 [example_tag3]: cli
|
||||||
Select debian_stretch_support:
|
Select debian_bullseye_support:
|
||||||
1 - True
|
1 - True
|
||||||
2 - False
|
2 - False
|
||||||
Choose from 1, 2 [1]:
|
Choose from 1, 2 [1]:
|
||||||
|
|||||||
@@ -7,16 +7,17 @@
|
|||||||
"company": "Idealista S.A.U.",
|
"company": "Idealista S.A.U.",
|
||||||
"author": "",
|
"author": "",
|
||||||
"min_ansible_version": "",
|
"min_ansible_version": "",
|
||||||
"ansible_version": "4.4.0",
|
"ansible_version": "5.2.0",
|
||||||
"molecule_version": "3.4.0",
|
"molecule_version": "3.4.0",
|
||||||
"python_docker_version": "5.0.0",
|
"python_docker_version": "5.0.0",
|
||||||
"molecule_docker_version": "0.2.4",
|
"molecule_docker_version": "0.2.4",
|
||||||
"ansible_lint_version":"5.1.2",
|
"ansible_lint_version":"5.3.2",
|
||||||
|
"yamllint_version": "1.28.0",
|
||||||
"license":"Apache 2.0",
|
"license":"Apache 2.0",
|
||||||
"galaxy_tag_1":"example_tag1",
|
"galaxy_tag_1":"tag1",
|
||||||
"galaxy_tag_2":"example_tag2",
|
"galaxy_tag_2":"tag2",
|
||||||
"galaxy_tag_3":"example_tag3",
|
"galaxy_tag_3":"tag3",
|
||||||
"debian_stretch_support":["True", "False"],
|
"debian_bullseye_support":["True", "False"],
|
||||||
"debian_buster_support":["True", "False"],
|
"debian_buster_support":["True", "False"],
|
||||||
"has_service":["True", "False"],
|
"has_service":["True", "False"],
|
||||||
"has_files":["True", "False"],
|
"has_files":["True", "False"],
|
||||||
|
|||||||
9
test.sh
9
test.sh
@@ -8,16 +8,17 @@ printf "cookiecutter==1.7.2\nJinja2==2.11.2" > requirements.txt && pipenv instal
|
|||||||
exec_name="gh" \
|
exec_name="gh" \
|
||||||
author="John Doe" \
|
author="John Doe" \
|
||||||
min_ansible_version="2.2" \
|
min_ansible_version="2.2" \
|
||||||
ansible_version="4.4.0" \
|
ansible_version="5.2.0" \
|
||||||
molecule_version="3.4.0" \
|
molecule_version="3.4.0" \
|
||||||
python_docker_version="5.0.0" \
|
python_docker_version="5.0.0" \
|
||||||
molecule_docker_version="0.2.4" \
|
molecule_docker_version="0.2.4" \
|
||||||
ansible_lint_version="5.1.2" \
|
ansible_lint_version="5.3.2" \
|
||||||
|
yamllint_version="1.28.0" \
|
||||||
has_service="False" \
|
has_service="False" \
|
||||||
has_files="False" \
|
has_files="False" \
|
||||||
has_handlers="False" \
|
has_handlers="False" \
|
||||||
has_templates="False" \
|
has_templates="False" \
|
||||||
documentation_URL="https://cli.github.com/manual/" && rm Pipfile* requirements.txt
|
documentation_URL="https://cli.github.com/manual/" && rm Pipfile* requirements.txt && rm -rf requirements.txt
|
||||||
|
|
||||||
(
|
(
|
||||||
# Adjust the role to test
|
# Adjust the role to test
|
||||||
@@ -29,7 +30,7 @@ printf "cookiecutter==1.7.2\nJinja2==2.11.2" > requirements.txt && pipenv instal
|
|||||||
# Launch molecule tests
|
# Launch molecule tests
|
||||||
pipenv install -r test-requirements.txt --three
|
pipenv install -r test-requirements.txt --three
|
||||||
pipenv run molecule test
|
pipenv run molecule test
|
||||||
|
|
||||||
)
|
)
|
||||||
# Cleanup
|
# Cleanup
|
||||||
rm -rf github_cli_role
|
rm -rf github_cli_role
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
exclude_paths:
|
exclude_paths:
|
||||||
- ./molecule
|
- ./molecule
|
||||||
- ./.travis.yml
|
- ./.travis.yml
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
# {{ cookiecutter.app_name | replace('_',' ') | title }} Ansible role
|
# {{ cookiecutter.app_name | replace('_',' ') | title }} Ansible role
|
||||||

|

|
||||||
|
|
||||||
[](https://travis-ci.com/idealista/{{ cookiecutter.app_name }}_role)
|
[](https://app.travis-ci.com/github/idealista/{{ cookiecutter.app_name }}_role)
|
||||||
[](https://galaxy.ansible.com/idealista/{{ cookiecutter.app_name }}_role)
|
[](https://galaxy.ansible.com/idealista/{{ cookiecutter.app_name }}_role)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
This ansible role installs {% if cookiecutter.documentation_URL != "" %}[{% endif %}{{ cookiecutter.app_name | replace('_',' ') | title }}{% if cookiecutter.documentation_URL != "" %}]({{ cookiecutter.documentation_URL }}){% endif %} in a Debian environment. It has been tested for the following Debian versions:
|
This ansible role installs {% if cookiecutter.documentation_URL != "" %}[{% endif %}{{ cookiecutter.app_name | replace('_',' ') | title }}{% if cookiecutter.documentation_URL != "" %}]({{ cookiecutter.documentation_URL }}){% endif %} in a Debian environment. It has been tested for the following Debian versions:
|
||||||
{% if cookiecutter.debian_stretch_support == 'True' %}* Stretch{% endif %}
|
{% if cookiecutter.debian_bullseye_support == 'True' %}* Bulleye{% endif %}
|
||||||
{% if cookiecutter.debian_buster_support == 'True' %}* Buster{% endif %}
|
{% if cookiecutter.debian_buster_support == 'True' %}* Buster{% endif %}
|
||||||
|
|
||||||
This role has been generated using the [cookiecutter](https://github.com/cookiecutter/cookiecutter) tool, you can generate a similar role that fits your needs using the this [cookiecutter template](https://github.com/idealista/cookiecutter-ansible-role).
|
This role has been generated using the [cookiecutter](https://github.com/cookiecutter/cookiecutter) tool, you can generate a similar role that fits your needs using the this [cookiecutter template](https://github.com/idealista/cookiecutter-ansible-role).
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ galaxy_info:
|
|||||||
description: {{ cookiecutter.app_name | replace('_',' ') | title }} Role
|
description: {{ cookiecutter.app_name | replace('_',' ') | title }} Role
|
||||||
min_ansible_version: {{ cookiecutter.min_ansible_version }}
|
min_ansible_version: {{ cookiecutter.min_ansible_version }}
|
||||||
license: {{ cookiecutter.license }}
|
license: {{ cookiecutter.license }}
|
||||||
galaxy-tags:
|
galaxy_tags:
|
||||||
- {{ cookiecutter.galaxy_tag_1 }}
|
- {{ cookiecutter.galaxy_tag_1 }}
|
||||||
- {{ cookiecutter.galaxy_tag_2 }}
|
- {{ cookiecutter.galaxy_tag_2 }}
|
||||||
- {{ cookiecutter.galaxy_tag_3 }}
|
- {{ cookiecutter.galaxy_tag_3 }}
|
||||||
platforms:
|
platforms:
|
||||||
- name: Debian
|
- name: Debian
|
||||||
versions:
|
versions:
|
||||||
{% if cookiecutter.debian_stretch_support == 'True' %}- stretch{% endif %}
|
{% if cookiecutter.debian_bullseye_support == 'True' %}- bullseye{% endif %}
|
||||||
{% if cookiecutter.debian_buster_support == 'True' %}- buster{% endif %}
|
{% if cookiecutter.debian_buster_support == 'True' %}- buster{% endif %}
|
||||||
|
|||||||
@@ -8,5 +8,5 @@ FROM {{ item.image }}
|
|||||||
|
|
||||||
# install minimal packages for debian slim images
|
# install minimal packages for debian slim images
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y python sudo bash ca-certificates iproute2 systemd systemd-sysv python-pip && \
|
apt-get install -y python3 sudo bash ca-certificates iproute2 systemd systemd-sysv python3-pip && \
|
||||||
apt-get clean{% endraw %}
|
apt-get clean{% endraw %}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ platforms:
|
|||||||
- name: {{ cookiecutter.app_name }}
|
- name: {{ cookiecutter.app_name }}
|
||||||
groups:
|
groups:
|
||||||
- {{ cookiecutter.app_name }}_group
|
- {{ cookiecutter.app_name }}_group
|
||||||
image: ${MOLECULE_DISTRO:-debian:buster-slim}
|
image: ${MOLECULE_DISTRO:-debian:bullseye-slim}
|
||||||
privileged: false
|
privileged: false
|
||||||
capabilities:
|
capabilities:
|
||||||
- SYS_ADMIN
|
- SYS_ADMIN
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
get_url:
|
get_url:
|
||||||
url: "{% raw %}{{{% endraw %} goss_url {% raw %}}}{% endraw %}"
|
url: "{% raw %}{{{% endraw %} goss_url {% raw %}}}{% endraw %}"
|
||||||
dest: "{% raw %}{{{% endraw %} goss_dst {% raw %}}}{% endraw %}"
|
dest: "{% raw %}{{{% endraw %} goss_dst {% raw %}}}{% endraw %}"
|
||||||
sha256sum: "{% raw %}{{{% endraw %} goss_sha256sum {% raw %}}}{% endraw %}"
|
checksum: "sha256{% raw %}:{{{% endraw %} goss_sha256sum {% raw %}}}{% endraw %}"
|
||||||
mode: 0755
|
mode: 0755
|
||||||
register: download_goss
|
register: download_goss
|
||||||
until: download_goss is succeeded
|
until: download_goss is succeeded
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
|
owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
|
||||||
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
|
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
mode: 0755
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_skeleton_paths {% raw %}}}{% endraw %}"
|
- "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_skeleton_paths {% raw %}}}{% endraw %}"
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
|
owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
|
||||||
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
|
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
mode: 0755
|
||||||
state: directory
|
state: directory
|
||||||
when: {{ cookiecutter.app_name }}_log_file is defined
|
when: {{ cookiecutter.app_name }}_log_file is defined
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Install
|
- name: {{ cookiecutter.app_name | upper }} | Install
|
||||||
include: install.yml
|
import_tasks: install.yml
|
||||||
tags:
|
tags:
|
||||||
- {{ cookiecutter.app_name }}_install
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Configure
|
- name: {{ cookiecutter.app_name | upper }} | Configure
|
||||||
include: config.yml
|
import_tasks: config.yml
|
||||||
tags:
|
tags:
|
||||||
- {{ cookiecutter.app_name }}_configure
|
- {{ cookiecutter.app_name }}_configure
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
{% if cookiecutter.has_service == 'True' %}
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Service
|
- name: {{ cookiecutter.app_name | upper }} | Service
|
||||||
include: service.yml
|
import_tasks: service.yml
|
||||||
tags:
|
tags:
|
||||||
- {{ cookiecutter.app_name }}_service
|
- {{ cookiecutter.app_name }}_service
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -2,4 +2,5 @@ ansible=={{ cookiecutter.ansible_version }}
|
|||||||
molecule=={{ cookiecutter.molecule_version }}
|
molecule=={{ cookiecutter.molecule_version }}
|
||||||
docker=={{ cookiecutter.python_docker_version }}
|
docker=={{ cookiecutter.python_docker_version }}
|
||||||
molecule-docker=={{ cookiecutter.molecule_docker_version }}
|
molecule-docker=={{ cookiecutter.molecule_docker_version }}
|
||||||
ansible-lint=={{ cookiecutter.ansible_lint_version }}
|
ansible-lint=={{ cookiecutter.ansible_lint_version }}
|
||||||
|
yamllint=={{ cookiecutter.yamllint_version }}
|
||||||
@@ -10,8 +10,8 @@ install:
|
|||||||
- pipenv sync
|
- pipenv sync
|
||||||
env:
|
env:
|
||||||
jobs:
|
jobs:
|
||||||
{% if cookiecutter.debian_stretch_support == 'True' %}- MOLECULE_DISTRO=debian:stretch-slim{% endif %}
|
|
||||||
{% if cookiecutter.debian_buster_support == 'True' %}- MOLECULE_DISTRO=debian:buster-slim{% endif %}
|
{% if cookiecutter.debian_buster_support == 'True' %}- MOLECULE_DISTRO=debian:buster-slim{% endif %}
|
||||||
|
{% if cookiecutter.debian_bullseye_support == 'True' %}- MOLECULE_DISTRO=debian:bullseye-slim{% endif %}
|
||||||
script:
|
script:
|
||||||
- pipenv run molecule test --all
|
- pipenv run molecule test --all
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user