forked from Mirrors/cookiecutter-ansible-role
Compare commits
90 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
436e824881 | ||
|
|
6522c7ef21 | ||
|
|
8a599c249f | ||
|
|
fdbc7c3908 | ||
|
|
1121b4534e | ||
|
|
16095bb031 | ||
|
|
8ef54f7f0d | ||
|
|
b33689d3b5 | ||
|
|
ea7487e2a9 | ||
|
|
2406ba62c1 | ||
|
|
9e1cb98351 | ||
|
|
dc504ad7d6 | ||
|
|
74b1c3483f | ||
|
|
b5685a90cd | ||
|
|
23d2def966 | ||
|
|
076db03bbe | ||
|
|
c9e2a83163 | ||
|
|
ff5533b940 | ||
|
|
9211b42147 | ||
|
|
4c2995e3d8 | ||
|
|
07f9750241 | ||
|
|
14ae8d9e14 | ||
|
|
ed6eb9ff29 | ||
|
|
92e30ec9ac | ||
|
|
f33225106e | ||
|
|
665d89beb0 | ||
|
|
4459ae1aa6 | ||
|
|
28fe4678d7 | ||
|
|
57633e39ad | ||
|
|
668d890ce6 | ||
|
|
71711119ea | ||
|
|
cdb741f701 | ||
|
|
fb3253da25 | ||
|
|
0211cfcd29 | ||
|
|
01d41dc596 | ||
|
|
5fd7fc7e1d | ||
|
|
3514236fa0 | ||
|
|
d9964134da | ||
|
|
9a971619a7 | ||
|
|
409e7f8bd2 | ||
|
|
6a760eb1dc | ||
|
|
684428ec80 | ||
|
|
3a93e6734d | ||
|
|
5ad5453892 | ||
|
|
8e1924e9e3 | ||
|
|
519a783810 | ||
|
|
5fc3bcaa2e | ||
|
|
dacd85ef41 | ||
|
|
7e8ec829c9 | ||
|
|
cc0eb0ce7c | ||
|
|
08003a20e3 | ||
|
|
2838871c2b | ||
|
|
498bb69af5 | ||
|
|
9e12212122 | ||
|
|
bf38884dcd | ||
|
|
2372221f93 | ||
|
|
a082c79f12 | ||
|
|
921231864f | ||
|
|
c7be6405e8 | ||
|
|
53acbaa7d7 | ||
|
|
055c1ed1a8 | ||
|
|
092a44d4d2 | ||
|
|
e216704e9f | ||
|
|
1b9b8e81a2 | ||
|
|
8b089d7fdc | ||
|
|
bd4c9ee55d | ||
|
|
bfb05f9f7e | ||
|
|
2a4c935222 | ||
|
|
fc1c881864 | ||
|
|
29fef2078c | ||
|
|
3cb19fc4d9 | ||
|
|
a3fb7e6a37 | ||
|
|
602f6e5953 | ||
|
|
34f4edf4c9 | ||
|
|
0b139944f6 | ||
|
|
41f5790f9a | ||
|
|
8735563651 | ||
|
|
f2e385868d | ||
|
|
52fc713404 | ||
|
|
747c7f30de | ||
|
|
e5782c903a | ||
|
|
3ea1b47038 | ||
|
|
cceaac7b86 | ||
|
|
21de58a20b | ||
|
|
376996d273 | ||
|
|
dfedd31efb | ||
|
|
0a9343b545 | ||
|
|
035f88cd21 | ||
|
|
8e687b3d68 | ||
|
|
a2b0a538b2 |
1
.github/ISSUE_TEMPLATE/config.yml
vendored
1
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1 +1,2 @@
|
|||||||
|
---
|
||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
|
|||||||
1
.github/auto_assign.yml
vendored
1
.github/auto_assign.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
# Set to true to add reviewers to pull requests
|
# Set to true to add reviewers to pull requests
|
||||||
addReviewers: true
|
addReviewers: true
|
||||||
|
|
||||||
|
|||||||
1
.github/stale.yml
vendored
1
.github/stale.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
issues:
|
issues:
|
||||||
# Number of days of inactivity before an issue becomes stale
|
# Number of days of inactivity before an issue becomes stale
|
||||||
daysUntilStale: 90
|
daysUntilStale: 90
|
||||||
|
|||||||
18
.travis.yml
18
.travis.yml
@@ -1,16 +1,22 @@
|
|||||||
---
|
---
|
||||||
dist: xenial
|
dist: focal
|
||||||
language: python
|
language: python
|
||||||
python: "3.7"
|
python: "3.9"
|
||||||
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
|
||||||
|
notifications:
|
||||||
|
email:
|
||||||
|
if: branch = master
|
||||||
|
on_success: change
|
||||||
|
on_failure: always
|
||||||
|
recipients:
|
||||||
|
- desarrollo.benders@idealista.com
|
||||||
|
|||||||
64
CHANGELOG.md
64
CHANGELOG.md
@@ -3,11 +3,71 @@ All notable changes to this project will be documented in this file.
|
|||||||
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a changelog](https://github.com/olivierlacan/keep-a-changelog).
|
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a changelog](https://github.com/olivierlacan/keep-a-changelog).
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
### Fixed
|
## [2.9.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.9.0)
|
||||||
### Added
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.8.1...2.9.0)
|
||||||
### Changed
|
### 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)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.7.0...2.8.0)
|
||||||
|
### Added
|
||||||
|
- *[#81](https://github.com/idealista/cookiecutter-ansible-role/issues/81) Add log path variable in defaults* @blalop
|
||||||
|
- *[#79](https://github.com/idealista/cookiecutter-ansible-role/issues/79) Add molecule-docker support* @blalop
|
||||||
|
- *[#79](https://github.com/idealista/cookiecutter-ansible-role/issues/79) Add default versions for Python packages* @blalop
|
||||||
|
- *[#83](https://github.com/idealista/cookiecutter-ansible-role/issues/83) Don't leave empty lines when using jinja* @blalop
|
||||||
|
|
||||||
|
## [2.7.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.7.0)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.6.1...2.7.0)
|
||||||
|
### Added
|
||||||
|
- *[#76](https://github.com/idealista/cookiecutter-ansible-role/issues/76) Create shell user variable* @emepege
|
||||||
|
|
||||||
|
## [2.6.1](https://github.com/idealista/cookiecutter-ansible-role/tree/2.6.1)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.6.0...2.6.1)
|
||||||
|
### Changed
|
||||||
|
- *[#73](https://github.com/idealista/cookiecutter-ansible-role/issues/73) Add document start to .yml files* @blalop
|
||||||
|
|
||||||
|
## [2.6.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.6.0)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.5.1...2.6.0)
|
||||||
|
### Added
|
||||||
|
- *[#69](https://github.com/idealista/cookiecutter-ansible-role/issues/69) Email notifications in travis.* @vicsufer
|
||||||
|
### Changed
|
||||||
|
### Fixed
|
||||||
|
- *[#67](https://github.com/idealista/cookiecutter-ansible-role/issues/67) fix needed task in check_mode- @vicsufer
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
|
## [2.5.1](https://github.com/idealista/cookiecutter-ansible-role/tree/2.5.1)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.5.0...2.5.1)
|
||||||
|
### Changed
|
||||||
|
- *[#63](https://github.com/idealista/cookiecutter-ansible-role/issues/63) Ignore html in gitattributes file* @blalop
|
||||||
|
### Fixed
|
||||||
|
- *[#62](https://github.com/idealista/cookiecutter-ansible-role/issues/62) molecule verify fails and breaks the run when at least one test fail* @ultraheroe
|
||||||
|
- *[#60](https://github.com/idealista/cookiecutter-ansible-role/issues/60) [BUG] Wrong state option in "Ensure skeleton log paths" task* @emepege
|
||||||
|
|
||||||
|
## [2.5.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.5.0)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.4.1...2.5.0)
|
||||||
|
### Added
|
||||||
|
- *[#57](https://github.com/idealista/cookiecutter-ansible-role/issues/57) Added gitattributes file* @blalop
|
||||||
|
### Changed
|
||||||
|
- *[#55](https://github.com/idealista/cookiecutter-ansible-role/issues/55) Excluded non-role files from linting* @blalop
|
||||||
|
|
||||||
|
## [2.4.1](https://github.com/idealista/cookiecutter-ansible-role/tree/2.4.1)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.4.0...2.4.1)
|
||||||
|
### Fixed
|
||||||
|
- *[#50](https://github.com/idealista/cookiecutter-ansible-role/issues/50) Tags not applied properly from playbook* @vicsufer
|
||||||
|
|
||||||
|
## [2.4.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.4.0)
|
||||||
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.3.0...2.4.0)
|
||||||
|
### Added
|
||||||
|
- *[#45](https://github.com/idealista/cookiecutter-ansible-role/issues/45) Documentation link provided on role generation* @xtianae7
|
||||||
|
### Changed
|
||||||
|
- *[#47](https://github.com/idealista/cookiecutter-ansible-role/pull/47) Bump goss version from 0.3.14 to 0.3.16* @vicsufer
|
||||||
|
- *[#46](https://github.com/idealista/cookiecutter-ansible-role/issues/46) Static tests instead of parameters* @xtianae7
|
||||||
|
|
||||||
## [2.3.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.3.0)
|
## [2.3.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.3.0)
|
||||||
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.2.0...2.3.0)
|
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.2.0...2.3.0)
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -1,9 +1,7 @@
|
|||||||
# Cookiecutter Ansible Role
|
# Cookiecutter Ansible Role
|
||||||

|

|
||||||
|
|
||||||
[](https://travis-ci.org/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).
|
||||||
|
|
||||||
@@ -46,15 +44,15 @@ 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.0.1
|
||||||
python_docker_version []: 4.1.0
|
python_docker_version []: 4.1.0
|
||||||
ansible_lint_version []: 4.2.0
|
ansible_lint_version []: 5.3.2
|
||||||
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]:
|
||||||
@@ -79,6 +77,7 @@ Select has_templates:
|
|||||||
1 - True
|
1 - True
|
||||||
2 - False
|
2 - False
|
||||||
Choose from 1, 2 [1]:
|
Choose from 1, 2 [1]:
|
||||||
|
documentation_URL: https://cli.github.com/manual/
|
||||||
```
|
```
|
||||||
|
|
||||||
It will create the following file structure:
|
It will create the following file structure:
|
||||||
|
|||||||
@@ -7,19 +7,21 @@
|
|||||||
"company": "Idealista S.A.U.",
|
"company": "Idealista S.A.U.",
|
||||||
"author": "",
|
"author": "",
|
||||||
"min_ansible_version": "",
|
"min_ansible_version": "",
|
||||||
"ansible_version": "",
|
"ansible_version": "5.2.0",
|
||||||
"molecule_version": "",
|
"molecule_version": "3.4.0",
|
||||||
"python_docker_version": "",
|
"python_docker_version": "5.0.0",
|
||||||
"ansible_lint_version":"",
|
"molecule_docker_version": "0.2.4",
|
||||||
|
"ansible_lint_version":"5.3.2",
|
||||||
"license":"Apache 2.0",
|
"license":"Apache 2.0",
|
||||||
"galaxy_tag_1":"example_tag1",
|
"galaxy_tag_1":"example_tag1",
|
||||||
"galaxy_tag_2":"example_tag2",
|
"galaxy_tag_2":"example_tag2",
|
||||||
"galaxy_tag_3":"example_tag3",
|
"galaxy_tag_3":"example_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"],
|
||||||
"comment_2":"If there is service the following options will not have any effect",
|
"comment_2":"If there is service the following options will not have any effect",
|
||||||
"has_handlers":["True", "False"],
|
"has_handlers":["True", "False"],
|
||||||
"has_templates":["True", "False"]
|
"has_templates":["True", "False"],
|
||||||
|
"documentation_URL":""
|
||||||
}
|
}
|
||||||
|
|||||||
19
test.sh
19
test.sh
@@ -3,7 +3,22 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Generate role
|
# Generate role
|
||||||
printf "cookiecutter==1.7.2\nJinja2==2.11.2" > requirements.txt && pipenv install -r requirements.txt && pipenv run cookiecutter . --no-input app_name="github_cli" exec_name="gh" author="John Doe" min_ansible_version="2.2" ansible_version="2.8.6" molecule_version="3.0.1" python_docker_version="4.1.0" ansible_lint_version="4.2.0" has_service="False" has_files="False" has_handlers="False" has_templates="False" && rm Pipfile* requirements.txt
|
printf "cookiecutter==1.7.2\nJinja2==2.11.2" > requirements.txt && pipenv install -r requirements.txt && pipenv run cookiecutter . --no-input \
|
||||||
|
app_name="github_cli" \
|
||||||
|
exec_name="gh" \
|
||||||
|
author="John Doe" \
|
||||||
|
min_ansible_version="2.2" \
|
||||||
|
ansible_version="5.2.0" \
|
||||||
|
molecule_version="3.4.0" \
|
||||||
|
python_docker_version="5.0.0" \
|
||||||
|
molecule_docker_version="0.2.4" \
|
||||||
|
ansible_lint_version="5.3.2" \
|
||||||
|
has_service="False" \
|
||||||
|
has_files="False" \
|
||||||
|
has_handlers="False" \
|
||||||
|
has_templates="False" \
|
||||||
|
documentation_URL="https://cli.github.com/manual/" && rm Pipfile* requirements.txt
|
||||||
|
|
||||||
(
|
(
|
||||||
# Adjust the role to test
|
# Adjust the role to test
|
||||||
cd github_cli_role
|
cd github_cli_role
|
||||||
@@ -14,7 +29,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,5 +1,7 @@
|
|||||||
exclude_paths:
|
exclude_paths:
|
||||||
- ./molecule
|
- ./molecule
|
||||||
|
- ./.travis.yml
|
||||||
|
- ./.github
|
||||||
parseable: true
|
parseable: true
|
||||||
skip_list:
|
skip_list:
|
||||||
- '204'
|
- '204'
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
|
---
|
||||||
|
|
||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
issues:
|
issues:
|
||||||
# Number of days of inactivity before an issue becomes stale
|
# Number of days of inactivity before an issue becomes stale
|
||||||
daysUntilStale: 90
|
daysUntilStale: 90
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ extends: default
|
|||||||
|
|
||||||
ignore: |
|
ignore: |
|
||||||
molecule/**/tests/
|
molecule/**/tests/
|
||||||
|
.github
|
||||||
|
.travis.yml
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
braces:
|
braces:
|
||||||
|
|||||||
@@ -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 [{{ cookiecutter.app_name | replace('_',' ') | title }}](APP_URL_HERE) 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).
|
||||||
@@ -84,7 +84,7 @@ $ pipenv run molecule test
|
|||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
|
|
||||||
|
|||||||
@@ -21,17 +21,18 @@
|
|||||||
# Installation path
|
# Installation path
|
||||||
{{ cookiecutter.app_name }}_root_path: /opt/{{ cookiecutter.app_name }}
|
{{ cookiecutter.app_name }}_root_path: /opt/{{ cookiecutter.app_name }}
|
||||||
{{ cookiecutter.app_name }}_bin_path: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_root_path {% raw %}}}{% endraw %}/bin"
|
{{ cookiecutter.app_name }}_bin_path: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_root_path {% raw %}}}{% endraw %}/bin"
|
||||||
{{ cookiecutter.app_name }}_skeleton_paths:
|
{{ cookiecutter.app_name }}_skeleton_paths:
|
||||||
- "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}"
|
- "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}"
|
||||||
{{ cookiecutter.app_name }}_exec_name: {{ cookiecutter.exec_name }}
|
{{ cookiecutter.app_name }}_exec_name: {{ cookiecutter.exec_name }}
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
{% if cookiecutter.has_service == 'True' %}
|
||||||
## Service options
|
## Service options
|
||||||
# Documentation
|
# Documentation
|
||||||
{{ cookiecutter.app_name }}_documentation_link: https://www.example.documentation.com
|
{{ cookiecutter.app_name }}_documentation_link: "{{ cookiecutter.documentation_URL }}"
|
||||||
|
|
||||||
# Owner
|
# Owner
|
||||||
{{ cookiecutter.app_name }}_user: exampleuser
|
{{ cookiecutter.app_name }}_user: exampleuser
|
||||||
{{ cookiecutter.app_name }}_group: examplegroup
|
{{ cookiecutter.app_name }}_group: examplegroup
|
||||||
|
{{ cookiecutter.app_name }}_user_shell: /usr/sbin/nologin
|
||||||
|
|
||||||
# Maximum number of files limit
|
# Maximum number of files limit
|
||||||
{{ cookiecutter.app_name }}_max_files: 32768
|
{{ cookiecutter.app_name }}_max_files: 32768
|
||||||
@@ -44,7 +45,8 @@
|
|||||||
# Logs
|
# Logs
|
||||||
# If wanted to output the logs to a file define the following variable
|
# If wanted to output the logs to a file define the following variable
|
||||||
# More information at https://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=
|
# More information at https://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=
|
||||||
# {{ cookiecutter.app_name }}_log_file: path_of_the_file
|
# {{ cookiecutter.app_name }}_log_path: /var/log
|
||||||
|
# {{ cookiecutter.app_name }}_log_file: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_log_path {% raw %}}}{% endraw %}/{{ cookiecutter.app_name }}.log"
|
||||||
{{ cookiecutter.app_name }}_log_output: "{% raw %}{%{% endraw %} if {{ cookiecutter.app_name }}_log_file is defined {% raw %}%}{% endraw %} file:{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_log_file {% raw %}}}{% endraw %} {% raw %}{%{% endraw %} else {% raw %}%}{% endraw %} journal {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}"
|
{{ cookiecutter.app_name }}_log_output: "{% raw %}{%{% endraw %} if {{ cookiecutter.app_name }}_log_file is defined {% raw %}%}{% endraw %} file:{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_log_file {% raw %}}}{% endraw %} {% raw %}{%{% endraw %} else {% raw %}%}{% endraw %} journal {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}"
|
||||||
|
|
||||||
# Flags
|
# Flags
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ galaxy_info:
|
|||||||
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
|
||||||
|
|||||||
@@ -1,36 +1,46 @@
|
|||||||
---
|
---
|
||||||
|
## TODO: Remember to adapt goss tests to your convenience
|
||||||
file:
|
|
||||||
{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}:
|
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
|
||||||
owner: {% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}
|
|
||||||
group: {% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}
|
|
||||||
{% endif %}
|
|
||||||
exists: true
|
|
||||||
filetype: directory
|
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
{% if cookiecutter.has_service == 'True' %}
|
||||||
# port:
|
|
||||||
# # Check port at IPv6
|
|
||||||
# # https://github.com/aelsabbahy/goss/issues/177
|
|
||||||
# tcp6:{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_port {% raw %}}}{% endraw %}:
|
|
||||||
# listening: true
|
|
||||||
# ip:
|
|
||||||
# - '::'
|
|
||||||
|
|
||||||
service:
|
service:
|
||||||
{{ cookiecutter.app_name }}:
|
{{ cookiecutter.app_name }}:
|
||||||
enabled: true
|
enabled: true
|
||||||
running: true
|
|
||||||
process:
|
|
||||||
{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}:
|
|
||||||
running: true
|
running: true
|
||||||
|
|
||||||
|
process:
|
||||||
|
{{ cookiecutter.exec_name }}:
|
||||||
|
running: true
|
||||||
|
|
||||||
user:
|
user:
|
||||||
{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}:
|
exampleuser:
|
||||||
exists: true
|
exists: true
|
||||||
groups:
|
groups:
|
||||||
- {% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}
|
- examplegroup
|
||||||
shell: /usr/sbin/nologin
|
shell: /usr/sbin/nologin
|
||||||
group:
|
group:
|
||||||
{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}:
|
examplegroup:
|
||||||
exists: true
|
exists: true
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
file:
|
||||||
|
/opt/{{ cookiecutter.app_name }}:
|
||||||
|
{%- if cookiecutter.has_service == 'True' %}
|
||||||
|
owner: exampleuser
|
||||||
|
group: examplegroup
|
||||||
|
{%- endif %}
|
||||||
|
exists: true
|
||||||
|
filetype: directory
|
||||||
|
/opt/{{ cookiecutter.app_name }}/bin:
|
||||||
|
{%- if cookiecutter.has_service == 'True' %}
|
||||||
|
owner: exampleuser
|
||||||
|
group: examplegroup
|
||||||
|
{%- endif %}
|
||||||
|
exists: true
|
||||||
|
filetype: directory
|
||||||
|
|
||||||
|
## Check if ports are really exposed
|
||||||
|
# port:
|
||||||
|
# # Check port at IPv6
|
||||||
|
# # https://github.com/aelsabbahy/goss/issues/177
|
||||||
|
# tcp6:<port>:
|
||||||
|
# listening: true
|
||||||
|
# ip:
|
||||||
|
# - '::'
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
- {{ cookiecutter.app_name }}
|
- {{ cookiecutter.app_name }}
|
||||||
become: true
|
become: true
|
||||||
vars:
|
vars:
|
||||||
goss_version: v0.3.14
|
goss_version: v0.3.16
|
||||||
goss_arch: amd64
|
goss_arch: amd64
|
||||||
goss_dst: /usr/local/bin/goss
|
goss_dst: /usr/local/bin/goss
|
||||||
goss_sha256sum: 26c481073d346028451d56af600a71ec2d6c7bc960c3e207f610e32c5e1f5144
|
goss_sha256sum: 827e354b48f93bce933f5efcd1f00dc82569c42a179cf2d384b040d8a80bfbfb
|
||||||
goss_url: "https://github.com/aelsabbahy/goss/releases/download/{% raw %}{{{% endraw %} goss_version {% raw %}}}{% endraw %}/goss-linux-{% raw %}{{{% endraw %} goss_arch {% raw %}}}{% endraw %}"
|
goss_url: "https://github.com/aelsabbahy/goss/releases/download/{% raw %}{{{% endraw %} goss_version {% raw %}}}{% endraw %}/goss-linux-{% raw %}{{{% endraw %} goss_arch {% raw %}}}{% endraw %}"
|
||||||
goss_test_directory: /tmp
|
goss_test_directory: /tmp
|
||||||
goss_format: documentation
|
goss_format: documentation
|
||||||
@@ -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
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
command: "{% raw %}{{{% endraw %} goss_dst {% raw %}}}{% endraw %} -g {% raw %}{{{% endraw %} item {% raw %}}}{% endraw %} validate --format {% raw %}{{{% endraw %} goss_format {% raw %}}}{% endraw %}"
|
command: "{% raw %}{{{% endraw %} goss_dst {% raw %}}}{% endraw %} -g {% raw %}{{{% endraw %} item {% raw %}}}{% endraw %} validate --format {% raw %}{{{% endraw %} goss_format {% raw %}}}{% endraw %}"
|
||||||
register: test_results
|
register: test_results
|
||||||
with_items: "{% raw %}{{{% endraw %} test_files.stdout_lines {% raw %}}}{% endraw %}"
|
with_items: "{% raw %}{{{% endraw %} test_files.stdout_lines {% raw %}}}{% endraw %}"
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
- name: Display details about the Goss results
|
- name: Display details about the Goss results
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
@@ -5,47 +5,62 @@
|
|||||||
name: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
|
name: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
|
||||||
system: yes
|
system: yes
|
||||||
state: present
|
state: present
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Ensure {{ cookiecutter.app_name }} user
|
- name: {{ cookiecutter.app_name | upper }} | Ensure {{ cookiecutter.app_name }} user
|
||||||
user:
|
user:
|
||||||
name: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
|
name: "{% 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 %}"
|
||||||
system: yes
|
system: yes
|
||||||
shell: /usr/sbin/nologin
|
shell: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user_shell {% raw %}}}{% endraw %}"
|
||||||
createhome: no
|
createhome: no
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
{% endif %}
|
{% endif %}
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Ensure skeleton paths
|
- name: {{ cookiecutter.app_name | upper }} | Ensure skeleton paths
|
||||||
file:
|
file:
|
||||||
dest: "{% raw %}{{{% endraw %} item {% raw %}}}{% endraw %}"
|
dest: "{% raw %}{{{% endraw %} item {% raw %}}}{% endraw %}"
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
{%- if cookiecutter.has_service == 'True' %}
|
||||||
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 %}"
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Ensure skeleton log paths
|
- name: {{ cookiecutter.app_name | upper }} | Ensure skeleton log paths
|
||||||
file:
|
file:
|
||||||
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_log_path {% raw %}}}{% endraw %}"
|
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_log_path {% raw %}}}{% endraw %}"
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
{%- if cookiecutter.has_service == 'True' %}
|
||||||
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 %}
|
||||||
state: file
|
mode: 0755
|
||||||
|
state: directory
|
||||||
when: {{ cookiecutter.app_name }}_log_file is defined
|
when: {{ cookiecutter.app_name }}_log_file is defined
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Check {{ cookiecutter.app_name }} version
|
- name: {{ cookiecutter.app_name | upper }} | Check {{ cookiecutter.app_name }} version
|
||||||
command: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %} --version"
|
command: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %} --version"
|
||||||
register: {{ cookiecutter.app_name }}_check
|
register: {{ cookiecutter.app_name }}_check
|
||||||
changed_when: false
|
changed_when: false
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
check_mode: no
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Download package
|
- name: {{ cookiecutter.app_name | upper }} | Download package
|
||||||
get_url:
|
get_url:
|
||||||
url: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_url {% raw %}}}{% endraw %}"
|
url: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_url {% raw %}}}{% endraw %}"
|
||||||
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_package_path {% raw %}}}{% endraw %}"
|
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_package_path {% raw %}}}{% endraw %}"
|
||||||
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Extract downloaded package
|
- name: {{ cookiecutter.app_name | upper }} | Extract downloaded package
|
||||||
unarchive:
|
unarchive:
|
||||||
@@ -53,18 +68,22 @@
|
|||||||
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_download_path {% raw %}}}{% endraw %}"
|
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_download_path {% raw %}}}{% endraw %}"
|
||||||
remote_src: True
|
remote_src: True
|
||||||
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Copy binary
|
- name: {{ cookiecutter.app_name | upper }} | Copy binary
|
||||||
copy:
|
copy:
|
||||||
src: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_src_bin {% raw %}}}{% endraw %}"
|
src: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_src_bin {% raw %}}}{% endraw %}"
|
||||||
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}"
|
dest: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}"
|
||||||
{% if cookiecutter.has_service == 'True' %}
|
{%- if cookiecutter.has_service == 'True' %}
|
||||||
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 %}
|
||||||
remote_src: True
|
remote_src: True
|
||||||
mode: 0755
|
mode: 0755
|
||||||
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Link binary
|
- name: {{ cookiecutter.app_name | upper }} | Link binary
|
||||||
file:
|
file:
|
||||||
@@ -72,3 +91,5 @@
|
|||||||
dest: "/usr/bin/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}"
|
dest: "/usr/bin/{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_exec_name {% raw %}}}{% endraw %}"
|
||||||
state: link
|
state: link
|
||||||
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
when: {{ cookiecutter.app_name }}_force_reinstall or {{ cookiecutter.app_name }}_check is failed or {{ cookiecutter.app_name }}_version not in {{ cookiecutter.app_name }}_check.stderr
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_install
|
||||||
|
|||||||
@@ -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 %}
|
||||||
@@ -8,10 +8,14 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
notify: restart {{ cookiecutter.app_name }}
|
notify: restart {{ cookiecutter.app_name }}
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_service
|
||||||
|
|
||||||
- name: {{ cookiecutter.app_name | upper }} | Configuring service
|
- name: {{ cookiecutter.app_name | upper }} | Configuring service
|
||||||
systemd:
|
systemd:
|
||||||
name: {{ cookiecutter.app_name }}
|
name: {{ cookiecutter.app_name }}
|
||||||
state: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_service_state {% raw %}}}{% endraw %}"
|
state: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_service_state {% raw %}}}{% endraw %}"
|
||||||
enabled: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_service_enabled {% raw %}}}{% endraw %}"
|
enabled: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_service_enabled {% raw %}}}{% endraw %}"
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
|
tags:
|
||||||
|
- {{ cookiecutter.app_name }}_service
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
ansible=={{ cookiecutter.ansible_version }}
|
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 }}
|
||||||
ansible-lint=={{ cookiecutter.ansible_lint_version }}
|
ansible-lint=={{ cookiecutter.ansible_lint_version }}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
*.yml linguist-detectable=true
|
||||||
|
*.yaml linguist-detectable=true
|
||||||
|
*.html linguist-detectable=false
|
||||||
@@ -10,10 +10,16 @@ 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
|
- pipenv run molecule test --all
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
||||||
|
email:
|
||||||
|
if: branch = main
|
||||||
|
on_success: change
|
||||||
|
on_failure: always
|
||||||
|
recipients:
|
||||||
|
- desarrollo.benders@idealista.com
|
||||||
|
|||||||
Reference in New Issue
Block a user