New role: code.

This commit is contained in:
Robert de Bock 2022-08-03 09:08:50 +02:00
parent fca983cede
commit bed3e93cd6
367 changed files with 2140 additions and 1921 deletions

View File

@ -1,7 +1,7 @@
namespace: "robertdebock" namespace: "robertdebock"
name: "development_environment" name: "development_environment"
description: Install everything you need to develop Ansible roles. description: Install everything you need to develop Ansible roles.
version: "2.2.2" version: "2.2.4"
readme: "README.md" readme: "README.md"
authors: authors:
- "Robert de Bock" - "Robert de Bock"

View File

@ -1,8 +1,8 @@
---
# #
# Ansible managed # Ansible managed
# #
exclude_paths: exclude_paths:
- ./meta/exception.yml
- ./meta/preferences.yml - ./meta/preferences.yml
- ./molecule/default/prepare.yml - ./molecule/default/prepare.yml
- ./molecule/default/converge.yml - ./molecule/default/converge.yml

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -13,6 +13,6 @@ jobs:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: galaxy - name: galaxy
uses: robertdebock/galaxy-action@1.1.0 uses: robertdebock/galaxy-action@1.2.0
with: with:
galaxy_api_key: ${{ secrets.galaxy_api_key }} galaxy_api_key: ${{ secrets.galaxy_api_key }}

View File

@ -22,7 +22,7 @@ jobs:
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
command: lint command: lint
test: test:
@ -35,20 +35,24 @@ jobs:
config: config:
- image: "alpine" - image: "alpine"
tag: "latest" tag: "latest"
- image: "centos" - image: "enterpriselinux"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "bullseye" tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "35"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "opensuse" - image: "opensuse"
tag: "latest" tag: "latest"
- image: "ubuntu" - image: "ubuntu"
tag: "latest" tag: "latest"
- image: "ubuntu"
tag: "focal"
- image: "ubuntu" - image: "ubuntu"
tag: "bionic" tag: "bionic"
steps: steps:
@ -61,7 +65,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -1,30 +0,0 @@
---
#
# Ansible managed
#
language: python
os: linux
dist: xenial
python:
- "3.9"
services:
- docker
cache:
- pip
install:
- pip install --upgrade pip
- pip install yamllint
- pip install ansible-lint
script:
- yamllint .
- ansible-lint
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
email: false

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier same "printed page" as the copyright notice for easier
identification within third-party archives. identification within third-party archives.
Copyright 2021 Robert de Bock (robert@meinit.nl) Copyright 2022 Robert de Bock (robert@meinit.nl)
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -8,7 +8,7 @@ Install and configure ansible on your system.
## [Example Playbook](#example-playbook) ## [Example Playbook](#example-playbook)
This example is taken from `molecule/resources/converge.yml` and is tested on each push, pull request and release. This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
```yaml ```yaml
--- ---
- name: Converge - name: Converge
@ -20,7 +20,7 @@ This example is taken from `molecule/resources/converge.yml` and is tested on ea
- role: robertdebock.ansible - role: robertdebock.ansible
``` ```
The machine needs to be prepared in CI this is done using `molecule/resources/prepare.yml`: The machine needs to be prepared. In CI this is done using `molecule/default/prepare.yml`:
```yaml ```yaml
--- ---
- name: Prepare - name: Prepare
@ -39,7 +39,7 @@ Also see a [full explanation and example](https://robertdebock.nl/how-to-use-the
## [Role Variables](#role-variables) ## [Role Variables](#role-variables)
These variables are set in `defaults/main.yml`: The default values for the variables are set in `defaults/main.yml`:
```yaml ```yaml
--- ---
# defaults file for ansible # defaults file for ansible
@ -61,16 +61,16 @@ ansible_configuration:
- pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-ansible/blob/master/requirements.txt). - pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-ansible/blob/master/requirements.txt).
## [Status of requirements](#status-of-requirements) ## [Status of used roles](#status-of-requirements)
The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well. The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | GitLab | | Requirement | GitHub | GitLab |
|-------------|--------|--------| |-------------|--------|--------|
| [robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap) |[robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap)|
| [robertdebock.buildtools](https://galaxy.ansible.com/robertdebock/buildtools) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-buildtools/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-buildtools/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-buildtools/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-buildtools) |[robertdebock.buildtools](https://galaxy.ansible.com/robertdebock/buildtools)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-buildtools/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-buildtools/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-buildtools/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-buildtools)|
| [robertdebock.epel](https://galaxy.ansible.com/robertdebock/epel) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-epel/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-epel/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-epel/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-epel) |[robertdebock.epel](https://galaxy.ansible.com/robertdebock/epel)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-epel/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-epel/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-epel/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-epel)|
| [robertdebock.python_pip](https://galaxy.ansible.com/robertdebock/python_pip) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-python_pip/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-python_pip/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-python_pip/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-python_pip) |[robertdebock.python_pip](https://galaxy.ansible.com/robertdebock/python_pip)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-python_pip/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-python_pip/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-python_pip/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-python_pip)|
## [Context](#context) ## [Context](#context)
@ -87,10 +87,10 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|---------|----| |---------|----|
|alpine|all| |alpine|all|
|el|8| |el|8|
|debian|buster, bullseye| |debian|all|
|fedora|all| |fedora|all|
|opensuse|all| |opensuse|all|
|ubuntu|focal, bionic| |ubuntu|all|
The minimum version of Ansible required is 2.10, tests have been done to: The minimum version of Ansible required is 2.10, tests have been done to:
@ -98,14 +98,6 @@ The minimum version of Ansible required is 2.10, tests have been done to:
- The current version. - The current version.
- The development version. - The development version.
## [Exceptions](#exceptions)
Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work:
| variation | reason |
|---------------------------|------------------------|
| amazonlinux:1 | No package matching 'python3-pip' |
If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-ansible/issues) If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-ansible/issues)
@ -113,7 +105,6 @@ If you find issues, please register them in [GitHub](https://github.com/robertde
Apache-2.0 Apache-2.0
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

View File

@ -1,2 +1,2 @@
install_date: Sun Mar 21 06:59:14 2021 install_date: Wed Aug 3 07:06:57 2022
version: 3.0.2 version: 3.1.4

View File

@ -1,4 +0,0 @@
---
exceptions:
- variation: amazonlinux:1
reason: "No package matching 'python3-pip'"

View File

@ -1,6 +1,7 @@
--- ---
galaxy_info: galaxy_info:
author: Robert de Bock author: Robert de Bock
namespace: robertdebock
role_name: ansible role_name: ansible
description: Install and configure ansible on your system. description: Install and configure ansible on your system.
license: Apache-2.0 license: Apache-2.0
@ -16,8 +17,7 @@ galaxy_info:
- 8 - 8
- name: Debian - name: Debian
versions: versions:
- buster - all
- bullseye
- name: Fedora - name: Fedora
versions: versions:
- all - all
@ -26,8 +26,7 @@ galaxy_info:
- all - all
- name: Ubuntu - name: Ubuntu
versions: versions:
- focal - all
- bionic
galaxy_tags: galaxy_tags:
- ansible - ansible

View File

@ -23,9 +23,5 @@ platforms:
pre_build_image: yes pre_build_image: yes
provisioner: provisioner:
name: ansible name: ansible
config_options:
defaults:
stdout_callback: yaml
bin_ansible_callbacks: yes
verifier: verifier:
name: ansible name: ansible

View File

@ -6,6 +6,7 @@
tasks: tasks:
- name: run ansible - name: run ansible
shell: ansible --version > ansible.version ansible.builtin.shell:
cmd: ansible --version > ansible.version
args: args:
creates: ansible.version creates: ansible.version

View File

@ -1,8 +1,8 @@
--- ---
# tasks file for ansible # tasks file for ansible
- name: include assert.yml - name: import assert.yml
import_tasks: assert.yml ansible.builtin.import_tasks: assert.yml
run_once: yes run_once: yes
delegate_to: localhost delegate_to: localhost

View File

@ -3,18 +3,16 @@
# #
[tox] [tox]
minversion = 3.21.4 minversion = 3.21.4
# 2.11 has been disabled: couldn't resolve module/action 'docker_container'. envlist = py{310}-ansible-{4,5}
envlist = py{39}-ansible-{2.9,2.10}
skipsdist = true skipsdist = true
[testenv] [testenv]
deps = deps =
2.9: ansible == 2.9.* 4: ansible == 4.*
2.10: ansible == 2.10.* 5: ansible == 5.*
2.11: git+https://github.com/ansible/ansible.git@devel
molecule[docker] molecule[docker]
docker == 4.* docker == 5.*
ansible-lint == 5.* ansible-lint == 5.*
commands = molecule test commands = molecule test
setenv = setenv =
@ -23,4 +21,4 @@ setenv =
ANSIBLE_FORCE_COLOR=1 ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../ ANSIBLE_ROLES_PATH=../
passenv = namespace image tag passenv = namespace image tag DOCKER_HOST

View File

@ -1,8 +1,8 @@
---
# #
# Ansible managed # Ansible managed
# #
exclude_paths: exclude_paths:
- ./meta/exception.yml
- ./meta/preferences.yml - ./meta/preferences.yml
- ./molecule/default/prepare.yml - ./molecule/default/prepare.yml
- ./molecule/default/converge.yml - ./molecule/default/converge.yml

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -13,6 +13,6 @@ jobs:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: galaxy - name: galaxy
uses: robertdebock/galaxy-action@1.1.0 uses: robertdebock/galaxy-action@1.2.0
with: with:
galaxy_api_key: ${{ secrets.galaxy_api_key }} galaxy_api_key: ${{ secrets.galaxy_api_key }}

View File

@ -22,7 +22,7 @@ jobs:
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
command: lint command: lint
test: test:
@ -33,18 +33,22 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- image: "centos" - image: "enterpriselinux"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "bullseye" tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "35"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "ubuntu" - image: "ubuntu"
tag: "latest" tag: "latest"
- image: "ubuntu"
tag: "focal"
- image: "ubuntu" - image: "ubuntu"
tag: "bionic" tag: "bionic"
steps: steps:
@ -57,7 +61,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -1,30 +0,0 @@
---
#
# Ansible managed
#
language: python
os: linux
dist: xenial
python:
- "3.9"
services:
- docker
cache:
- pip
install:
- pip install --upgrade pip
- pip install yamllint
- pip install ansible-lint
script:
- yamllint .
- ansible-lint
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
email: false

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier same "printed page" as the copyright notice for easier
identification within third-party archives. identification within third-party archives.
Copyright 2021 Robert de Bock (robert@meinit.nl) Copyright 2022 Robert de Bock (robert@meinit.nl)
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -8,7 +8,7 @@ Install ansible-lint on your system.
## [Example Playbook](#example-playbook) ## [Example Playbook](#example-playbook)
This example is taken from `molecule/resources/converge.yml` and is tested on each push, pull request and release. This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
```yaml ```yaml
--- ---
- name: Converge - name: Converge
@ -20,7 +20,7 @@ This example is taken from `molecule/resources/converge.yml` and is tested on ea
- role: robertdebock.ansible_lint - role: robertdebock.ansible_lint
``` ```
The machine needs to be prepared in CI this is done using `molecule/resources/prepare.yml`: The machine needs to be prepared. In CI this is done using `molecule/default/prepare.yml`:
```yaml ```yaml
--- ---
- name: Prepare - name: Prepare
@ -42,16 +42,16 @@ Also see a [full explanation and example](https://robertdebock.nl/how-to-use-the
- pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-ansible_lint/blob/master/requirements.txt). - pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-ansible_lint/blob/master/requirements.txt).
## [Status of requirements](#status-of-requirements) ## [Status of used roles](#status-of-requirements)
The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well. The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | GitLab | | Requirement | GitHub | GitLab |
|-------------|--------|--------| |-------------|--------|--------|
| [robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap) |[robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap)|
| [robertdebock.buildtools](https://galaxy.ansible.com/robertdebock/buildtools) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-buildtools/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-buildtools/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-buildtools/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-buildtools) |[robertdebock.buildtools](https://galaxy.ansible.com/robertdebock/buildtools)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-buildtools/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-buildtools/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-buildtools/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-buildtools)|
| [robertdebock.epel](https://galaxy.ansible.com/robertdebock/epel) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-epel/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-epel/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-epel/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-epel) |[robertdebock.epel](https://galaxy.ansible.com/robertdebock/epel)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-epel/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-epel/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-epel/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-epel)|
| [robertdebock.python_pip](https://galaxy.ansible.com/robertdebock/python_pip) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-python_pip/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-python_pip/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-python_pip/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-python_pip) |[robertdebock.python_pip](https://galaxy.ansible.com/robertdebock/python_pip)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-python_pip/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-python_pip/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-python_pip/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-python_pip)|
## [Context](#context) ## [Context](#context)
@ -69,7 +69,7 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|el|8| |el|8|
|debian|all| |debian|all|
|fedora|all| |fedora|all|
|ubuntu|focal, bionic| |ubuntu|all|
The minimum version of Ansible required is 2.10, tests have been done to: The minimum version of Ansible required is 2.10, tests have been done to:
@ -77,15 +77,6 @@ The minimum version of Ansible required is 2.10, tests have been done to:
- The current version. - The current version.
- The development version. - The development version.
## [Exceptions](#exceptions)
Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work:
| variation | reason |
|---------------------------|------------------------|
| amazonlinux:1 | No package matching 'python3-pip' |
| amazonlinux | No module named pkg_resources |
If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-ansible_lint/issues) If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-ansible_lint/issues)
@ -93,7 +84,6 @@ If you find issues, please register them in [GitHub](https://github.com/robertde
Apache-2.0 Apache-2.0
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

View File

@ -1,2 +1,2 @@
install_date: Sun Mar 21 06:59:18 2021 install_date: Wed Aug 3 07:06:59 2022
version: 3.0.1 version: 3.1.2

View File

@ -1,6 +0,0 @@
---
exceptions:
- variation: amazonlinux:1
reason: "No package matching 'python3-pip'"
- variation: amazonlinux
reason: "No module named pkg_resources"

View File

@ -1,6 +1,7 @@
--- ---
galaxy_info: galaxy_info:
author: Robert de Bock author: Robert de Bock
namespace: robertdebock
role_name: ansible_lint role_name: ansible_lint
description: Install ansible-lint on your system. description: Install ansible-lint on your system.
license: Apache-2.0 license: Apache-2.0
@ -19,8 +20,7 @@ galaxy_info:
- all - all
- name: Ubuntu - name: Ubuntu
versions: versions:
- focal - all
- bionic
galaxy_tags: galaxy_tags:
- ansiblelint - ansiblelint

View File

@ -6,6 +6,7 @@ dependency:
name: galaxy name: galaxy
options: options:
role-file: requirements.yml role-file: requirements.yml
requirements-file: requirements.yml
lint: | lint: |
set -e set -e
yamllint . yamllint .
@ -13,7 +14,7 @@ lint: |
driver: driver:
name: docker name: docker
platforms: platforms:
- name: "ansible_lint-${image:-fedora}-${tag:-latest}${TOX_ENVNAME}" - name: "ansiblelint-${image:-fedora}-${tag:-latest}${TOX_ENVNAME}"
image: "${namespace:-robertdebock}/${image:-fedora}:${tag:-latest}" image: "${namespace:-robertdebock}/${image:-fedora}:${tag:-latest}"
command: /sbin/init command: /sbin/init
volumes: volumes:
@ -22,9 +23,5 @@ platforms:
pre_build_image: yes pre_build_image: yes
provisioner: provisioner:
name: ansible name: ansible
config_options:
defaults:
stdout_callback: yaml
bin_ansible_callbacks: yes
verifier: verifier:
name: ansible name: ansible

View File

@ -6,4 +6,4 @@
tasks: tasks:
- name: check if connection still works - name: check if connection still works
ping: ansible.builtin.ping:

View File

@ -4,3 +4,4 @@ roles:
- name: robertdebock.buildtools - name: robertdebock.buildtools
- name: robertdebock.epel - name: robertdebock.epel
- name: robertdebock.python_pip - name: robertdebock.python_pip
collections:

View File

@ -3,18 +3,16 @@
# #
[tox] [tox]
minversion = 3.21.4 minversion = 3.21.4
# 2.11 has been disabled: couldn't resolve module/action 'docker_container'. envlist = py{310}-ansible-{4,5}
envlist = py{39}-ansible-{2.9,2.10}
skipsdist = true skipsdist = true
[testenv] [testenv]
deps = deps =
2.9: ansible == 2.9.* 4: ansible == 4.*
2.10: ansible == 2.10.* 5: ansible == 5.*
2.11: git+https://github.com/ansible/ansible.git@devel
molecule[docker] molecule[docker]
docker == 4.* docker == 5.*
ansible-lint == 5.* ansible-lint == 5.*
commands = molecule test commands = molecule test
setenv = setenv =
@ -23,4 +21,4 @@ setenv =
ANSIBLE_FORCE_COLOR=1 ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../ ANSIBLE_ROLES_PATH=../
passenv = namespace image tag passenv = namespace image tag DOCKER_HOST

View File

@ -1,3 +1,4 @@
---
# #
# Ansible managed # Ansible managed
# #

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -22,7 +22,7 @@ jobs:
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@2.7.2
with: with:
command: lint command: lint
test: test:
@ -33,16 +33,18 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- image: "centos" - image: "enterpriselinux"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "bullseye" tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "34"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "ubuntu" - image: "ubuntu"
tag: "bionic" tag: "bionic"
steps: steps:
@ -55,7 +57,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@2.7.2
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -18,8 +18,7 @@ cache:
install: install:
- pip install --upgrade pip - pip install --upgrade pip
- pip install yamllint - pip install ansible ansible-lint yamllint
- pip install ansible-lint
script: script:
- yamllint . - yamllint .

View File

@ -8,7 +8,7 @@ Install and configure ara on your system.
## [Example Playbook](#example-playbook) ## [Example Playbook](#example-playbook)
This example is taken from `molecule/resources/converge.yml` and is tested on each push, pull request and release. This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
```yaml ```yaml
--- ---
- name: Converge - name: Converge
@ -20,7 +20,7 @@ This example is taken from `molecule/resources/converge.yml` and is tested on ea
- role: robertdebock.ara - role: robertdebock.ara
``` ```
The machine needs to be prepared in CI this is done using `molecule/resources/prepare.yml`: The machine needs to be prepared. In CI this is done using `molecule/default/prepare.yml`:
```yaml ```yaml
--- ---
- name: Prepare - name: Prepare
@ -39,7 +39,7 @@ Also see a [full explanation and example](https://robertdebock.nl/how-to-use-the
## [Role Variables](#role-variables) ## [Role Variables](#role-variables)
These variables are set in `defaults/main.yml`: The default values for the variables are set in `defaults/main.yml`:
```yaml ```yaml
--- ---
# defaults file for ara # defaults file for ara
@ -66,17 +66,17 @@ ara_user: root
- pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-ara/blob/master/requirements.txt). - pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-ara/blob/master/requirements.txt).
## [Status of requirements](#status-of-requirements) ## [Status of used roles](#status-of-requirements)
The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well. The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | GitLab | | Requirement | GitHub | GitLab |
|-------------|--------|--------| |-------------|--------|--------|
| [robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap) |[robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap)|
| [robertdebock.buildtools](https://galaxy.ansible.com/robertdebock/buildtools) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-buildtools/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-buildtools/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-buildtools/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-buildtools) |[robertdebock.buildtools](https://galaxy.ansible.com/robertdebock/buildtools)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-buildtools/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-buildtools/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-buildtools/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-buildtools)|
| [robertdebock.epel](https://galaxy.ansible.com/robertdebock/epel) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-epel/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-epel/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-epel/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-epel) |[robertdebock.epel](https://galaxy.ansible.com/robertdebock/epel)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-epel/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-epel/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-epel/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-epel)|
| [robertdebock.python_pip](https://galaxy.ansible.com/robertdebock/python_pip) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-python_pip/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-python_pip/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-python_pip/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-python_pip) |[robertdebock.python_pip](https://galaxy.ansible.com/robertdebock/python_pip)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-python_pip/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-python_pip/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-python_pip/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-python_pip)|
| [robertdebock.service](https://galaxy.ansible.com/robertdebock/service) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-service/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-service/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-service/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-service) |[robertdebock.service](https://galaxy.ansible.com/robertdebock/service)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-service/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-service/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-service/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-service)|
## [Context](#context) ## [Context](#context)
@ -92,7 +92,7 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|container|tags| |container|tags|
|---------|----| |---------|----|
|el|8| |el|8|
|debian|buster, bullseye| |debian|all|
|fedora|all| |fedora|all|
|ubuntu|bionic| |ubuntu|bionic|
@ -104,7 +104,7 @@ The minimum version of Ansible required is 2.10, tests have been done to:
## [Exceptions](#exceptions) ## [Exceptions](#exceptions)
Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work: Some roles can't run on a specific distribution or version. Here are some exceptions.
| variation | reason | | variation | reason |
|---------------------------|------------------------| |---------------------------|------------------------|
@ -120,7 +120,6 @@ If you find issues, please register them in [GitHub](https://github.com/robertde
Apache-2.0 Apache-2.0
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

View File

@ -6,6 +6,7 @@
name: ara name: ara
state: restarted state: restarted
become: yes become: yes
become_user: root
when: when:
- not ansible_check_mode | bool - not ansible_check_mode | bool
@ -13,5 +14,6 @@
ansible.builtin.systemd: ansible.builtin.systemd:
daemon_reload: yes daemon_reload: yes
become: yes become: yes
become_user: root
notify: notify:
- restart ara - restart ara

View File

@ -1,2 +1,2 @@
install_date: Sun Mar 21 06:59:21 2021 install_date: Wed Aug 3 07:07:01 2022
version: 3.0.3 version: 3.1.1

View File

@ -1,6 +1,7 @@
--- ---
galaxy_info: galaxy_info:
author: Robert de Bock author: Robert de Bock
namespace: robertdebock
role_name: ara role_name: ara
description: Install and configure ara on your system. description: Install and configure ara on your system.
license: Apache-2.0 license: Apache-2.0
@ -13,8 +14,7 @@ galaxy_info:
- 8 - 8
- name: Debian - name: Debian
versions: versions:
- buster - all
- bullseye
- name: Fedora - name: Fedora
versions: versions:
- all - all

View File

@ -6,11 +6,11 @@ dependency:
name: galaxy name: galaxy
options: options:
role-file: requirements.yml role-file: requirements.yml
requirements-file: requirements.yml
lint: | lint: |
set -e set -e
yamllint . yamllint .
ansible-lint ansible-lint
ansible-later
driver: driver:
name: docker name: docker
platforms: platforms:
@ -23,9 +23,5 @@ platforms:
pre_build_image: yes pre_build_image: yes
provisioner: provisioner:
name: ansible name: ansible
config_options:
defaults:
stdout_callback: yaml
bin_ansible_callbacks: yes
verifier: verifier:
name: ansible name: ansible

View File

@ -6,4 +6,4 @@
tasks: tasks:
- name: check if connection still works - name: check if connection still works
ping: ansible.builtin.ping:

View File

@ -1,8 +1,8 @@
--- ---
# tasks file for ara # tasks file for ara
- name: include assert.yml - name: import assert.yml
import_tasks: assert.yml ansible.builtin.import_tasks: assert.yml
run_once: yes run_once: yes
delegate_to: localhost delegate_to: localhost
@ -24,11 +24,11 @@
- name: find callback_plugins path - name: find callback_plugins path
block: block:
- name: try python2 - name: try python2
ansible.builtin.command: "{{ ara_setup_command_python2 }}" ansible.builtin.command:
cmd: "{{ ara_setup_command_python2 }}"
register: ara_callback_plugins register: ara_callback_plugins
changed_when: no changed_when: no
check_mode: no check_mode: no
rescue: rescue:
- name: try python3 - name: try python3
ansible.builtin.command: "{{ ara_setup_command_python3 }}" ansible.builtin.command: "{{ ara_setup_command_python3 }}"

View File

@ -3,16 +3,15 @@
# #
[tox] [tox]
minversion = 3.21.4 minversion = 3.21.4
# 2.11 has been disabled: couldn't resolve module/action 'docker_container'. envlist = py{39}-ansible-{2.9,2.10,2.11}
envlist = py{39}-ansible-{2.9,2.10}
skipsdist = true skipsdist = true
[testenv] [testenv]
deps = deps =
2.9: ansible == 2.9.* 2.9: ansible == 2.9.*
2.10: ansible == 2.10.* 2.10: ansible-base == 2.10.*
2.11: git+https://github.com/ansible/ansible.git@devel 2.11: ansible-core == 2.11.*
molecule[docker] molecule[docker]
docker == 4.* docker == 4.*
ansible-lint == 5.* ansible-lint == 5.*
@ -23,4 +22,4 @@ setenv =
ANSIBLE_FORCE_COLOR=1 ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../ ANSIBLE_ROLES_PATH=../
passenv = namespace image tag passenv = namespace image tag DOCKER_HOST

View File

@ -4,9 +4,10 @@
_ara_binary_location: _ara_binary_location:
default: /usr/bin default: /usr/bin
Debian: /usr/local/bin Debian: /usr/local/bin
RedHat: /usr/local/bin RedHat: &redhat_binary_location /usr/local/bin
Rocky: *redhat_binary_location
ara_binary_location: "{{ _ara_binary_location[ansible_os_family] | default(_ara_binary_location['default']) }}" ara_binary_location: "{{ _ara_binary_location[ansible_os_family] | default(_ara_binary_location['default'] ) }}"
ara_setup_command_python2: python -m ara.setup.callback_plugins ara_setup_command_python2: python -m ara.setup.callback_plugins
ara_setup_command_python3: python3 -m ara.setup.callback_plugins ara_setup_command_python3: python3 -m ara.setup.callback_plugins

View File

@ -1,3 +1,4 @@
---
# #
# Ansible managed # Ansible managed
# #

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -22,7 +22,7 @@ jobs:
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@2.7.2
with: with:
command: lint command: lint
test: test:
@ -33,16 +33,18 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- image: "centos" - image: "enterpriselinux"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian"
tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "34"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "opensuse" - image: "fedora"
tag: "latest" tag: "rawhide"
- image: "ubuntu" - image: "ubuntu"
tag: "latest" tag: "latest"
- image: "ubuntu" - image: "ubuntu"
@ -57,7 +59,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@2.7.2
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -18,8 +18,7 @@ cache:
install: install:
- pip install --upgrade pip - pip install --upgrade pip
- pip install yamllint - pip install ansible ansible-lint yamllint
- pip install ansible-lint
script: script:
- yamllint . - yamllint .

View File

@ -8,7 +8,7 @@ Install atom on your system.
## [Example Playbook](#example-playbook) ## [Example Playbook](#example-playbook)
This example is taken from `molecule/resources/converge.yml` and is tested on each push, pull request and release. This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
```yaml ```yaml
--- ---
- name: Converge - name: Converge
@ -20,7 +20,7 @@ This example is taken from `molecule/resources/converge.yml` and is tested on ea
- role: robertdebock.atom - role: robertdebock.atom
``` ```
The machine needs to be prepared in CI this is done using `molecule/resources/prepare.yml`: The machine needs to be prepared. In CI this is done using `molecule/default/prepare.yml`:
```yaml ```yaml
--- ---
- name: Prepare - name: Prepare
@ -36,7 +36,7 @@ Also see a [full explanation and example](https://robertdebock.nl/how-to-use-the
## [Role Variables](#role-variables) ## [Role Variables](#role-variables)
These variables are set in `defaults/main.yml`: The default values for the variables are set in `defaults/main.yml`:
```yaml ```yaml
--- ---
# defaults file for atom # defaults file for atom
@ -52,13 +52,13 @@ atom_apm_packages:
- pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-atom/blob/master/requirements.txt). - pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-atom/blob/master/requirements.txt).
## [Status of requirements](#status-of-requirements) ## [Status of used roles](#status-of-requirements)
The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well. The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | GitLab | | Requirement | GitHub | GitLab |
|-------------|--------|--------| |-------------|--------|--------|
| [robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap) |[robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap)|
## [Context](#context) ## [Context](#context)
@ -74,10 +74,9 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|container|tags| |container|tags|
|---------|----| |---------|----|
|el|8| |el|8|
|debian|buster| |debian|all|
|fedora|all| |fedora|all|
|opensuse|all| |ubuntu|all|
|ubuntu|focal, bionic|
The minimum version of Ansible required is 2.10, tests have been done to: The minimum version of Ansible required is 2.10, tests have been done to:
@ -87,7 +86,7 @@ The minimum version of Ansible required is 2.10, tests have been done to:
## [Exceptions](#exceptions) ## [Exceptions](#exceptions)
Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work: Some roles can't run on a specific distribution or version. Here are some exceptions.
| variation | reason | | variation | reason |
|---------------------------|------------------------| |---------------------------|------------------------|
@ -102,7 +101,6 @@ If you find issues, please register them in [GitHub](https://github.com/robertde
Apache-2.0 Apache-2.0
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

View File

@ -1,2 +1,2 @@
install_date: Sun Mar 21 06:59:24 2021 install_date: Wed Aug 3 07:07:03 2022
version: 3.0.3 version: 3.1.3

View File

@ -13,18 +13,14 @@ galaxy_info:
versions: versions:
- 8 - 8
- name: Debian - name: Debian
versions:
- buster
- name: Fedora
versions: versions:
- all - all
- name: OpenSUSE - name: Fedora
versions: versions:
- all - all
- name: Ubuntu - name: Ubuntu
versions: versions:
- focal - all
- bionic
galaxy_tags: galaxy_tags:
- atom - atom

View File

@ -6,11 +6,11 @@ dependency:
name: galaxy name: galaxy
options: options:
role-file: requirements.yml role-file: requirements.yml
requirements-file: requirements.yml
lint: | lint: |
set -e set -e
yamllint . yamllint .
ansible-lint ansible-lint
ansible-later
driver: driver:
name: docker name: docker
platforms: platforms:
@ -23,9 +23,5 @@ platforms:
pre_build_image: yes pre_build_image: yes
provisioner: provisioner:
name: ansible name: ansible
config_options:
defaults:
stdout_callback: yaml
bin_ansible_callbacks: yes
verifier: verifier:
name: ansible name: ansible

View File

@ -6,4 +6,8 @@
tasks: tasks:
- name: check if atom exists works - name: check if atom exists works
command: file /usr/bin/atom ansible.builtin.stat:
path: /usr/bin/atom
register: atom_test_one
failed_when:
- not atom_test_one.stat.exists

View File

@ -1,8 +1,8 @@
--- ---
# tasks file for atom # tasks file for atom
- name: include assert.yml - name: import assert.yml
import_tasks: assert.yml ansible.builtin.import_tasks: assert.yml
run_once: yes run_once: yes
delegate_to: localhost delegate_to: localhost
@ -18,7 +18,7 @@
ansible.builtin.get_url: ansible.builtin.get_url:
url: "{{ atom_package_url }}" url: "{{ atom_package_url }}"
dest: "/tmp/{{ atom_package }}" dest: "/tmp/{{ atom_package }}"
checksum: "{{ atom_checksum }}" # checksum: "{{ atom_checksum }}"
validate_certs: no validate_certs: no
when: when:
- ansible_pkg_mgr in [ "apt", "dnf", "yum", "zypper" ] - ansible_pkg_mgr in [ "apt", "dnf", "yum", "zypper" ]
@ -55,7 +55,7 @@
- ansible_pkg_mgr == "zypper" - ansible_pkg_mgr == "zypper"
- name: install apm packages - name: install apm packages
ansible.builtin.command: apm install {{ item }} ansible.builtin.command:
args: cmd: apm install {{ item }}
creates: /root/.atom/packages/linter creates: /root/.atom/packages/linter
loop: "{{ atom_apm_packages }}" loop: "{{ atom_apm_packages }}"

View File

@ -3,16 +3,15 @@
# #
[tox] [tox]
minversion = 3.21.4 minversion = 3.21.4
# 2.11 has been disabled: couldn't resolve module/action 'docker_container'. envlist = py{39}-ansible-{2.9,2.10,2.11}
envlist = py{39}-ansible-{2.9,2.10}
skipsdist = true skipsdist = true
[testenv] [testenv]
deps = deps =
2.9: ansible == 2.9.* 2.9: ansible == 2.9.*
2.10: ansible == 2.10.* 2.10: ansible-base == 2.10.*
2.11: git+https://github.com/ansible/ansible.git@devel 2.11: ansible-core == 2.11.*
molecule[docker] molecule[docker]
docker == 4.* docker == 4.*
ansible-lint == 5.* ansible-lint == 5.*
@ -23,4 +22,4 @@ setenv =
ANSIBLE_FORCE_COLOR=1 ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../ ANSIBLE_ROLES_PATH=../
passenv = namespace image tag passenv = namespace image tag DOCKER_HOST

View File

@ -19,14 +19,3 @@ _atom_package:
atom_package_url: '{{ _atom_package[ansible_pkg_mgr]["url"] }}' atom_package_url: '{{ _atom_package[ansible_pkg_mgr]["url"] }}'
atom_package: "{{ _atom_package[ansible_pkg_mgr]['name'] }}" atom_package: "{{ _atom_package[ansible_pkg_mgr]['name'] }}"
# The checksum of the downloaded artifact, this speeds up the execution of the
# role on second runs as it calculates the (local) checksum and uses the results
# to see if the artifact would need to be downloaded again.
_atom_checksum:
dnf: &rpmchecksum "sha256:e68d293033741f1f76650b73ea896dbfa94f2ebcaef9330a25001362f5523b7e"
yum: *rpmchecksum
zypper: *rpmchecksum
apt: "sha256:e1c650fcfdfc09aafef0ecfe041d254ad9007fb3ca797dafd21c8333fd0b1340"
atom_checksum: "{{ _atom_checksum[ansible_pkg_mgr] }}"

View File

@ -1,3 +1,4 @@
---
# #
# Ansible managed # Ansible managed
# #

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -11,7 +11,7 @@ on:
- '*' - '*'
pull_request: pull_request:
schedule: schedule:
- cron: '2 2 2 * *' - cron: '3 2 2 * *'
jobs: jobs:
lint: lint:
@ -22,7 +22,7 @@ jobs:
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
command: lint command: lint
test: test:
@ -33,20 +33,24 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- image: "alpine"
tag: "latest"
- image: "amazonlinux" - image: "amazonlinux"
tag: "latest" tag: "latest"
- image: "centos" - image: "enterpriselinux"
tag: "7" tag: "7"
- image: "centos" - image: "enterpriselinux"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "bullseye" tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "34"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "opensuse" - image: "opensuse"
tag: "latest" tag: "latest"
- image: "ubuntu" - image: "ubuntu"
@ -63,7 +67,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -18,8 +18,7 @@ cache:
install: install:
- pip install --upgrade pip - pip install --upgrade pip
- pip install yamllint - pip install ansible ansible-lint yamllint
- pip install ansible-lint
script: script:
- yamllint . - yamllint .

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier same "printed page" as the copyright notice for easier
identification within third-party archives. identification within third-party archives.
Copyright 2021 Robert de Bock (robert@meinit.nl) Copyright 2022 Robert de Bock (robert@meinit.nl)
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -8,12 +8,19 @@ Prepare your system to be managed by Ansible.
## [Example Playbook](#example-playbook) ## [Example Playbook](#example-playbook)
This example is taken from `molecule/resources/converge.yml` and is tested on each push, pull request and release. This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
```yaml ```yaml
--- ---
- name: Converge - name: Converge
hosts: all hosts: all
become: yes # This role installs packages using the `raw` module and needs to connect as
# `root`. (`sudo` is not available before bootstrapping.) All tasks in the
# role have `become` set to `no`, so you can use either `no` or `yes` for
# `become`, the role will not use become (so `sudo`) for any task.
become: yes # `no` will also work.
# This role installs python, gathering facts can't be done before `python` is
# installed. This role runs the `setup` module, so facts will be available
# after running the role.
gather_facts: no gather_facts: no
roles: roles:
@ -24,14 +31,11 @@ Also see a [full explanation and example](https://robertdebock.nl/how-to-use-the
## [Role Variables](#role-variables) ## [Role Variables](#role-variables)
These variables are set in `defaults/main.yml`: The default values for the variables are set in `defaults/main.yml`:
```yaml ```yaml
--- ---
# defaults file for bootstrap # defaults file for bootstrap
# The user to use to connect to machines.
bootstrap_user: root
# Do you want to wait for the host to be available? # Do you want to wait for the host to be available?
bootstrap_wait_for_host: no bootstrap_wait_for_host: no
@ -57,12 +61,13 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|container|tags| |container|tags|
|---------|----| |---------|----|
|alpine|all|
|amazon|Candidate| |amazon|Candidate|
|el|7, 8| |el|7, 8|
|debian|all| |debian|all|
|fedora|all| |fedora|all|
|opensuse|all| |opensuse|all|
|ubuntu|focal, bionic| |ubuntu|all|
The minimum version of Ansible required is 2.10, tests have been done to: The minimum version of Ansible required is 2.10, tests have been done to:
@ -72,7 +77,7 @@ The minimum version of Ansible required is 2.10, tests have been done to:
## [Exceptions](#exceptions) ## [Exceptions](#exceptions)
Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work: Some roles can't run on a specific distribution or version. Here are some exceptions.
| variation | reason | | variation | reason |
|---------------------------|------------------------| |---------------------------|------------------------|
@ -85,17 +90,6 @@ If you find issues, please register them in [GitHub](https://github.com/robertde
Apache-2.0 Apache-2.0
## [Contributors](#contributors)
I'd like to thank everybody that made contributions to this repository. It motivates me, improves the code and is just fun to collaborate.
- [rembik](https://github.com/rembik)
- [jellevandehaterd](https://github.com/jellevandehaterd)
- [fzarifian](https://github.com/fzarifian)
- [kmonticolo](https://github.com/kmonticolo)
- [CrystalStiletto](https://github.com/CrystalStiletto)
- [infothrill](https://github.com/infothrill)
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

View File

@ -1,9 +1,6 @@
--- ---
# defaults file for bootstrap # defaults file for bootstrap
# The user to use to connect to machines.
bootstrap_user: root
# Do you want to wait for the host to be available? # Do you want to wait for the host to be available?
bootstrap_wait_for_host: no bootstrap_wait_for_host: no

View File

@ -1,2 +1,2 @@
install_date: Sun Mar 21 06:59:27 2021 install_date: Wed Aug 3 07:07:05 2022
version: 5.0.3 version: 6.0.3

View File

@ -1,6 +1,7 @@
--- ---
galaxy_info: galaxy_info:
author: Robert de Bock author: Robert de Bock
namespace: robertdebock
role_name: bootstrap role_name: bootstrap
description: Prepare your system to be managed by Ansible. description: Prepare your system to be managed by Ansible.
license: Apache-2.0 license: Apache-2.0
@ -8,10 +9,9 @@ galaxy_info:
min_ansible_version: "2.10" min_ansible_version: "2.10"
platforms: platforms:
# Broken: idempotence, gather_facts: Failed to create temporary directory. - name: Alpine
# - name: Alpine versions:
# versions: - all
# - all
- name: Amazon - name: Amazon
versions: versions:
- Candidate - Candidate
@ -30,8 +30,7 @@ galaxy_info:
- all - all
- name: Ubuntu - name: Ubuntu
versions: versions:
- focal - all
- bionic
galaxy_tags: galaxy_tags:
- bootstrap - bootstrap

View File

@ -1,7 +1,14 @@
--- ---
- name: Converge - name: Converge
hosts: all hosts: all
become: yes # This role installs packages using the `raw` module and needs to connect as
# `root`. (`sudo` is not available before bootstrapping.) All tasks in the
# role have `become` set to `no`, so you can use either `no` or `yes` for
# `become`, the role will not use become (so `sudo`) for any task.
become: yes # `no` will also work.
# This role installs python, gathering facts can't be done before `python` is
# installed. This role runs the `setup` module, so facts will be available
# after running the role.
gather_facts: no gather_facts: no
roles: roles:

View File

@ -6,6 +6,7 @@ dependency:
name: galaxy name: galaxy
options: options:
role-file: requirements.yml role-file: requirements.yml
requirements-file: requirements.yml
lint: | lint: |
set -e set -e
yamllint . yamllint .
@ -22,9 +23,5 @@ platforms:
pre_build_image: yes pre_build_image: yes
provisioner: provisioner:
name: ansible name: ansible
config_options:
defaults:
stdout_callback: yaml
bin_ansible_callbacks: yes
verifier: verifier:
name: ansible name: ansible

View File

@ -6,9 +6,9 @@
tasks: tasks:
- name: test connection - name: test connection
ping: ansible.builtin.ping:
- name: try the package module - name: try the package module
package: ansible.builtin.package:
name: gzip name: gzip
state: present state: present

View File

@ -1,12 +1,5 @@
--- ---
- name: test if bootstrap_user is set correctly
ansible.builtin.assert:
that:
- bootstrap_user is defined
- bootstrap_user is string
quiet: yes
- name: test if bootstrap_wait_for_host is set correctly - name: test if bootstrap_wait_for_host is set correctly
ansible.builtin.assert: ansible.builtin.assert:
that: that:

View File

@ -1,12 +1,11 @@
--- ---
- name: lookup bootstrap facts - name: lookup bootstrap facts
become: no
ansible.builtin.raw: "cat /etc/os-release" ansible.builtin.raw: "cat /etc/os-release"
become: no
check_mode: no check_mode: no
register: bootstrap_facts register: bootstrap_facts
changed_when: no changed_when: no
vars:
ansible_user: "{{ bootstrap_user }}"
- name: set bootstrap facts (I) - name: set bootstrap facts (I)
ansible.builtin.set_fact: ansible.builtin.set_fact:
@ -18,6 +17,7 @@
- bootstrap_facts.rc == 0 - bootstrap_facts.rc == 0
- bootstrap_distribution is not defined - bootstrap_distribution is not defined
- bootstrap_facts.stdout is regex('PRETTY_NAME=.'~ bootstrap_search[item] | default(item) ~'.*') - bootstrap_facts.stdout is regex('PRETTY_NAME=.'~ bootstrap_search[item] | default(item) ~'.*')
become: no
- name: set bootstrap facts (II) - name: set bootstrap facts (II)
ansible.builtin.set_fact: ansible.builtin.set_fact:
@ -27,3 +27,4 @@
label: "{{ item.key }}" label: "{{ item.key }}"
when: when:
- bootstrap_distribution in item.value - bootstrap_distribution in item.value
become: no

View File

@ -1,20 +1,19 @@
--- ---
# tasks file for bootstrap # tasks file for bootstrap
- name: include assert.yml - name: import assert.yml
import_tasks: assert.yml ansible.builtin.import_tasks: assert.yml
run_once: yes run_once: yes
delegate_to: localhost delegate_to: localhost
- name: wait for host - name: wait for port to be available
ansible.builtin.wait_for: ansible.builtin.wait_for:
port: "{{ ansible_port | default('22') }}" port: "{{ ansible_port | default('22') }}"
host: "{{ (ansible_ssh_host | default(ansible_host) | default(inventory_hostname)) }}" timeout: "{{ bootstrap_timeout }}"
connection: local
become: no become: no
when: when:
- ansible_connection is defined - ansible_connection is defined
- ansible_connection not in [ "docker", "container" ] - ansible_connection not in [ "container", "docker", "community.docker.docker" ]
- bootstrap_wait_for_host | bool - bootstrap_wait_for_host | bool
- name: prepare system - name: prepare system
@ -26,33 +25,28 @@
changed_when: no changed_when: no
rescue: rescue:
- name: gather bootstrap facts - name: gather bootstrap facts
ansible.builtin.include_tasks: gather_facts.yml ansible.builtin.include_tasks:
file: gather_facts.yml
- name: install bootstrap packages - name: install bootstrap packages (raw)
ansible.builtin.raw: "{{ bootstrap_install.raw }}" ansible.builtin.raw: "{{ bootstrap_install.raw }}"
register: bootstrap_install_packages register: bootstrap_install_packages
changed_when: changed_when:
- (bootstrap_install.stdout_regex in bootstrap_install_packages.stdout and - (bootstrap_install.stdout_regex in bootstrap_install_packages.stdout and
bootstrap_os_family in [ "Alpine", "Archlinux", "Gentoo" ]) or bootstrap_os_family in [ "Alpine", "Archlinux", "Gentoo" ]) or
(bootstrap_install.stdout_regex not in bootstrap_install_packages.stdout and (bootstrap_install.stdout_regex not in bootstrap_install_packages.stdout and
bootstrap_os_family in [ "Debian", "RedHat", "Suse" ]) bootstrap_os_family in [ "Debian", "RedHat", "Rocky", "Suse" ])
vars: become: no
ansible_user: "{{ bootstrap_user }}"
always:
- name: set bootstrap_ansible_user
ansible.builtin.set_fact:
bootstrap_ansible_user: "{{ ansible_user | default(omit) if bootstrap_connect is succeeded else bootstrap_user }}"
changed_when: no
- name: ensure system is prepared - name: ensure system is prepared
block: block:
- name: gather ansible facts - name: gather ansible facts
ansible.builtin.setup: ansible.builtin.setup:
- name: install bootstrap packages - name: install bootstrap packages (package)
ansible.builtin.package: ansible.builtin.package:
name: "{{ item }}" name: "{{ item }}"
state: present state: present
loop: "{{ bootstrap_facts_packages.split() }}" loop: "{{ bootstrap_facts_packages.split() }}"
vars: become: no
ansible_user: "{{ bootstrap_ansible_user | default(omit) }}"

View File

@ -3,18 +3,16 @@
# #
[tox] [tox]
minversion = 3.21.4 minversion = 3.21.4
# 2.11 has been disabled: couldn't resolve module/action 'docker_container'. envlist = py{310}-ansible-{4,5}
envlist = py{39}-ansible-{2.9,2.10}
skipsdist = true skipsdist = true
[testenv] [testenv]
deps = deps =
2.9: ansible == 2.9.* 4: ansible == 4.*
2.10: ansible == 2.10.* 5: ansible == 5.*
2.11: git+https://github.com/ansible/ansible.git@devel
molecule[docker] molecule[docker]
docker == 4.* docker == 5.*
ansible-lint == 5.* ansible-lint == 5.*
commands = molecule test commands = molecule test
setenv = setenv =
@ -23,4 +21,4 @@ setenv =
ANSIBLE_FORCE_COLOR=1 ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../ ANSIBLE_ROLES_PATH=../
passenv = namespace image tag passenv = namespace image tag DOCKER_HOST

View File

@ -6,7 +6,7 @@ _bootstrap_packages:
Archlinux: python sudo Archlinux: python sudo
Debian: python3 sudo gnupg python3-apt Debian: python3 sudo gnupg python3-apt
Gentoo: python sudo gentoolkit Gentoo: python sudo gentoolkit
RedHat: python3 sudo RedHat: &redhat_packages python3 sudo
Suse: python3 python3-xml sudo Suse: python3 python3-xml sudo
Amazon: python sudo Amazon: python sudo
CentOS_7: python sudo CentOS_7: python sudo
@ -14,6 +14,11 @@ _bootstrap_packages:
Debian_9: python sudo gnupg Debian_9: python sudo gnupg
RedHat_7: python sudo RedHat_7: python sudo
# Map the right set of packages, based on gathered bootstrap facts.
bootstrap_packages: "{{ _bootstrap_packages[bootstrap_distribution ~'_'~ bootstrap_distribution_major_version]|default(
_bootstrap_packages[bootstrap_distribution] )|default(
_bootstrap_packages[bootstrap_os_family] ) }}"
_bootstrap_install: _bootstrap_install:
Alpine: Alpine:
raw: "LANG=C apk update ; apk add {{ bootstrap_packages }}" raw: "LANG=C apk update ; apk add {{ bootstrap_packages }}"
@ -35,18 +40,25 @@ _bootstrap_install:
raw: "LANG=C zypper -n install {{ bootstrap_packages }}" raw: "LANG=C zypper -n install {{ bootstrap_packages }}"
stdout_regex: 'Nothing' stdout_regex: 'Nothing'
# Map the right install command, based on gathered bootstrap facts.
bootstrap_install: "{{ _bootstrap_install[bootstrap_distribution ~'_'~ bootstrap_distribution_major_version]|default(
_bootstrap_install[bootstrap_distribution] )|default(
_bootstrap_install[bootstrap_os_family] ) }}"
# See URL for available OS families and search queries # See URL for available OS families and search queries
# https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/facts/system/distribution.py # https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/facts/system/distribution.py
bootstrap_os_family_map: bootstrap_os_family_map:
Alpine: [Alpine] Alpine: [Alpine]
Archlinux: [Archlinux, Antergos, Manjaro] Archlinux: [Archlinux, Antergos, Manjaro]
Debian: [Debian, Ubuntu, Raspbian, Neon, KDE neon, Debian: [Debian, Ubuntu, Raspbian, Neon, KDE neon,
Linux Mint, SteamOS, Devuan, Kali, 'Cumulus Linux'] Linux Mint, SteamOS, Devuan, Kali, Cumulus Linux,
'Pop!_OS', Parrot, Pardus GNU/Linux]
Gentoo: [Gentoo, Funtoo] Gentoo: [Gentoo, Funtoo]
RedHat: [RedHat, Fedora, CentOS, Scientific, SLC, RedHat: [RedHat, Fedora, CentOS, Scientific, SLC,
Ascendos, CloudLinux, PSBM, OracleLinux, OVS, Ascendos, CloudLinux, PSBM, Rocky, OracleLinux,
OEL, Amazon, Virtuozzo, XenServer, Alibaba] OVS, OEL, Amazon, Virtuozzo, XenServer, Alibaba,
Suse: [SLED, 'openSUSE Tumbleweed', 'openSUSE Leap', EulerOS, openEuler, AlmaLinux]
Suse: [SLED, openSUSE Tumbleweed, openSUSE Leap,
SLES_SAP, SUSE_LINUX, SLES, openSUSE, SuSE] SLES_SAP, SUSE_LINUX, SLES, openSUSE, SuSE]
bootstrap_search: bootstrap_search:
@ -54,17 +66,7 @@ bootstrap_search:
OracleLinux: 'Oracle Linux' OracleLinux: 'Oracle Linux'
RedHat: 'Red Hat' RedHat: 'Red Hat'
# Map the right set of packages, based on gathered bootstrap facts.
bootstrap_packages: "{{ _bootstrap_packages[bootstrap_distribution ~'_'~ bootstrap_distribution_major_version]|default(
_bootstrap_packages[bootstrap_distribution])|default(
_bootstrap_packages[bootstrap_os_family]) }}"
# Map the right install command, based on gathered bootstrap facts.
bootstrap_install: "{{ _bootstrap_install[bootstrap_distribution ~'_'~ bootstrap_distribution_major_version]|default(
_bootstrap_install[bootstrap_distribution])|default(
_bootstrap_install[bootstrap_os_family]) }}"
# Map the right set of packages, based on gathered ansible_facts. # Map the right set of packages, based on gathered ansible_facts.
bootstrap_facts_packages: "{{ _bootstrap_packages[ansible_distribution ~'_'~ ansible_distribution_major_version]|default( bootstrap_facts_packages: "{{ _bootstrap_packages[ansible_distribution ~'_'~ ansible_distribution_major_version]|default(
_bootstrap_packages[ansible_distribution])|default( _bootstrap_packages[ansible_distribution] )|default(
_bootstrap_packages[ansible_os_family]) }}" _bootstrap_packages[ansible_os_family] ) }}"

View File

@ -1,8 +1,8 @@
---
# #
# Ansible managed # Ansible managed
# #
exclude_paths: exclude_paths:
- ./meta/exception.yml
- ./meta/preferences.yml - ./meta/preferences.yml
- ./molecule/default/prepare.yml - ./molecule/default/prepare.yml
- ./molecule/default/converge.yml - ./molecule/default/converge.yml
@ -10,3 +10,5 @@ exclude_paths:
- ./molecule/default/collections.yml - ./molecule/default/collections.yml
- ./.tox - ./.tox
- ./.cache - ./.cache
- ./.github
- ./requirements.yml

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -13,6 +13,6 @@ jobs:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: galaxy - name: galaxy
uses: robertdebock/galaxy-action@1.1.0 uses: robertdebock/galaxy-action@1.2.0
with: with:
galaxy_api_key: ${{ secrets.galaxy_api_key }} galaxy_api_key: ${{ secrets.galaxy_api_key }}

View File

@ -11,20 +11,16 @@ on:
- '*' - '*'
pull_request: pull_request:
schedule: schedule:
- cron: '2 2 2 * *' - cron: '3 2 2 * *'
jobs: jobs:
lint: lint:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: - name: ansible-lint
path: "${{ github.repository }}" uses: ansible-community/ansible-lint-action@main
- name: molecule
uses: robertdebock/molecule-action@2.6.16
with:
command: lint
test: test:
needs: needs:
- lint - lint
@ -37,27 +33,29 @@ jobs:
tag: "latest" tag: "latest"
- image: "amazonlinux" - image: "amazonlinux"
tag: "latest" tag: "latest"
- image: "centos" - image: "enterpriselinux"
tag: "7"
- image: "centos"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "bullseye" tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "35"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "opensuse" - image: "opensuse"
tag: "latest" tag: "latest"
- image: "ubuntu" - image: "ubuntu"
tag: "latest" tag: "latest"
- image: "ubuntu"
tag: "focal"
- image: "ubuntu" - image: "ubuntu"
tag: "bionic" tag: "bionic"
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: disable apparmor for mysql - name: disable apparmor for mysql
@ -65,7 +63,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.8
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -1,30 +0,0 @@
---
#
# Ansible managed
#
language: python
os: linux
dist: xenial
python:
- "3.9"
services:
- docker
cache:
- pip
install:
- pip install --upgrade pip
- pip install yamllint
- pip install ansible-lint
script:
- yamllint .
- ansible-lint
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
email: false

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier same "printed page" as the copyright notice for easier
identification within third-party archives. identification within third-party archives.
Copyright 2021 Robert de Bock (robert@meinit.nl) Copyright 2022 Robert de Bock (robert@meinit.nl)
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -8,7 +8,7 @@ Install buildtools on your system.
## [Example Playbook](#example-playbook) ## [Example Playbook](#example-playbook)
This example is taken from `molecule/resources/converge.yml` and is tested on each push, pull request and release. This example is taken from `molecule/default/converge.yml` and is tested on each push, pull request and release.
```yaml ```yaml
--- ---
- name: Converge - name: Converge
@ -20,7 +20,7 @@ This example is taken from `molecule/resources/converge.yml` and is tested on ea
- role: robertdebock.buildtools - role: robertdebock.buildtools
``` ```
The machine needs to be prepared in CI this is done using `molecule/resources/prepare.yml`: The machine needs to be prepared. In CI this is done using `molecule/default/prepare.yml`:
```yaml ```yaml
--- ---
- name: Prepare - name: Prepare
@ -39,13 +39,13 @@ Also see a [full explanation and example](https://robertdebock.nl/how-to-use-the
- pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-buildtools/blob/master/requirements.txt). - pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-buildtools/blob/master/requirements.txt).
## [Status of requirements](#status-of-requirements) ## [Status of used roles](#status-of-requirements)
The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well. The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | GitLab | | Requirement | GitHub | GitLab |
|-------------|--------|--------| |-------------|--------|--------|
| [robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap) | [![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions) | [![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap) |[robertdebock.bootstrap](https://galaxy.ansible.com/robertdebock/bootstrap)|[![Build Status GitHub](https://github.com/robertdebock/ansible-role-bootstrap/workflows/Ansible%20Molecule/badge.svg)](https://github.com/robertdebock/ansible-role-bootstrap/actions)|[![Build Status GitLab ](https://gitlab.com/robertdebock/ansible-role-bootstrap/badges/master/pipeline.svg)](https://gitlab.com/robertdebock/ansible-role-bootstrap)|
## [Context](#context) ## [Context](#context)
@ -62,11 +62,11 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|---------|----| |---------|----|
|alpine|all| |alpine|all|
|amazon|Candidate| |amazon|Candidate|
|el|7, 8| |el|8|
|debian|buster, bullseye| |debian|all|
|fedora|all| |fedora|all|
|opensuse|all| |opensuse|all|
|ubuntu|focal, bionic| |ubuntu|all|
The minimum version of Ansible required is 2.10, tests have been done to: The minimum version of Ansible required is 2.10, tests have been done to:
@ -74,14 +74,6 @@ The minimum version of Ansible required is 2.10, tests have been done to:
- The current version. - The current version.
- The development version. - The development version.
## [Exceptions](#exceptions)
Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work:
| variation | reason |
|---------------------------|------------------------|
| EL | No package matching 'bison' found available, installed or updated |
If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-buildtools/issues) If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-buildtools/issues)
@ -89,7 +81,6 @@ If you find issues, please register them in [GitHub](https://github.com/robertde
Apache-2.0 Apache-2.0
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

View File

@ -1,2 +1,2 @@
install_date: Sun Mar 21 06:59:29 2021 install_date: Wed Aug 3 07:07:07 2022
version: 3.0.1 version: 3.1.10

View File

@ -1,4 +0,0 @@
---
exceptions:
- variation: EL
reason: "No package matching 'bison' found available, installed or updated"

View File

@ -1,6 +1,6 @@
--- ---
galaxy_info: galaxy_info:
author: Robert de Bock author: robertdebock
role_name: buildtools role_name: buildtools
description: Install buildtools on your system. description: Install buildtools on your system.
license: Apache-2.0 license: Apache-2.0
@ -16,22 +16,19 @@ galaxy_info:
- Candidate - Candidate
- name: EL - name: EL
versions: versions:
- 7 - "8"
- 8
- name: Debian - name: Debian
versions: versions:
- buster - all
- bullseye
- name: Fedora - name: Fedora
versions: versions:
- all - all
- name: OpenSUSE - name: opensuse
versions: versions:
- all - all
- name: Ubuntu - name: Ubuntu
versions: versions:
- focal - all
- bionic
galaxy_tags: galaxy_tags:
- development - development

View File

@ -6,6 +6,7 @@ dependency:
name: galaxy name: galaxy
options: options:
role-file: requirements.yml role-file: requirements.yml
requirements-file: requirements.yml
lint: | lint: |
set -e set -e
yamllint . yamllint .
@ -22,9 +23,5 @@ platforms:
pre_build_image: yes pre_build_image: yes
provisioner: provisioner:
name: ansible name: ansible
config_options:
defaults:
stdout_callback: yaml
bin_ansible_callbacks: yes
verifier: verifier:
name: ansible name: ansible

View File

@ -6,13 +6,17 @@
tasks: tasks:
- name: run gcc - name: run gcc
command: gcc --version ansible.builtin.command:
cmd: gcc --version
- name: run make - name: run make
command: make --version ansible.builtin.command:
cmd: make --version
- name: run shasum - name: run shasum
command: shasum --version ansible.builtin.command:
cmd: shasum --version
- name: run bison - name: run bison
command: bison --version ansible.builtin.command:
cmd: bison --version

View File

@ -1,3 +1,4 @@
--- ---
roles: roles:
- name: robertdebock.bootstrap - name: robertdebock.bootstrap
collections:

View File

@ -3,18 +3,16 @@
# #
[tox] [tox]
minversion = 3.21.4 minversion = 3.21.4
# 2.11 has been disabled: couldn't resolve module/action 'docker_container'. envlist = py{310}-ansible-{4,5}
envlist = py{39}-ansible-{2.9,2.10}
skipsdist = true skipsdist = true
[testenv] [testenv]
deps = deps =
2.9: ansible == 2.9.* 4: ansible == 4.*
2.10: ansible == 2.10.* 5: ansible == 5.*
2.11: git+https://github.com/ansible/ansible.git@devel
molecule[docker] molecule[docker]
docker == 4.* docker == 5.*
ansible-lint == 5.* ansible-lint == 5.*
commands = molecule test commands = molecule test
setenv = setenv =
@ -23,4 +21,4 @@ setenv =
ANSIBLE_FORCE_COLOR=1 ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../ ANSIBLE_ROLES_PATH=../
passenv = namespace image tag passenv = namespace image tag DOCKER_HOST

View File

@ -53,4 +53,4 @@ _buildtools_packages:
- make - make
- perl-Digest-SHA1 - perl-Digest-SHA1
buildtools_packages: "{{ _buildtools_packages[ansible_distribution ~ '-' ~ ansible_distribution_major_version] | default(_buildtools_packages[ansible_distribution] | default(_buildtools_packages[ansible_os_family] | default (_buildtools_packages['default']))) }}" buildtools_packages: "{{ _buildtools_packages[ansible_distribution ~ '-' ~ ansible_distribution_major_version] | default(_buildtools_packages[ansible_distribution] | default(_buildtools_packages[ansible_os_family] | default (_buildtools_packages['default'] ))) }}"

View File

@ -1,8 +1,8 @@
---
# #
# Ansible managed # Ansible managed
# #
exclude_paths: exclude_paths:
- ./meta/exception.yml
- ./meta/preferences.yml - ./meta/preferences.yml
- ./molecule/default/prepare.yml - ./molecule/default/prepare.yml
- ./molecule/default/converge.yml - ./molecule/default/converge.yml

View File

@ -5,6 +5,7 @@ about: Create a report to help me improve
--- ---
## Describe the bug ## Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
## Playbook ## Playbook

View File

@ -13,6 +13,6 @@ jobs:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: galaxy - name: galaxy
uses: robertdebock/galaxy-action@1.1.0 uses: robertdebock/galaxy-action@1.2.0
with: with:
galaxy_api_key: ${{ secrets.galaxy_api_key }} galaxy_api_key: ${{ secrets.galaxy_api_key }}

View File

@ -11,7 +11,7 @@ on:
- '*' - '*'
pull_request: pull_request:
schedule: schedule:
- cron: '3 3 3 * *' - cron: '5 3 3 * *'
jobs: jobs:
lint: lint:
@ -22,7 +22,7 @@ jobs:
with: with:
path: "${{ github.repository }}" path: "${{ github.repository }}"
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
command: lint command: lint
test: test:
@ -37,22 +37,24 @@ jobs:
tag: "latest" tag: "latest"
- image: "amazonlinux" - image: "amazonlinux"
tag: "latest" tag: "latest"
- image: "centos" - image: "enterpriselinux"
tag: "7"
- image: "centos"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "latest" tag: "latest"
- image: "debian" - image: "debian"
tag: "bullseye" tag: "bookworm"
- image: "fedora" - image: "fedora"
tag: "32" tag: "35"
- image: "fedora" - image: "fedora"
tag: "latest" tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "opensuse" - image: "opensuse"
tag: "latest" tag: "latest"
- image: "ubuntu" - image: "ubuntu"
tag: "latest" tag: "latest"
- image: "ubuntu"
tag: "focal"
- image: "ubuntu" - image: "ubuntu"
tag: "bionic" tag: "bionic"
steps: steps:
@ -65,7 +67,7 @@ jobs:
- name: parse apparmor for mysql - name: parse apparmor for mysql
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- name: molecule - name: molecule
uses: robertdebock/molecule-action@2.6.16 uses: robertdebock/molecule-action@4.0.7
with: with:
image: ${{ matrix.config.image }} image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }} tag: ${{ matrix.config.tag }}

View File

@ -3,3 +3,4 @@
*.swp *.swp
.tox .tox
.cache .cache
.DS_Store

View File

@ -1,30 +0,0 @@
---
#
# Ansible managed
#
language: python
os: linux
dist: xenial
python:
- "3.9"
services:
- docker
cache:
- pip
install:
- pip install --upgrade pip
- pip install yamllint
- pip install ansible-lint
script:
- yamllint .
- ansible-lint
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
email: false

View File

@ -1,21 +0,0 @@
Installation
=========
To use this Ansible role skeleton, as [described in Ansible Galaxy documentation](https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html#using-a-custom-role-skeleton):
```
export keep_trailing_newline=True
ansible-galaxy init --role-skeleton=/path/to/skeleton role_name
```
or add this to ansible.cfg:
```
[galaxy]
role_skeleton = /path/to/skeleton
role_skeleton_ignore = ^.git$,^.*/.git_keep$
```
Followed by `ansible-galaxy init role_name`.
Don't include `ansible-role` to the role name, for example use `java` instead of `ansible-role-java`.

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier same "printed page" as the copyright notice for easier
identification within third-party archives. identification within third-party archives.
Copyright 2021 Robert de Bock (robert@meinit.nl) Copyright 2022 Robert de Bock (robert@meinit.nl)
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

Some files were not shown because too many files have changed in this diff Show More