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,7 +4,8 @@
_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'] ) }}"

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,16 +66,6 @@ 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(

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

@ -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.

View File

@ -8,7 +8,7 @@ The purpose of this role is to configure common things 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.common - role: robertdebock.common
``` ```
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 common # defaults file for common
@ -60,13 +60,13 @@ common_reboot: yes
- pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-common/blob/master/requirements.txt). - pip packages listed in [requirements.txt](https://github.com/robertdebock/ansible-role-common/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)
@ -83,11 +83,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:
@ -95,14 +95,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 | set hostname: [Errno 2] No such file or directory: '/etc/sysconfig/network' |
If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-common/issues) If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-common/issues)
@ -110,12 +102,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.
- [dmrub](https://github.com/dmrub)
## [Author Information](#author-information) ## [Author Information](#author-information)
[Robert de Bock](https://robertdebock.nl/) [Robert de Bock](https://robertdebock.nl/)

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