From 17a02752b99b00c5e13f7c48a05c9e996c25c047 Mon Sep 17 00:00:00 2001
From: fejao <mail@fejao.de>
Date: Mon, 27 Jan 2025 19:39:11 +0000
Subject: [PATCH] Setting ansible lint 01

---
 .ansible-lint                                 | 134 ++++++++++++++++++
 .gitlab-ci.yml                                |  77 ++++++++++
 .yamllint                                     |  50 +++++++
 playbook_example_01_test.yml                  |   7 +-
 playbook_example_02_dependencies.yml          |   5 +-
 requirements.txt                              |   1 +
 roles/clone_repositories/meta/main.yml        |   2 +-
 roles/dependencies/defaults/main.yml          |   2 +-
 roles/dependencies/handlers/main.yml          |  10 +-
 roles/dependencies/meta/main.yml              |   6 +-
 .../tasks/docker/install_compose.yml          |  11 +-
 .../tasks/docker/install_docker_users.yml     |   5 +-
 .../tasks/docker/setup-Debian.yml             |  19 ++-
 .../tasks/docker/setup-RedHat.yml             |  94 ++++++------
 roles/dependencies/tasks/install_docker.yml   |  63 ++++----
 roles/dependencies/tasks/install_packages.yml |  10 +-
 roles/dependencies/tasks/main.yml             |   7 +-
 roles/docker_containers/meta/main.yml         |   2 +-
 roles/docker_images/meta/main.yml             |   2 +-
 roles/test/tasks/main.yml                     |   1 +
 20 files changed, 396 insertions(+), 112 deletions(-)
 create mode 100644 .ansible-lint
 create mode 100644 .gitlab-ci.yml
 create mode 100644 .yamllint

diff --git a/.ansible-lint b/.ansible-lint
new file mode 100644
index 0000000..c381cc1
--- /dev/null
+++ b/.ansible-lint
@@ -0,0 +1,134 @@
+---
+# .ansible-lint
+
+profile: null # min, basic, moderate,safety, shared, production
+
+# Allows dumping of results in SARIF format
+# sarif_file: result.sarif
+
+# exclude_paths included in this file are parsed relative to this file's location
+# and not relative to the CWD of execution. CLI arguments passed to the --exclude
+# option are parsed relative to the CWD of execution.
+exclude_paths:
+  - .cache/ # implicit unless exclude_paths is defined in config
+  - test/fixtures/formatting-before/
+  - test/fixtures/formatting-prettier/
+# parseable: true
+# quiet: true
+# strict: true
+# verbosity: 1
+
+# Mock modules or roles in order to pass ansible-playbook --syntax-check
+mock_modules:
+  - zuul_return
+  # note the foo.bar is invalid as being neither a module or a collection
+  - fake_namespace.fake_collection.fake_module
+  - fake_namespace.fake_collection.fake_module.fake_submodule
+mock_roles:
+  - mocked_role
+  - author.role_name # old standalone galaxy role
+  - fake_namespace.fake_collection.fake_role # role within a collection
+
+# Enable checking of loop variable prefixes in roles
+# loop_var_prefix: "^(__|{role}_)"
+loop_var_prefix: "^[a-z_][a-z0-9_]*$"
+
+# Enforce variable names to follow pattern below, in addition to Ansible own
+# requirements, like avoiding python identifiers. To disable add `var-naming`
+# to skip_list.
+var_naming_pattern: "^[a-z_][a-z0-9_]*$"
+
+use_default_rules: true
+# Load custom rules from this specific folder
+# rulesdir:
+#   - ./rule/directory/
+
+# Ansible-lint is able to recognize and load skip rules stored inside
+# `.ansible-lint-ignore` (or `.config/ansible-lint-ignore.txt`) files.
+# To skip a rule just enter filename and tag, like "playbook.yml package-latest"
+# on a new line.
+# Optionally you can add comments after the tag, prefixed by "#". We discourage
+# the use of skip_list below because that will hide violations from the output.
+# When putting ignores inside the ignore file, they are marked as ignored, but
+# still visible, making it easier to address later.
+skip_list:
+  - skip_this_tag
+  - var-naming[no-role-prefix]
+  - loop-var-prefix[missing]
+  ### Sometimes, it is need to run as command...
+  - command-instead-of-module
+
+# Ansible-lint does not automatically load rules that have the 'opt-in' tag.
+# You must enable opt-in rules by listing each rule 'id' below.
+enable_list:
+  - args
+  - empty-string-compare # opt-in
+  - no-log-password # opt-in
+  - no-same-owner # opt-in
+  # - name[prefix] # opt-in
+  - galaxy-version-incorrect # opt-in
+  # add yaml here if you want to avoid ignoring yaml checks when yamllint
+  # library is missing. Normally its absence just skips using that rule.
+  - yaml
+# Report only a subset of tags and fully ignore any others
+# tags:
+#   - jinja[spacing]
+
+# Ansible-lint does not fail on warnings from the rules or tags listed below
+warn_list:
+  - skip_this_tag
+  # - experimental # experimental is included in the implicit list
+  # - role-name
+  # - yaml[document-start]  # you can also use sub-rule matches
+
+# Some rules can transform files to fix (or make it easier to fix) identified
+# errors. `ansible-lint --fix` will reformat YAML files and run these transforms.
+# By default it will run all transforms (effectively `write_list: ["all"]`).
+# You can disable running transforms by setting `write_list: ["none"]`.
+# Or only enable a subset of rule transforms by listing rules/tags here.
+# write_list:
+#   - all
+
+# Offline mode disables installation of requirements.yml and schema refreshing
+offline: true
+
+# Define required Ansible's variables to satisfy syntax check
+extra_vars:
+  foo: bar
+  multiline_string_variable: |
+    line1
+    line2
+  complex_variable: ":{;\t$()"
+
+# Uncomment to enforce action validation with tasks, usually is not
+# needed as Ansible syntax check also covers it.
+# skip_action_validation: false
+
+# List of additional kind:pattern to be added at the top of the default
+# match list, first match determines the file kind.
+kinds:
+  # - playbook: "**/examples/*.{yml,yaml}"
+  # - galaxy: "**/folder/galaxy.yml"
+  # - tasks: "**/tasks/*.yml"
+  # - vars: "**/vars/*.yml"
+  # - meta: "**/meta/main.yml"
+  - yaml: "**/*.yaml-too"
+
+# List of additional collections to allow in only-builtins rule.
+# only_builtins_allow_collections:
+#   - example_ns.example_collection
+
+# List of additions modules to allow in only-builtins rule.
+# only_builtins_allow_modules:
+#   - example_module
+
+# Allow setting custom prefix for name[prefix] rule
+# task_name_prefix: "{stem} | "
+# Complexity related settings
+
+# Limit the depth of the nested blocks:
+# max_block_depth: 20
+
+# Also recognize these versions of Ansible as supported:
+# supported_ansible_also:
+#   - "2.18"
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..cddcc6a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,77 @@
+image: python:3.10.15-bullseye
+# image: ansible:latest
+
+variables:
+  TEST_VAR_BUILD: "Building the application..."
+  DOC_PATH_TMP: tmp_docs
+  DOC_NAME: c3InfoDesk Printing
+  DOC_AUTHOR: fejao
+  DOC_VERSION: 1.0.0
+  DOC_LANGUAGE: english
+  # DOC_RETENTION: 1 day  # <--- DON'T WORK :(
+  #####
+  #####
+  #####
+  PLAYBOOK_NAME_FOR_ROLE_TEST: "playbook_example_01_test.yml"
+  PLAYBOOK_NAME_FOR_ROLE_DEPENDENCIES: "playbook_example_02_dependencies.yml"
+  # PLAYBOOK_NAME_FOR_ROLE_CLONE_REPOSITORIES: "playbook_example_03_clone_repositories.yml"
+
+stages:
+  - debug
+  - build
+  - test
+  - lint-tests
+  - docs
+  - deploy
+
+###
+### DEBUG
+###
+runner-debug:
+  stage: debug
+  script:
+    - echo "Testing local gitlab-runner config..."
+    - echo $PWD
+    - echo "list local folder..."
+    - ls -hal
+
+###
+### BUILD
+###
+build:
+  stage: build
+  script:
+    - echo "Here should be the images build and pushed"
+
+###
+### TESTS
+###
+role-test:
+  stage: lint-tests
+  before_script:
+    - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
+    - pip3 install -r requirements.txt
+  script:
+    - echo "Running ansible-lint tests at the role-> 'test'"
+    - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_TEST
+  allow_failure: false
+
+role-dependencies:
+  stage: lint-tests
+  before_script:
+    - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
+    - pip3 install -r requirements.txt
+  script:
+    - echo "Running ansible-lint tests at the role-> 'dependencies'"
+    - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_DEPENDENCIES
+  allow_failure: false
+
+# role-clone-repositories:
+#   stage: lint-tests
+#   before_script:
+#     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
+#     - pip3 install -r requirements.txt
+#   script:
+#     - echo "Running ansible-lint tests at the role-> 'clone_repositories'"
+#     - ansible-lint $PLAYBOOK_NAME_FOR_ROLE_CLONE_REPOSITORIES
+#   allow_failure: false
diff --git a/.yamllint b/.yamllint
new file mode 100644
index 0000000..2382bed
--- /dev/null
+++ b/.yamllint
@@ -0,0 +1,50 @@
+---
+
+# https://ansible.readthedocs.io/projects/lint/rules/yaml/
+
+yaml-files:
+  - '*.yaml'
+  - '*.yml'
+  - '.yamllint'
+
+rules:
+  anchors: enable
+  # braces: enable
+  # braces: disable
+  braces:
+    max-spaces-inside: 1
+  brackets: enable
+  colons: enable
+  commas: enable
+  comments:
+    level: warning
+    min-spaces-from-content: 1
+  comments-indentation: false
+  document-end: disable
+  document-start:
+    level: warning
+  empty-lines: enable
+  empty-values: disable
+  float-values: disable
+  hyphens: enable
+  # indentation: enable
+  indentation: disable
+  key-duplicates: enable
+  key-ordering: disable
+  # line-length: enable
+  line-length:
+    # max: 160
+    ### roles/dependencies/defaults/main.yml:72 --> 232 characters
+    max: 240
+  new-line-at-end-of-file: enable
+  new-lines: enable
+  # octal-values: disable
+  quoted-strings: disable
+  trailing-spaces: enable
+  truthy:
+    level: warning
+  ####
+  # var_naming_pattern: "^[a-z_][a-z0-9_]*$"
+  # var-naming: disable
+  # var-naming:
+  #   no-role-prefix: disable
diff --git a/playbook_example_01_test.yml b/playbook_example_01_test.yml
index be558c9..da345d6 100644
--- a/playbook_example_01_test.yml
+++ b/playbook_example_01_test.yml
@@ -1,7 +1,8 @@
 ---
-# Runs example for
+# Runs the role test
 
-- hosts:
-  - example_servers_group
+- name: Playbook for running the role 'test'
+  hosts:
+    - example_servers_group
   roles:
     - test
diff --git a/playbook_example_02_dependencies.yml b/playbook_example_02_dependencies.yml
index 3e456c1..d9c9808 100644
--- a/playbook_example_02_dependencies.yml
+++ b/playbook_example_02_dependencies.yml
@@ -1,7 +1,8 @@
 ---
 # Runs example for
 
-- hosts:
-  - example_servers_group
+- name: Playbook for running the role 'dependencies'
+  hosts:
+    - example_servers_group
   roles:
     - dependencies
diff --git a/requirements.txt b/requirements.txt
index 7dca993..a42d9c6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,3 @@
+ansible
 ansible-dev-tools
 ansible-lint
diff --git a/roles/clone_repositories/meta/main.yml b/roles/clone_repositories/meta/main.yml
index 6de0edd..a566122 100644
--- a/roles/clone_repositories/meta/main.yml
+++ b/roles/clone_repositories/meta/main.yml
@@ -3,7 +3,7 @@ galaxy_info:
   description: Role to clone the repositories used from c3InfoDesk sytems
   author: fejao
   company: cccv.de
-  license: license (GPL-2.0-or-later, MIT, etc)
+  license: MIT
   min_ansible_version: 2.10
   galaxy_tags: []
 
diff --git a/roles/dependencies/defaults/main.yml b/roles/dependencies/defaults/main.yml
index 5616e16..8513b66 100644
--- a/roles/dependencies/defaults/main.yml
+++ b/roles/dependencies/defaults/main.yml
@@ -76,7 +76,7 @@ docker_apt_gpg_key_checksum: "sha256:1500c1f56fa9e26b9b8f42452a553675796ade0807c
 docker_apt_filename: "docker"
 
 # Used only for RedHat/CentOS/Fedora.
-docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"
+docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora', 'centos') }}/docker-{{ docker_edition }}.repo"
 docker_yum_repo_enable_nightly: '0'
 docker_yum_repo_enable_test: '0'
 docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg"
diff --git a/roles/dependencies/handlers/main.yml b/roles/dependencies/handlers/main.yml
index 7eee98a..d8fd57c 100644
--- a/roles/dependencies/handlers/main.yml
+++ b/roles/dependencies/handlers/main.yml
@@ -1,14 +1,10 @@
 ---
 # handlers file for dependencies
 
-- name: handler_restart_docker
+- name: HANDLER_RESTART_DOCKER
   ansible.builtin.systemd_service:
     name: docker
     state: restarted
-    # daemon_reload: true
-  ###
-  ### THIS IS GETTING TIMEOUT
-  ###
-  # ignore_errors: "{{ ansible_check_mode }}"
-  ignore_errors: true
+    daemon_reload: true
   when: docker_service_manage | bool
+  become: true
diff --git a/roles/dependencies/meta/main.yml b/roles/dependencies/meta/main.yml
index 1fbb987..69e69d0 100644
--- a/roles/dependencies/meta/main.yml
+++ b/roles/dependencies/meta/main.yml
@@ -1,10 +1,12 @@
+---
+
 galaxy_info:
   role_name: dependencies
   description: Role to install the dependencies from the c3InfoDesk sytems
   author: fejao
   company: cccv.de
-  license: license (GPL-2.0-or-later, MIT, etc)
-  min_ansible_version: 2.10
+  license: MIT
+  min_ansible_version: '2.10'
   galaxy_tags: []
 
 dependencies: []
diff --git a/roles/dependencies/tasks/docker/install_compose.yml b/roles/dependencies/tasks/docker/install_compose.yml
index 38705d0..8c353a4 100644
--- a/roles/dependencies/tasks/docker/install_compose.yml
+++ b/roles/dependencies/tasks/docker/install_compose.yml
@@ -1,19 +1,20 @@
 ---
 - name: DOCKER | COMPOSE | Check current docker-compose version.
-  command: "{{ docker_compose_path }} --version"
+  ansible.builtin.command: "{{ docker_compose_path }} --version"
   register: docker_compose_vsn
   check_mode: false
   changed_when: false
   failed_when: false
 
-- set_fact:
+- name: Setting the docker compose version
+  ansible.builtin.set_fact:
     docker_compose_current_version: "{{ docker_compose_vsn.stdout | regex_search('(\\d+(\\.\\d+)+)') }}"
   when: >
     docker_compose_vsn.stdout is defined
     and (docker_compose_vsn.stdout | length > 0)
 
 - name: DOCKER | COMPOSE | Delete existing docker-compose version if it's different.
-  file:
+  ansible.builtin.file:
     path: "{{ docker_compose_path }}"
     state: absent
   when: >
@@ -21,10 +22,10 @@
     and (docker_compose_version | regex_replace('v', '')) not in docker_compose_current_version
 
 - name: DOCKER | COMPOSE | Install Docker Compose (if configured).
-  get_url:
+  ansible.builtin.get_url:
     url: "{{ docker_compose_url }}"
     dest: "{{ docker_compose_path }}"
-    mode: 0755
+    mode: "0755"
   when: >
     (docker_compose_current_version is not defined)
     or (docker_compose_current_version | length == 0)
diff --git a/roles/dependencies/tasks/docker/install_docker_users.yml b/roles/dependencies/tasks/docker/install_docker_users.yml
index 6304a0a..2f78a65 100644
--- a/roles/dependencies/tasks/docker/install_docker_users.yml
+++ b/roles/dependencies/tasks/docker/install_docker_users.yml
@@ -1,6 +1,7 @@
 ---
+
 - name: DOCKER | USERS | Ensure docker users are added to the docker group.
-  user:
+  ansible.builtin.user:
     name: "{{ item }}"
     groups: docker
     append: true
@@ -8,4 +9,4 @@
   become: true
 
 - name: DOCKER | USERS | Reset ssh connection to apply user changes.
-  meta: reset_connection
+  ansible.builtin.meta: reset_connection
diff --git a/roles/dependencies/tasks/docker/setup-Debian.yml b/roles/dependencies/tasks/docker/setup-Debian.yml
index afdc406..8835450 100644
--- a/roles/dependencies/tasks/docker/setup-Debian.yml
+++ b/roles/dependencies/tasks/docker/setup-Debian.yml
@@ -10,7 +10,7 @@
     state: absent
 
 - name: DOCKER | DEBIAN | Ensure the repo referencing the previous trusted.gpg.d key is not present
-  apt_repository:
+  ansible.builtin.apt_repository:
     repo: "deb [arch={{ docker_apt_arch }} signed-by=/etc/apt/trusted.gpg.d/docker.asc] {{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
     state: absent
     filename: "{{ docker_apt_filename }}"
@@ -19,13 +19,13 @@
 
 # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions
 - name: DOCKER | DEBIAN | Ensure old versions of Docker are not installed.
-  package:
+  ansible.builtin.package:
     name: "{{ docker_obsolete_packages }}"
     state: absent
 
 - name: DOCKER | DEBIAN | Ensure dependencies are installed.
   become: true
-  apt:
+  ansible.builtin.apt:
     name:
       - apt-transport-https
       - ca-certificates
@@ -33,7 +33,7 @@
   when: docker_add_repo | bool
 
 - name: DOCKER | DEBIAN | Ensure directory exists for /etc/apt/keyrings
-  file:
+  ansible.builtin.file:
     path: /etc/apt/keyrings
     state: directory
     mode: "0755"
@@ -51,16 +51,21 @@
   become: true
 
 - name: DOCKER | DEBIAN | Ensure curl is present (on older systems without SNI).
-  package: name=curl state=present
+  ansible.builtin.apt:
+    name: curl
+    state: present
   when: add_repository_key is failed and docker_add_repo | bool
 
 - name: DOCKER | DEBIAN | Add Docker apt key (alternative for older systems without SNI).
-  shell: >
+  ansible.builtin.shell: >
+    set -o pipefail &&
     curl -sSL {{ docker_apt_gpg_key }} | apt-key add -
   when: add_repository_key is failed and docker_add_repo | bool
+  register: ret_add_docker_key
+  changed_when: ret_add_docker_key.rc != 0
 
 - name: DOCKER | DEBIAN | Add Docker repository.
-  apt_repository:
+  ansible.builtin.apt_repository:
     repo: "{{ docker_apt_repository }}"
     state: present
     filename: "{{ docker_apt_filename }}"
diff --git a/roles/dependencies/tasks/docker/setup-RedHat.yml b/roles/dependencies/tasks/docker/setup-RedHat.yml
index 6a74fed..228585f 100644
--- a/roles/dependencies/tasks/docker/setup-RedHat.yml
+++ b/roles/dependencies/tasks/docker/setup-RedHat.yml
@@ -1,61 +1,61 @@
 ---
 - name: DOCKER | RED-HAT | Ensure old versions of Docker are not installed.
-  package:
+  ansible.builtin.package:
     name:
       - docker
       - docker-common
       - docker-engine
     state: absent
 
-# - name: DOCKER | RED-HAT | Add Docker GPG key.
-#   rpm_key:
-#     key: "{{ docker_yum_gpg_key }}"
-#     state: present
-#   when: docker_add_repo | bool
+- name: DOCKER | RED-HAT | Add Docker GPG key.
+  ansible.builtin.rpm_key:
+    key: "{{ docker_yum_gpg_key }}"
+    state: present
+  when: docker_add_repo | bool
 
-# - name: DOCKER | RED-HAT | Add Docker repository.
-#   get_url:
-#     url: "{{ docker_yum_repo_url }}"
-#     dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
-#     owner: root
-#     group: root
-#     mode: 0644
-#   when: docker_add_repo | bool
+- name: DOCKER | RED-HAT | Add Docker repository.
+  ansible.builtin.get_url:
+    url: "{{ docker_yum_repo_url }}"
+    dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
+    owner: root
+    group: root
+    mode: "0644"
+  when: docker_add_repo | bool
 
-# - name: DOCKER | RED-HAT | Configure Docker Nightly repo.
-#   ini_file:
-#     dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
-#     section: 'docker-{{ docker_edition }}-nightly'
-#     option: enabled
-#     value: '{{ docker_yum_repo_enable_nightly }}'
-#     mode: 0644
-#     no_extra_spaces: true
-#   when: docker_add_repo | bool
+- name: DOCKER | RED-HAT | Configure Docker Nightly repo.
+  community.general.ini_file:
+    dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
+    section: 'docker-{{ docker_edition }}-nightly'
+    option: enabled
+    value: '{{ docker_yum_repo_enable_nightly }}'
+    mode: "0644"
+    no_extra_spaces: true
+  when: docker_add_repo | bool
 
-# - name: DOCKER | RED-HAT | Configure Docker Test repo.
-#   ini_file:
-#     dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
-#     section: 'docker-{{ docker_edition }}-test'
-#     option: enabled
-#     value: '{{ docker_yum_repo_enable_test }}'
-#     mode: 0644
-#     no_extra_spaces: true
-#   when: docker_add_repo | bool
+- name: DOCKER | RED-HAT | Configure Docker Test repo.
+  community.general.ini_file:
+    dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
+    section: 'docker-{{ docker_edition }}-test'
+    option: enabled
+    value: '{{ docker_yum_repo_enable_test }}'
+    mode: "0644"
+    no_extra_spaces: true
+  when: docker_add_repo | bool
 
-# - name: DOCKER | RED-HAT | Configure containerd on RHEL 8.
-#   block:
-#     - name: Ensure runc is not installed.
-#       package:
-#         name: runc
-#         state: absent
+- name: DOCKER | RED-HAT | Configure containerd on RHEL 8.
+  when: ansible_distribution_major_version | int == 8
+  block:
+    - name: Ensure runc is not installed.
+      ansible.builtin.package:
+        name: runc
+        state: absent
 
-#     - name: Ensure container-selinux is installed.
-#       package:
-#         name: container-selinux
-#         state: present
+    - name: Ensure container-selinux is installed.
+      ansible.builtin.package:
+        name: container-selinux
+        state: present
 
-#     - name: Ensure containerd.io is installed.
-#       package:
-#         name: containerd.io
-#         state: present
-#   when: ansible_distribution_major_version | int == 8
+    - name: Ensure containerd.io is installed.
+      ansible.builtin.package:
+        name: containerd.io
+        state: present
diff --git a/roles/dependencies/tasks/install_docker.yml b/roles/dependencies/tasks/install_docker.yml
index 12526a5..b6403b0 100644
--- a/roles/dependencies/tasks/install_docker.yml
+++ b/roles/dependencies/tasks/install_docker.yml
@@ -1,76 +1,84 @@
 ---
+
 - name: DOCKER | Load OS-specific vars.
-  include_vars: "{{ lookup('first_found', params) }}"
+  ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
   vars:
     params:
       files:
-        - '{{ansible_distribution}}.yml'
-        - '{{ansible_os_family}}.yml'
+        - '{{ ansible_distribution }}.yml'
+        - '{{ ansible_os_family }}.yml'
         - main.yml
       paths:
         - 'vars'
 
-- include_tasks: docker/setup-RedHat.yml
+- name: Installing for RedHat OS family
+  ansible.builtin.include_tasks: docker/setup-RedHat.yml
   when: ansible_os_family == 'RedHat'
 
-- include_tasks: docker/setup-Debian.yml
+- name: Installing for Debian OS family
+  ansible.builtin.include_tasks: docker/setup-Debian.yml
   when: ansible_os_family == 'Debian'
 
 - name: DOCKER | Install Docker packages.
-  package:
+  ansible.builtin.package:
     name: "{{ docker_packages }}"
     state: "{{ docker_packages_state }}"
-  notify: handler_restart_docker
+  notify: HANDLER_RESTART_DOCKER
   ignore_errors: "{{ ansible_check_mode }}"
   when: "ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian']"
   become: true
 
 - name: DOCKER | Install Docker packages (with downgrade option).
-  package:
+  ansible.builtin.package:
     name: "{{ docker_packages }}"
     state: "{{ docker_packages_state }}"
     allow_downgrade: true
-  notify: handler_restart_docker
+  notify: HANDLER_RESTART_DOCKER
   ignore_errors: "{{ ansible_check_mode }}"
   when: "ansible_version.full is version_compare('2.12', '>=') and ansible_os_family in ['RedHat', 'Debian']"
   become: true
 
 - name: DOCKER | Install docker-compose plugin.
-  package:
+  ansible.builtin.package:
     name: "{{ docker_compose_package }}"
     state: "{{ docker_compose_package_state }}"
-  notify: handler_restart_docker
+  notify: HANDLER_RESTART_DOCKER
   ignore_errors: "{{ ansible_check_mode }}"
-  when: "docker_install_compose_plugin | bool == true and (ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian'])"
+  when:
+    - docker_install_compose_plugin | bool
+    - ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian']
   become: true
 
 - name: DOCKER | Install docker-compose-plugin (with downgrade option).
-  package:
+  ansible.builtin.package:
     name: "{{ docker_compose_package }}"
     state: "{{ docker_compose_package_state }}"
     allow_downgrade: true
-  notify: handler_restart_docker
+  notify: HANDLER_RESTART_DOCKER
   ignore_errors: "{{ ansible_check_mode }}"
-  when: "docker_install_compose_plugin | bool == true and ansible_version.full is version_compare('2.12', '>=') and ansible_os_family in ['RedHat', 'Debian']"
+  when:
+  - docker_install_compose_plugin | bool
+  - ansible_version.full is version_compare('2.12', '>=')
+  - ansible_os_family in ['RedHat', 'Debian']
   become: true
 
 - name: DOCKER | Ensure /etc/docker/ directory exists.
-  file:
+  ansible.builtin.file:
     path: /etc/docker
     state: directory
-    mode: 0755
+    mode: "0755"
   when: docker_daemon_options.keys() | length > 0
 
 - name: DOCKER | Configure Docker daemon options.
-  copy:
+  ansible.builtin.copy:
     content: "{{ docker_daemon_options | to_nice_json }}"
     dest: /etc/docker/daemon.json
-    mode: 0644
+    mode: "0644"
   when: docker_daemon_options.keys() | length > 0
-  notify: handler_restart_docker
+  notify: HANDLER_RESTART_DOCKER
 
 - name: DOCKER | Ensure Docker is started and enabled at boot.
-  service:
+  ansible.builtin.service:
     name: docker
     state: "{{ docker_service_state }}"
     enabled: "{{ docker_service_enabled }}"
@@ -78,26 +86,27 @@
   when: docker_service_manage | bool
 
 - name: DOCKER | Ensure handlers are notified now to avoid firewall conflicts.
-  meta: flush_handlers
+  ansible.builtin.meta: flush_handlers
 
-- include_tasks: docker/install_compose.yml
+- name: Installing 'docker compose'
+  ansible.builtin.include_tasks: docker/install_compose.yml
   when: docker_install_compose | bool
 
 - name: DOCKER | Get docker group info using getent.
-  getent:
+  ansible.builtin.getent:
     database: group
     key: docker
     split: ':'
   when: docker_users | length > 0
 
 - name: DOCKER | Check if there are any users to add to the docker group.
-  set_fact:
+  ansible.builtin.set_fact:
     at_least_one_user_to_modify: true
   when:
     - docker_users | length > 0
     - item not in ansible_facts.getent_group["docker"][2]
   with_items: "{{ docker_users }}"
 
-# - include_tasks: docker-users.yml
-- include_tasks: docker/install_docker_users.yml
+- name: DOCKER | Adding users to the docker group
+  ansible.builtin.include_tasks: docker/install_docker_users.yml
   when: at_least_one_user_to_modify is defined
diff --git a/roles/dependencies/tasks/install_packages.yml b/roles/dependencies/tasks/install_packages.yml
index edb782f..46ff39a 100644
--- a/roles/dependencies/tasks/install_packages.yml
+++ b/roles/dependencies/tasks/install_packages.yml
@@ -1,8 +1,10 @@
 ---
 
-- name: INSTALL_PACAKAGES | Installing the packages from list
+- name: INSTALL_PACKAGES | Installing the packages from list
   ansible.builtin.package:
-    name: "{{item}}"
+    name: "{{ package_name }}"
     state: present
-  with_items: "{{os_dependencies_packages}}"
-  become: true
\ No newline at end of file
+  loop: "{{ os_dependencies_packages }}"
+  loop_control:
+    loop_var: package_name
+  become: true
diff --git a/roles/dependencies/tasks/main.yml b/roles/dependencies/tasks/main.yml
index 2bf1447..1da7500 100644
--- a/roles/dependencies/tasks/main.yml
+++ b/roles/dependencies/tasks/main.yml
@@ -1,5 +1,8 @@
 ---
 # tasks file for dependencies
 
-- import_tasks: install_packages.yml
-- import_tasks: install_docker.yml
+- name: Importing the 'install_packages.yml' tasks
+  ansible.builtin.import_tasks: install_packages.yml
+
+- name: Importing the 'install_docker.yml' tasks
+  ansible.builtin.import_tasks: install_docker.yml
diff --git a/roles/docker_containers/meta/main.yml b/roles/docker_containers/meta/main.yml
index 9831b4f..6bef252 100644
--- a/roles/docker_containers/meta/main.yml
+++ b/roles/docker_containers/meta/main.yml
@@ -3,7 +3,7 @@ galaxy_info:
   description: Role to work with the containers for the c3InfoDesk sytems
   author: fejao
   company: cccv.de
-  license: license (GPL-2.0-or-later, MIT, etc)
+  license: MIT
   min_ansible_version: 2.10
   galaxy_tags: []
 
diff --git a/roles/docker_images/meta/main.yml b/roles/docker_images/meta/main.yml
index fcbd3be..8362f7b 100644
--- a/roles/docker_images/meta/main.yml
+++ b/roles/docker_images/meta/main.yml
@@ -3,7 +3,7 @@ galaxy_info:
   description: Role to clone the repositories used from c3InfoDesk sytems
   author: fejao
   company: cccv.de
-  license: license (GPL-2.0-or-later, MIT, etc)
+  license: MIT
   min_ansible_version: 2.10
   galaxy_tags: []
 
diff --git a/roles/test/tasks/main.yml b/roles/test/tasks/main.yml
index 6e81d9c..231332e 100644
--- a/roles/test/tasks/main.yml
+++ b/roles/test/tasks/main.yml
@@ -27,6 +27,7 @@
   ansible.builtin.command:
     cmd: ls -hal /
   register: ret_list_folder
+  changed_when: ret_list_folder.rc != 0
 
 - name: Shows output from listing folder
   ansible.builtin.debug:
-- 
GitLab