diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7111d1b8e6d7a52bfb2b7d249cdb98df35a1938f..fdf05019197e8b473d25e84079d2b3f98c8c73d3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,5 @@
+---
+
 # image: python:3.10.15-bullseye
 
 ###
@@ -7,246 +9,31 @@ variables:
   AUTHOR: fejao
   IMAGE_NAME_SYNTAX: python:3.10.15-bullseye
   IMAGE_NAME_LINT: python:3.10.15-bullseye
+  IMAGE_NAME_MOLECULE: python:3.10.15-bullseye
   # IMAGE_NAME_MOLECULE: geerlingguy/docker-ubuntu2204-ansible:latest
-  IMAGE_NAME_MOLECULE: docker:dind
+  ### PATHS
   INVENTORIES_PATH: "inventories/hosts"
-  PLAYBOOK_PATH_FOR_ROLE_TEST: "ci-cd/01_test.yml"
-  PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES: "ci-cd/02_dependencies.yml"
-  PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES: "ci-cd/03_clone_repositories.yml"
-  PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES: "ci-cd/04_docker_images.yml"
-  PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS: "ci-cd/05_docker_containers.yml"
-  PLAYBOOK_PATH_FOR_ROLE_OH_MY_BASH: "ci-cd/06_oh_my_bash.yml"
+  PATH_PLAYBOOK_FOR_ROLE_TEST: "ci-cd/playbooks/01_test.yml"
+  PATH_PLAYBOOK_FOR_ROLE_DEPENDENCIES: "ci-cd/playbooks/02_dependencies.yml"
+  PATH_PLAYBOOK_FOR_ROLE_CLONE_REPOSITORIES: "ci-cd/playbooks/03_clone_repositories.yml"
+  PATH_PLAYBOOK_FOR_ROLE_DOCKER_IMAGES: "ci-cd/playbooks/04_docker_images.yml"
+  PATH_PLAYBOOK_FOR_ROLE_DOCKER_CONTAINERS: "ci-cd/playbooks/05_docker_containers.yml"
+  PATH_PLAYBOOK_FOR_ROLE_OH_MY_BASH: "ci-cd/playbooks/06_oh_my_bash.yml"
 
 ###
 ### STAGES
 ###
 stages:
-  - syntax-check
+  - before-role-trigger
+  - syntax-checks
   - lint-tests
   - molecule
 
 ###
-### SCRIPTS
-###
-.before_syntax_n_lint: &before_syntax_n_lint
-  - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
-  - pip3 install -r ci-cd/requirements.txt
-  ### Correct the permissions on the build environment directory.
-  ### See https://github.com/ansible/ansible/pull/42142/files
-  - chmod 700 /builds/fejao/c3infodesk-deployment
-
-.run_syntax_check: &run_syntax_check
-  - ansible-playbook --syntax-check -i $INVENTORIES_PATH $ROLE_PATH
-
-.run_lint: &run_lint
-  - ansible-lint $ROLE_PATH
-
-###
-### STAGE-SYNTAX-CHECK
-###
-syntax-test:
-  stage: syntax-check
-  image: $IMAGE_NAME_SYNTAX
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_TEST
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-playbook --syntax-check tests at the role-> 'test'"
-    - *run_syntax_check
-  allow_failure: false
-
-syntax-dependencies:
-  stage: syntax-check
-  image: $IMAGE_NAME_SYNTAX
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-playbook --syntax-check tests at the role-> 'dependencies'"
-    - *run_syntax_check
-  allow_failure: false
-
-syntax-clone-repositories:
-  stage: syntax-check
-  image: $IMAGE_NAME_SYNTAX
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-playbook --syntax-check tests at the role-> 'clone_repositories'"
-    - *run_syntax_check
-  allow_failure: false
-
-syntax-docker-images:
-  stage: syntax-check
-  image: $IMAGE_NAME_SYNTAX
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-playbook --syntax-check tests at the role-> 'docker_images'"
-    - *run_syntax_check
-  allow_failure: false
-
-syntax-docker-containers:
-  stage: syntax-check
-  image: $IMAGE_NAME_SYNTAX
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-playbook --syntax-check tests at the role-> 'docker_containers'"
-    - *run_syntax_check
-  allow_failure: false
-
-syntax-oh-my-bash:
-  stage: syntax-check
-  image: $IMAGE_NAME_SYNTAX
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_OH_MY_BASH
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-playbook --syntax-check tests at the role-> 'docker_containers'"
-    - *run_syntax_check
-  allow_failure: false
-
+### TEMPLATES
 ###
-### STAGE-LINT-TESTS
-###
-lint-test:
-  stage: lint-tests
-  image: $IMAGE_NAME_LINT
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_TEST
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-lint tests at the role-> 'test'"
-    - *run_lint
-  allow_failure: false
-
-lint-dependencies:
-  stage: lint-tests
-  image: $IMAGE_NAME_LINT
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-lint tests at the role-> 'dependencies'"
-    - *run_lint
-  allow_failure: false
-
-lint-clone-repositories:
-  stage: lint-tests
-  image: $IMAGE_NAME_LINT
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-lint tests at the role-> 'clone_repositories'"
-    - *run_lint
-  allow_failure: false
-
-lint-docker-images:
-  stage: lint-tests
-  image: $IMAGE_NAME_LINT
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-lint tests at the role-> 'docker_images'"
-    - *run_lint
-  allow_failure: false
-
-lint-docker-containers:
-  stage: lint-tests
-  image: $IMAGE_NAME_LINT
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-lint tests at the role-> 'docker_containers'"
-    - *run_lint
-  allow_failure: false
-
-lint-oh-my-bash:
-  stage: lint-tests
-  image: $IMAGE_NAME_LINT
-  variables:
-    ROLE_PATH: $PLAYBOOK_PATH_FOR_ROLE_OH_MY_BASH
-  before_script:
-    - *before_syntax_n_lint
-  script:
-    - echo "Running ansible-lint tests at the role-> 'docker_containers'"
-    - *run_lint
-  allow_failure: false
-
-
-###
-### STAGE-MOLECULE --> At the moment, running DIND (docker in docker) at this instance is disable :(
-###
-# molecule-test:
-#   stage: molecule
-#   image: $IMAGE_NAME_MOLECULE
-#   ### AVAILABLE TAGS
-#   # https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html#machine-types-available-for-linux---x86-64
-#   tags:
-#     - saas-linux-small-amd64
-#   # before_script:
-#   #   # - apk add --no-cache python3 py3-pip
-#   #   # - rm /usr/lib/python*/EXTERNALLY-MANAGED
-#   #   # - python3 -m ensurepip
-#   #   - pip3 install ansible ansible-lint molecule molecule-docker
-#   #   - pip3 install --user "molecule-plugins[docker]"
-#   script:
-#     - echo "Running molecule tests at the role-> 'test'"
-#     - docker ps -a
-#     # - cd roles/test
-#     # - molecule test
-#   allow_failure: false
-
-# molecule-test:
-#   stage: molecule
-#   # image: docker:latest
-#   # image: docker:27.5.1-alpine3.21
-#   # image: docker:27.5.1-dind
-#   # image: geerlingguy/docker-ubuntu2204-ansible:latest
-#   image: $IMAGE_NAME_MOLECULE
-#   before_script:
-#     # - apk add --no-cache python3 py3-pip
-#     # - rm /usr/lib/python*/EXTERNALLY-MANAGED
-#     # - python3 -m ensurepip
-#     - pip3 install ansible ansible-lint molecule molecule-docker
-#     - pip3 install --user "molecule-plugins[docker]"
-#   script:
-#     - echo "Running ansible-lint tests at the role-> 'test'"
-#     - docker ps -a
-#     # - cd roles/test
-#     # - molecule test
-#   allow_failure: false
-
-# molecule-test:
-#   stage: molecule
-#   # image: docker:latest
-#   image: docker:27.5.1-alpine3.21
-#   before_script:
-#     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
-#     - pip3 install -r ci-cd/requirements.txt
-#     - pip3 install --upgrade molecule molecule-docker
-#     # - python3 -m pip install --user "molecule-plugins[docker]
-#     - pip3 install --user "molecule-plugins[docker]"
-#   script:
-#     - echo "Running ansible-lint tests at the role-> 'test'"
-#     - cd roles/test
-#     - molecule test
-#   allow_failure: false
+include:
+  # - local: ci-cd/templates/trigger-pipeline.yml
+  - local: ci-cd/templates/syntax-checks.yml
+  - local: ci-cd/templates/lint-tests.yml
+  - local: ci-cd/templates/molecule.yml
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000000000000000000000000000000000..bff688b1b1694d5dbac3335b2453aaa4de564a3f
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "roles/c3infodesk-deployment-role-test"]
+	path = roles/c3infodesk-deployment-role-test
+	url = git@git.cccv.de:fejao/c3infodesk-deployment-role-test.git
diff --git a/ci-cd/01_test.yml b/ci-cd/playbooks/01_test.yml
similarity index 66%
rename from ci-cd/01_test.yml
rename to ci-cd/playbooks/01_test.yml
index eb8a83f2b53520967da4ad4d6647bf459d2b5043..dc440872a410a85fb42523ce5d82ace55500e4b7 100644
--- a/ci-cd/01_test.yml
+++ b/ci-cd/playbooks/01_test.yml
@@ -5,4 +5,5 @@
   hosts:
     - example_servers_group
   roles:
-    - roles/test
+    # - roles/test
+    - roles/c3infodesk-deployment-role-test
diff --git a/ci-cd/02_dependencies.yml b/ci-cd/playbooks/02_dependencies.yml
similarity index 100%
rename from ci-cd/02_dependencies.yml
rename to ci-cd/playbooks/02_dependencies.yml
diff --git a/ci-cd/03_clone_repositories.yml b/ci-cd/playbooks/03_clone_repositories.yml
similarity index 100%
rename from ci-cd/03_clone_repositories.yml
rename to ci-cd/playbooks/03_clone_repositories.yml
diff --git a/ci-cd/04_docker_images.yml b/ci-cd/playbooks/04_docker_images.yml
similarity index 100%
rename from ci-cd/04_docker_images.yml
rename to ci-cd/playbooks/04_docker_images.yml
diff --git a/ci-cd/05_docker_containers.yml b/ci-cd/playbooks/05_docker_containers.yml
similarity index 100%
rename from ci-cd/05_docker_containers.yml
rename to ci-cd/playbooks/05_docker_containers.yml
diff --git a/ci-cd/06_oh_my_bash.yml b/ci-cd/playbooks/06_oh_my_bash.yml
similarity index 100%
rename from ci-cd/06_oh_my_bash.yml
rename to ci-cd/playbooks/06_oh_my_bash.yml
diff --git a/ci-cd/python_requirements/requirements_syntax_n_lint.txt b/ci-cd/python_requirements/requirements_syntax_n_lint.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ca7d738c7225846160dd2238bacbd291c4a99427
--- /dev/null
+++ b/ci-cd/python_requirements/requirements_syntax_n_lint.txt
@@ -0,0 +1,8 @@
+yamllint
+ansible
+ansible-dev-tools
+ansible-lint
+### MOLECULE
+# python3 -m pip install --user "molecule-plugins[docker]"
+# molecule
+# ansible-core
diff --git a/ci-cd/requirements.txt b/ci-cd/requirements.txt
deleted file mode 100644
index a42d9c6727a963012e95f3c0bdcb413731890e97..0000000000000000000000000000000000000000
--- a/ci-cd/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-ansible
-ansible-dev-tools
-ansible-lint
diff --git a/ci-cd/scripts/syntax_n_lint.yml b/ci-cd/scripts/syntax_n_lint.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c934cf732de6803c0017e9d47e885717f659c297
--- /dev/null
+++ b/ci-cd/scripts/syntax_n_lint.yml
@@ -0,0 +1,31 @@
+---
+
+variables:
+  INVENTORIES_PATH: "inventories/hosts"
+  REQUIREMENTS_PATH: "ci-cd/python_requirements/requirements_syntax_n_lint.txt"
+  ENV_DIR_PATH: "/builds/fejao/c3infodesk-deployment"
+
+###
+### SCRIPTS
+###
+.before_script_syntax_n_lint:
+  before_script:
+    - echo "Running before_script for 'before_script_syntax_n_lint'"
+    - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
+    - pip3 install -r $REQUIREMENTS_PATH
+    ###########
+    # ### Correct the permissions on the build environment directory.
+    # ### See https://github.com/ansible/ansible/pull/42142/files
+    - chmod 700 $ENV_DIR_PATH
+
+.script_syntax_check_main:
+  extends: .before_script_syntax_n_lint
+  script:
+    - echo "Running script for 'script_syntax_check_main'"
+    - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH
+
+.run_lint:
+  extends: .before_script_syntax_n_lint
+  script:
+    - echo "Running script for 'run_lint'"
+    - ansible-lint $PLAYBOOK_PATH
diff --git a/ci-cd/templates/lint-tests.yml b/ci-cd/templates/lint-tests.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7449c23b1b5e8b54e1139274f6f6a259b7147fc2
--- /dev/null
+++ b/ci-cd/templates/lint-tests.yml
@@ -0,0 +1,77 @@
+---
+
+###
+### VARIABLES
+###
+variables:
+  AUTHOR: fejao
+
+###
+### INCLUDE
+###
+include:
+  - local: /ci-cd/scripts/syntax_n_lint.yml
+
+###
+### STAGE-LINT-TESTS
+###
+lint-test:
+  stage: lint-tests
+  image: $IMAGE_NAME_LINT
+  extends: .run_lint
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_TEST
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-test
+
+lint-dependencies:
+  stage: lint-tests
+  image: $IMAGE_NAME_LINT
+  extends: .run_lint
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_DEPENDENCIES
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-dependencies
+
+lint-clone-repositories:
+  stage: lint-tests
+  image: $IMAGE_NAME_LINT
+  extends: .run_lint
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_CLONE_REPOSITORIES
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-clone-repositories
+
+lint-docker-images:
+  stage: lint-tests
+  image: $IMAGE_NAME_LINT
+  extends: .run_lint
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_DOCKER_IMAGES
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-docker-containers
+
+lint-docker-containers:
+  stage: lint-tests
+  image: $IMAGE_NAME_LINT
+  extends: .run_lint
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_DOCKER_CONTAINERS
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-docker-containers
+
+lint-oh-my-bash:
+  stage: lint-tests
+  image: $IMAGE_NAME_LINT
+  extends: .run_lint
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_OH_MY_BASH
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-oh-my-bash
+
diff --git a/ci-cd/templates/molecule.yml b/ci-cd/templates/molecule.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1a311e0e0c8f8616dced084f9cfcc693f844f02b
--- /dev/null
+++ b/ci-cd/templates/molecule.yml
@@ -0,0 +1,72 @@
+---
+
+###
+### VARIABLES
+###
+variables:
+  AUTHOR: fejao
+
+molecule-not-enabled:
+  stage: molecule
+  image: $IMAGE_NAME_MOLECULE
+  script:
+    - echo "This can't be done before enable DIND at the instance"
+
+###
+### STAGE-MOLECULE --> At the moment, running DIND (docker in docker) at this instance is disable :(
+###
+# molecule-test:
+#   stage: molecule
+#   image: $IMAGE_NAME_MOLECULE
+#   ### AVAILABLE TAGS
+#   # https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html#machine-types-available-for-linux---x86-64
+#   tags:
+#     - saas-linux-small-amd64
+#   # before_script:
+#   #   # - apk add --no-cache python3 py3-pip
+#   #   # - rm /usr/lib/python*/EXTERNALLY-MANAGED
+#   #   # - python3 -m ensurepip
+#   #   - pip3 install ansible ansible-lint molecule molecule-docker
+#   #   - pip3 install --user "molecule-plugins[docker]"
+#   script:
+#     - echo "Running molecule tests at the role-> 'test'"
+#     - docker ps -a
+#     # - cd roles/test
+#     # - molecule test
+#   allow_failure: false
+
+# molecule-test:
+#   stage: molecule
+#   # image: docker:latest
+#   # image: docker:27.5.1-alpine3.21
+#   # image: docker:27.5.1-dind
+#   # image: geerlingguy/docker-ubuntu2204-ansible:latest
+#   image: $IMAGE_NAME_MOLECULE
+#   before_script:
+#     # - apk add --no-cache python3 py3-pip
+#     # - rm /usr/lib/python*/EXTERNALLY-MANAGED
+#     # - python3 -m ensurepip
+#     - pip3 install ansible ansible-lint molecule molecule-docker
+#     - pip3 install --user "molecule-plugins[docker]"
+#   script:
+#     - echo "Running ansible-lint tests at the role-> 'test'"
+#     - docker ps -a
+#     # - cd roles/test
+#     # - molecule test
+#   allow_failure: false
+
+# molecule-test:
+#   stage: molecule
+#   # image: docker:latest
+#   image: docker:27.5.1-alpine3.21
+#   before_script:
+#     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
+#     - pip3 install -r ci-cd/requirements.txt
+#     - pip3 install --upgrade molecule molecule-docker
+#     # - python3 -m pip install --user "molecule-plugins[docker]
+#     - pip3 install --user "molecule-plugins[docker]"
+#   script:
+#     - echo "Running ansible-lint tests at the role-> 'test'"
+#     - cd roles/test
+#     - molecule test
+#   allow_failure: false
diff --git a/ci-cd/templates/syntax-checks.yml b/ci-cd/templates/syntax-checks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..04ffeb7152b20b197069dba32c8e134292e2b239
--- /dev/null
+++ b/ci-cd/templates/syntax-checks.yml
@@ -0,0 +1,78 @@
+---
+
+###
+### VARIABLES
+###
+variables:
+  AUTHOR: fejao
+
+###
+### INCLUDE
+###
+include:
+  - local: /ci-cd/scripts/syntax_n_lint.yml
+
+###
+### STAGE-SYNTAX-CHECKS
+###
+syntax-test:
+  stage: syntax-checks
+  image: $IMAGE_NAME_SYNTAX
+  extends: .script_syntax_check_main
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_TEST
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-test
+  #   refs:
+  #       - main
+
+syntax-dependencies:
+  stage: syntax-checks
+  image: $IMAGE_NAME_SYNTAX
+  extends: .script_syntax_check_main
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_DEPENDENCIES
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-dependencies
+
+syntax-clone-repositories:
+  stage: syntax-checks
+  image: $IMAGE_NAME_SYNTAX
+  extends: .script_syntax_check_main
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_CLONE_REPOSITORIES
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-clone-repositories
+
+syntax-docker-images:
+  stage: syntax-checks
+  image: $IMAGE_NAME_SYNTAX
+  extends: .script_syntax_check_main
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_DOCKER_IMAGES
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-docker-images
+
+syntax-docker-containers:
+  stage: syntax-checks
+  image: $IMAGE_NAME_SYNTAX
+  extends: .script_syntax_check_main
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_DOCKER_CONTAINERS
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-docker-containers
+
+syntax-oh-my-bash:
+  stage: syntax-checks
+  image: $IMAGE_NAME_SYNTAX
+  extends: .script_syntax_check_main
+  variables:
+    PLAYBOOK_PATH: $PATH_PLAYBOOK_FOR_ROLE_OH_MY_BASH
+  # only:
+  #   changes:
+  #     - roles/c3infodesk-deployment-role-oh-my-bash
diff --git a/ci-cd/templates/trigger-pipeline.yml b/ci-cd/templates/trigger-pipeline.yml
new file mode 100644
index 0000000000000000000000000000000000000000..80458f266a0bba2b49c512b86bb3d05ddd6cb235
--- /dev/null
+++ b/ci-cd/templates/trigger-pipeline.yml
@@ -0,0 +1,24 @@
+---
+
+###
+### VARIABLES
+###
+variables:
+  AUTHOR: fejao
+
+trigger-pipeline:
+  stage: before-role-trigger
+  # trigger:
+  #   include: <ChildFolder>/.gitlab-ci.yml
+  # trigger:
+  #   # include: roles/c3infodesk-deployment-role-test/.gitlab-ci.yml
+  #   include: /builds/fejao/c3infodesk-deployment/roles/c3infodesk-deployment-role-test/.gitlab-ci.yml
+
+  script:
+    - echo "Triggering tests for the 'test' role"
+    - pwd
+    # /builds/fejao/c3infodesk-deployment
+    - ls -la
+    - ls -la roles
+    - ls -la roles/c3infodesk-deployment-role-test
+    - ls -la roles/c3infodesk-deployment-role-test/.gitlab-ci.yml
diff --git a/roles/c3infodesk-deployment-role-test b/roles/c3infodesk-deployment-role-test
new file mode 160000
index 0000000000000000000000000000000000000000..ddc45d25c366878dd3f92136c54d4852562342c6
--- /dev/null
+++ b/roles/c3infodesk-deployment-role-test
@@ -0,0 +1 @@
+Subproject commit ddc45d25c366878dd3f92136c54d4852562342c6
diff --git a/roles/test/README.md b/roles/test/README.md
deleted file mode 100644
index f2cf0d1f36d975c5f7004360698ea6c43b2556d7..0000000000000000000000000000000000000000
--- a/roles/test/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# test role
-This is a ansible-role for testing your installed ansible.
-
-
-## Requirements
-To have ansible installed at your system.
-
-
-## Role Variables
-You should look around where the variables are setted. And figure it out from where the ouput comes
-
-
-## Dependencies
-This role have no dependency from any another role.
-
-
-## Example Playbook
-Here is an example for adding this role for your playbook for **restarting** the **c3infodesk-printer**. containers:
-
-```yaml
-- hosts:
-    - example_servers_group
-  roles:
-    - test
-```
-
-And call the playbook as:
-
-```bash
-ansible-playbook -i <INVENTORY> <PLAYBOOK_NAME>.yml
-```
-
-## Tests
-Here are the tests made at **CI-CD** for this role.
-
-The tests shuold be runned at the root directory from the repository.
-
-### Syntax
-```bash
-ansible-playbook --syntax-check -i invenvories/hosts playbooks/examples/example_01_test.yml
-```
-
-### Lint
-```bash
-ansible-lint ci-cd/01_test.yml
-```
-
-### molecule
-```bash
-cd roles/test
-molecule test
-```
-
-## License
-
-MIT/BSD
-
-
-## Author Information
-
-![fejao logo](../../files/from_authors/fejao_logo_circle.png "fejao") [https://chaos.social/@fejao](https://chaos.social/@fejao)
diff --git a/roles/test/defaults/main.yml b/roles/test/defaults/main.yml
deleted file mode 100644
index 9c8dd30304fe755907bd1212c4e6fdf95123a598..0000000000000000000000000000000000000000
--- a/roles/test/defaults/main.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-# defaults file for test
-
-var_setted_everywhere: "answer from roles/test/defaults/main.yml"
-var_setted_only_defaults_main: "MESSAGE FROM roles/test/defaults/main.yml"
diff --git a/roles/test/molecule/default/converge.yml b/roles/test/molecule/default/converge.yml
deleted file mode 100644
index 9aa3642de5e0a1415d40f98002b3bfd5b58f609b..0000000000000000000000000000000000000000
--- a/roles/test/molecule/default/converge.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- name: MOLECULE | Converge
-  hosts: all
-  tasks:
-    - name: MOLECULE | CONVERGE | Call the 'test' role.
-      ansible.builtin.include_role:
-        name: test
diff --git a/roles/test/molecule/default/molecule.yml b/roles/test/molecule/default/molecule.yml
deleted file mode 100644
index 7b5a4dc16f44f5b72043ced31ba71db9a993b3b8..0000000000000000000000000000000000000000
--- a/roles/test/molecule/default/molecule.yml
+++ /dev/null
@@ -1,66 +0,0 @@
----
-dependency:
-  name: galaxy
-driver:
-  name: docker
-platforms:
-  - name: instance
-    image: geerlingguy/docker-ubuntu2004-ansible:latest
-    # privileged: true
-    pre_build_image: true
-provisioner:
-  name: ansible
-  inventory:
-    ###
-    ### VARS used from the role
-    ###
-    group_vars:
-      example_servers_group:
-        var_setted_only_group_vars: "group_vars_value"
-        var_setted_everywhere: "group_vars_value"
-    host_vars:
-      instance:
-        var_setted_only_host_vars: "host_vars_value"
-        var_setted_everywhere: "host_vars_value"
-lint: |
-  ansible-lint --exclude molecule/default/
-scenario:
-  name: default
-  create_sequence:
-    - dependency
-    - create
-    - prepare
-  check_sequence:
-    - dependency
-    - cleanup
-    - destroy
-    - create
-    - prepare
-    - converge
-    - check
-    - destroy
-  converge_sequence:
-    - dependency
-    - create
-    - prepare
-    - converge
-  destroy_sequence:
-    - dependency
-    - cleanup
-    - destroy
-  test_sequence:
-    # - lint
-    # - dependency
-    # - cleanup
-    - destroy
-    - syntax
-    - create
-    # - prepare
-    - converge
-    - verify
-    - idempotence
-    # - side_effect
-    # - cleanup
-    - destroy
-verifier:
-  name: ansible
diff --git a/roles/test/molecule/default/verify.yml b/roles/test/molecule/default/verify.yml
deleted file mode 100644
index 5dd983f895031ab4e81f60a08876814d24a46e63..0000000000000000000000000000000000000000
--- a/roles/test/molecule/default/verify.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- name: VERIFY | Test role for debugging variables
-  hosts: all
-  pre_tasks:
-    - name: MOLECULE | VERIFY | PRE-TASKS | Adding variables from -> ../../../../inventories/group_vars
-      ansible.builtin.include_vars:
-        dir: ../../../../inventories/group_vars
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | Adding variables from -> ../../../../inventories/host_vars
-      ansible.builtin.include_vars:
-        dir: ../../../../inventories/host_vars
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | Adding variables from -> ../../defaults
-      ansible.builtin.include_vars:
-        dir: ../../defaults
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | Adding variables from -> ../../vars
-      ansible.builtin.include_vars:
-        dir: ../../vars
-        extensions:
-          - 'yml'
-
-  tasks:
-    - name: MOLECULE | VERIFY | Test parsed variable setted only at roles/test/defaults/main.yml
-      ansible.builtin.debug:
-        msg: "{{ var_setted_only_defaults_main }}"
-
-    - name: MOLECULE | VERIFY | Test parsed variable setted only at roles/test/vars/main.yml
-      ansible.builtin.debug:
-        msg: "{{ var_setted_only_vars_main }}"
-
-    - name: MOLECULE | VERIFY | Test parsed variable setted only at inventory/group_vars/example_servers_group.yml
-      ansible.builtin.debug:
-        msg: "{{ var_setted_only_group_vars }}"
-      when: var_setted_only_group_vars is defined
-
-    - name: MOLECULE | VERIFY | Test parsed variable setted only at inventory/host_vars/example_server.yml
-      ansible.builtin.debug:
-        msg: "{{ var_setted_only_host_vars }}"
-
-    - name: MOLECULE | VERIFY | Test parsed variable setted EVERYWHERE -> should come from roles/test/vars/main.yml
-      ansible.builtin.debug:
-        msg: "{{ var_setted_everywhere }}"
-
-    - name: MOLECULE | VERIFY | List the root ('/') folder from the target to a register
-      ansible.builtin.command:
-        cmd: ls -hal /
-      register: ret_list_folder
-      changed_when: false
-
-    - name: MOLECULE | VERIFY | Shows output from listing folder
-      ansible.builtin.debug:
-        msg: "{{ ret_list_folder }}"
diff --git a/roles/test/tasks/main.yml b/roles/test/tasks/main.yml
deleted file mode 100644
index 3e7e633615708d3a17a07bcb244ec0779c8725ac..0000000000000000000000000000000000000000
--- a/roles/test/tasks/main.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-# tasks file for test
-
-- name: Test parsed variable setted only at roles/test/defaults/main.yml
-  ansible.builtin.debug:
-    msg: "{{ var_setted_only_defaults_main }}"
-
-- name: Test parsed variable setted only at roles/test/vars/main.yml
-  ansible.builtin.debug:
-    msg: "{{ var_setted_only_vars_main }}"
-
-- name: Test parsed variable setted only at inventory/group_vars/example_servers_group.yml
-  ansible.builtin.debug:
-    msg: "{{ var_setted_only_group_vars }}"
-  when: var_setted_only_group_vars is defined
-
-- name: Test parsed variable setted only at inventory/host_vars/example_server.yml
-  ansible.builtin.debug:
-    msg: "{{ var_setted_only_host_vars }}"
-
-- name: Test parsed variable setted EVERYWHERE -> should come from roles/test/vars/main.yml
-  ansible.builtin.debug:
-    msg: "{{ var_setted_everywhere }}"
-
-- name: List the root ('/') folder from the target to a register
-  ansible.builtin.command:
-    cmd: ls -hal /
-  register: ret_list_folder
-  changed_when: false
-
-- name: Shows output from listing folder
-  ansible.builtin.debug:
-    msg: "{{ ret_list_folder }}"
diff --git a/roles/test/vars/main.yml b/roles/test/vars/main.yml
deleted file mode 100644
index 76a45cb0672a680111467fd9d9576ca1e237dce8..0000000000000000000000000000000000000000
--- a/roles/test/vars/main.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-# vars file for test
-
-var_setted_everywhere: "MESSAGE EVERYWHERE FROM roles/test/vars/main.yml"
-var_setted_only_vars_main: "MESSAGE FROM roles/test/vars/main.yml"