Compare commits

..

No commits in common. "develop" and "2.5.1" have entirely different histories.

23 changed files with 56 additions and 238 deletions

3
.gitattributes vendored
View File

@ -1,3 +0,0 @@
*.yml linguist-detectable=true
*.yaml linguist-detectable=true
*.html linguist-detectable=false

View File

@ -1,2 +1 @@
---
blank_issues_enabled: false

View File

@ -1,4 +1,3 @@
---
# Set to true to add reviewers to pull requests
addReviewers: true

1
.github/stale.yml vendored
View File

@ -1,4 +1,3 @@
---
issues:
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 90

View File

@ -1,23 +1,16 @@
---
dist: focal
dist: xenial
language: python
python: "3.10"
python: "3.7"
os: linux
services:
- docker
install:
- pip install -I pipenv
- pip3 install cookiecutter
env:
jobs:
- MOLECULE_DISTRO=debian:bullseye-slim
- MOLECULE_DISTRO=debian:stretch-slim
- MOLECULE_DISTRO=debian:buster-slim
script:
- ./test.sh
notifications:
email:
if: branch = master
on_success: change
on_failure: always
recipients:
- desarrollo.benders@idealista.com
- ./test.sh

View File

@ -1,223 +1,91 @@
# Change Log
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).
## Added
- *[#103](https://github.com/idealista/cookiecutter-ansible-role/pull/103) (2024-01-17)- Add ".gitattributes" file for linguist detection.* @ygomezsaiz
## Unreleased
## [2.10.2](https://github.com/idealista/cookiecutter-ansible-role/tree/2.10.2)
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.10.1...2.10.2)
### Changed
- *[98](https://github.com/idealista/cookiecutter-ansible-role/issues/98)* Change goss URL @Marionv91
## [2.10.1](https://github.com/idealista/cookiecutter-ansible-role/tree/2.10.)
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.10.0...2.10.1)
### Fixed
- *[95](https://github.com/idealista/cookiecutter-ansible-role/issues/95)* Failing travis test builds due to pipenv @ultraheroe
## [2.10.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.10.0)
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.9.0...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)
### [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
## [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)
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.2.0...2.3.0)
### Fixed
- *[#40](https://github.com/idealista/cookiecutter-ansible-role/issues/40) Updated yamllint configuration* @frantsao
### Changed
- *[#38](https://github.com/idealista/cookiecutter-ansible-role/pull/38) Bump goss version from 0.3.11 to 0.3.14* @vicsufer
- *[#30](https://github.com/idealista/cookiecutter-ansible-role/issues/30) Using a new version for issue template* @xtianae7
### Removed
- *[#39](https://github.com/idealista/cookiecutter-ansible-role/pull/39) Community health files* @vicsufer
- *[#30](https://github.com/idealista/cookiecutter-ansible-role/issues/30) PULL_REQUEST_TEMPLATE removed, replaced with default community health file* @xtianae7
## [2.2.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.2.0) (2020-11-10)
### [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.1.0...2.2.0)
### Fixed
- *[#27](https://github.com/idealista/cookiecutter-ansible-role/issues/27) Adding Probot configuration to Ansible Role template* @dortegau
### Changed
- *[#27](https://github.com/idealista/cookiecutter-ansible-role/issues/27) Increase to 90 days the minimum days to declare a PR/Issue as `staled`* @dortegau
- *[#32](https://github.com/idealista/cookiecutter-ansible-role/pull/32) Avoid closing automatically good first issues* @vicsufer
### Removed
- *[#29](https://github.com/idealista/cookiecutter-ansible-role/issues/29) Removing redudant script in .travis.yml* @xtianae7
## [2.1.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.1.0) (2020-10-19)
## [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/2.0.0...2.1.0)
### Added
- *[#20](https://github.com/idealista/cookiecutter-ansible-role/issues/20) Add basic configuration in order to enable Probot to delete automatically abandoned PRs/issues* @dortegau
### Fixed
- *[#23](https://github.com/idealista/cookiecutter-ansible-role/issues/23) Change references to branch master to main* @pgomezcaldito
## [2.0.0](https://github.com/idealista/cookiecutter-ansible-role/tree/2.0.0) (2020-10-13)
## [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/1.0.1...2.0.0)
### Removed
- *[#16](https://github.com/idealista/cookiecutter-ansible-role/issues/16) Remove debian jessie support* @pablogcaldito
### Added
- *[#15](https://github.com/idealista/cookiecutter-ansible-role/issues/15) Add pipenv wrapper* @pablogcaldito
- *Add boilerplate README.md* @vicsufer
## [1.0.1](https://github.com/idealista/cookiecutter-ansible-role/tree/1.0.1) (2020-09-17)
## [Full Changelog](https://github.com/idealista/cookiecutter-ansible-role/compare/1.0.0...1.0.1)
### Removed
- *[#9](https://github.com/idealista/cookiecutter-ansible-role/issues/9) Remove Vagrant pattern from role gitignore file* @vicsufer
### Added
- *[#4](https://github.com/idealista/cookiecutter-ansible-role/issues/4) Upgrade to Goss v0.3.11* @pablogcaldito
### Fixed
- *[#11](https://github.com/idealista/cookiecutter-ansible-role/issues/11) Fix parameterization of PrivateTmp* @pablogcaldito
- *[#7](https://github.com/idealista/cookiecutter-ansible-role/issues/7) Fix bug in in the check version task in install.yml* @pablogcaldito
- *[#3](https://github.com/idealista/cookiecutter-ansible-role/issues/3) Fix typo in both contributing files* @pablogcaldito
@ -225,5 +93,4 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a ch
## [1.0.0](https://github.com/idealista/cookiecutter-ansible-role/tree/1.0.0) (2020-04-28)
### Added
- *First release* @pablogcaldito

View File

@ -1,7 +1,9 @@
# 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.com/idealista/cookiecutter-ansible-role)
[![Build Status](https://travis-ci.com/idealista/cookiecutter-ansible-role.png)](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).
@ -29,8 +31,7 @@ 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 -rf Pipfile*
requirements.txt && pipenv --rm && rm -rf 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 Pipfile* requirements.txt```.
Then, introduce some parameters needed for generating it.
@ -45,17 +46,15 @@ github_user [idealista]:
company [Idealista S.A.U.]:
author []: pablogcaldito
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
yamllint_version []: 1.28.0
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_bullseye_support:
Select debian_stretch_support:
1 - True
2 - False
Choose from 1, 2 [1]:

View File

@ -7,17 +7,15 @@
"company": "Idealista S.A.U.",
"author": "",
"min_ansible_version": "",
"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",
"yamllint_version": "1.28.0",
"ansible_version": "",
"molecule_version": "",
"python_docker_version": "",
"ansible_lint_version":"",
"license":"Apache 2.0",
"galaxy_tag_1":"tag1",
"galaxy_tag_2":"tag2",
"galaxy_tag_3":"tag3",
"debian_bullseye_support":["True", "False"],
"galaxy_tag_1":"example_tag1",
"galaxy_tag_2":"example_tag2",
"galaxy_tag_3":"example_tag3",
"debian_stretch_support":["True", "False"],
"debian_buster_support":["True", "False"],
"has_service":["True", "False"],
"has_files":["True", "False"],

22
test.sh
View File

@ -3,23 +3,7 @@
set -e
# 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="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" \
yamllint_version="1.28.0" \
has_service="False" \
has_files="False" \
has_handlers="False" \
has_templates="False" \
documentation_URL="https://cli.github.com/manual/" && rm Pipfile* requirements.txt && rm -rf 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="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" documentation_URL="https://cli.github.com/manual/" && rm Pipfile* requirements.txt
(
# Adjust the role to test
cd github_cli_role
@ -28,9 +12,9 @@ printf "cookiecutter==1.7.2\nJinja2==2.11.2" > requirements.txt && pipenv instal
sed -i 's/1.0.0/0.6.4/g' defaults/main.yml
sed -i 's/exampleapplication/gh/g' defaults/main.yml
# Launch molecule tests
pipenv install -r test-requirements.txt
pipenv install -r test-requirements.txt --three
pipenv run molecule test
)
# Cleanup
rm -rf github_cli_role

View File

@ -1,4 +1,3 @@
---
exclude_paths:
- ./molecule
- ./.travis.yml

View File

@ -1,3 +1 @@
---
blank_issues_enabled: false

View File

@ -1,4 +1,3 @@
---
issues:
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 90

View File

@ -1,13 +1,13 @@
# {{ cookiecutter.app_name | replace('_',' ') | title }} Ansible role
![Logo](logo.gif)
[![Build Status](https://app.travis-ci.com/idealista/{{ cookiecutter.app_name }}_role.svg)](https://app.travis-ci.com/github/idealista/{{ cookiecutter.app_name }}_role)
[![Build Status](https://travis-ci.com/idealista/{{ cookiecutter.app_name }}_role.png)](https://travis-ci.com/idealista/{{ cookiecutter.app_name }}_role)
[![Ansible Galaxy](https://img.shields.io/badge/galaxy-idealista.{{ cookiecutter.app_name }}_role-B62682.svg)](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:
{% if cookiecutter.debian_bullseye_support == 'True' %}* Bulleye{% endif %}
{% if cookiecutter.debian_stretch_support == 'True' %}* Stretch{% 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).
@ -32,7 +32,7 @@ Ansible {{ cookiecutter.ansible_version }} version installed.
Molecule 3.x.x version installed.
For testing purposes, [Molecule](https://molecule.readthedocs.io/) with [Docker](https://www.docker.com/) as driver and [Goss](https://github.com/goss-org/goss) as verifier.
For testing purposes, [Molecule](https://molecule.readthedocs.io/) with [Docker](https://www.docker.com/) as driver and [Goss](https://github.com/aelsabbahy/goss) as verifier.
### Installing

View File

@ -21,7 +21,7 @@
# Installation path
{{ 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 }}_skeleton_paths:
{{ cookiecutter.app_name }}_skeleton_paths:
- "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_bin_path {% raw %}}}{% endraw %}"
{{ cookiecutter.app_name }}_exec_name: {{ cookiecutter.exec_name }}
{% if cookiecutter.has_service == 'True' %}
@ -32,7 +32,6 @@
# Owner
{{ cookiecutter.app_name }}_user: exampleuser
{{ cookiecutter.app_name }}_group: examplegroup
{{ cookiecutter.app_name }}_user_shell: /usr/sbin/nologin
# Maximum number of files limit
{{ cookiecutter.app_name }}_max_files: 32768
@ -45,8 +44,7 @@
# Logs
# 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=
# {{ 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_file: path_of_the_file
{{ 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

View File

@ -6,12 +6,12 @@ galaxy_info:
description: {{ cookiecutter.app_name | replace('_',' ') | title }} Role
min_ansible_version: {{ cookiecutter.min_ansible_version }}
license: {{ cookiecutter.license }}
galaxy_tags:
galaxy-tags:
- {{ cookiecutter.galaxy_tag_1 }}
- {{ cookiecutter.galaxy_tag_2 }}
- {{ cookiecutter.galaxy_tag_3 }}
platforms:
- name: Debian
versions:
{% if cookiecutter.debian_bullseye_support == 'True' %}- bullseye{% endif %}
{% if cookiecutter.debian_stretch_support == 'True' %}- stretch{% endif %}
{% if cookiecutter.debian_buster_support == 'True' %}- buster{% endif %}

View File

@ -8,5 +8,5 @@ FROM {{ item.image }}
# install minimal packages for debian slim images
RUN apt-get update && \
apt-get install -y python3 sudo bash ca-certificates iproute2 systemd systemd-sysv python3-pip && \
apt-get install -y python sudo bash ca-certificates iproute2 systemd systemd-sysv python-pip && \
apt-get clean{% endraw %}

View File

@ -10,7 +10,7 @@ platforms:
- name: {{ cookiecutter.app_name }}
groups:
- {{ cookiecutter.app_name }}_group
image: ${MOLECULE_DISTRO:-debian:bullseye-slim}
image: ${MOLECULE_DISTRO:-debian:buster-slim}
privileged: false
capabilities:
- SYS_ADMIN

View File

@ -22,24 +22,24 @@ group:
{% endif %}
file:
/opt/{{ cookiecutter.app_name }}:
{%- if cookiecutter.has_service == 'True' %}
{% if cookiecutter.has_service == 'True' %}
owner: exampleuser
group: examplegroup
{%- endif %}
{% endif %}
exists: true
filetype: directory
/opt/{{ cookiecutter.app_name }}/bin:
{%- if cookiecutter.has_service == 'True' %}
{% if cookiecutter.has_service == 'True' %}
owner: exampleuser
group: examplegroup
{%- endif %}
{% endif %}
exists: true
filetype: directory
## Check if ports are really exposed
# port:
# # Check port at IPv6
# # https://github.com/goss-org/goss/issues/177
# # https://github.com/aelsabbahy/goss/issues/177
# tcp6:<port>:
# listening: true
# ip:

View File

@ -12,7 +12,7 @@
goss_arch: amd64
goss_dst: /usr/local/bin/goss
goss_sha256sum: 827e354b48f93bce933f5efcd1f00dc82569c42a179cf2d384b040d8a80bfbfb
goss_url: "https://github.com/goss-org/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_format: documentation
@ -24,7 +24,7 @@
get_url:
url: "{% raw %}{{{% endraw %} goss_url {% raw %}}}{% endraw %}"
dest: "{% raw %}{{{% endraw %} goss_dst {% raw %}}}{% endraw %}"
checksum: "sha256{% raw %}:{{{% endraw %} goss_sha256sum {% raw %}}}{% endraw %}"
sha256sum: "{% raw %}{{{% endraw %} goss_sha256sum {% raw %}}}{% endraw %}"
mode: 0755
register: download_goss
until: download_goss is succeeded

View File

@ -13,7 +13,7 @@
name: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
system: yes
shell: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user_shell {% raw %}}}{% endraw %}"
shell: /usr/sbin/nologin
createhome: no
tags:
- {{ cookiecutter.app_name }}_install
@ -21,11 +21,10 @@
- name: {{ cookiecutter.app_name | upper }} | Ensure skeleton paths
file:
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 %}"
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
{%- endif %}
mode: 0755
{% endif %}
state: directory
with_items:
- "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_skeleton_paths {% raw %}}}{% endraw %}"
@ -35,11 +34,10 @@
- name: {{ cookiecutter.app_name | upper }} | Ensure skeleton log paths
file:
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 %}"
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
{%- endif %}
mode: 0755
{% endif %}
state: directory
when: {{ cookiecutter.app_name }}_log_file is defined
tags:
@ -50,7 +48,6 @@
register: {{ cookiecutter.app_name }}_check
changed_when: false
ignore_errors: true
check_mode: no
tags:
- {{ cookiecutter.app_name }}_install
@ -75,10 +72,10 @@
copy:
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 %}"
{%- if cookiecutter.has_service == 'True' %}
{% if cookiecutter.has_service == 'True' %}
owner: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_user {% raw %}}}{% endraw %}"
group: "{% raw %}{{{% endraw %} {{ cookiecutter.app_name }}_group {% raw %}}}{% endraw %}"
{%- endif %}
{% endif %}
remote_src: True
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

View File

@ -1,17 +1,17 @@
---
- name: {{ cookiecutter.app_name | upper }} | Install
import_tasks: install.yml
include: install.yml
tags:
- {{ cookiecutter.app_name }}_install
- name: {{ cookiecutter.app_name | upper }} | Configure
import_tasks: config.yml
include: config.yml
tags:
- {{ cookiecutter.app_name }}_configure
{% if cookiecutter.has_service == 'True' %}
- name: {{ cookiecutter.app_name | upper }} | Service
import_tasks: service.yml
include: service.yml
tags:
- {{ cookiecutter.app_name }}_service
{% endif %}

View File

@ -1,6 +1,4 @@
ansible=={{ cookiecutter.ansible_version }}
molecule=={{ cookiecutter.molecule_version }}
docker=={{ cookiecutter.python_docker_version }}
molecule-docker=={{ cookiecutter.molecule_docker_version }}
ansible-lint=={{ cookiecutter.ansible_lint_version }}
yamllint=={{ cookiecutter.yamllint_version }}
ansible-lint=={{ cookiecutter.ansible_lint_version }}

View File

@ -1,25 +1,19 @@
---
dist: xenial
language: python
python: "3.9"
python: "3.7"
os: linux
services:
- docker
install:
- pip install -I pipenv
- pip install pipenv
- pipenv sync
env:
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_bullseye_support == 'True' %}- MOLECULE_DISTRO=debian:bullseye-slim{% endif %}
script:
- pipenv run molecule test --all
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
email:
if: branch = main
on_success: change
on_failure: always
recipients:
- desarrollo.benders@idealista.com