diff --git a/roles/development/tasks/main.yml b/roles/development/tasks/main.yml index c5c45d9..28ee38f 100644 --- a/roles/development/tasks/main.yml +++ b/roles/development/tasks/main.yml @@ -71,8 +71,6 @@ ansible.builtin.shell: | # Ensure keyrings directory exists mkdir -p /etc/apt/keyrings - # Remove any existing broken key - rm -f /etc/apt/keyrings/nodesource.gpg # Download and convert key to binary format for signed-by curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg chmod 644 /etc/apt/keyrings/nodesource.gpg @@ -81,6 +79,8 @@ echo "ERROR: Key file is not valid PGP format" exit 1 fi + args: + creates: /etc/apt/keyrings/nodesource.gpg become: true when: - node_version_check.rc != 0 or not node_version_check.stdout.startswith('v22') diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index efd397c..01ada1b 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -1,14 +1,4 @@ --- -- name: Remove NodeSource repository to prevent GPG errors - ansible.builtin.shell: | - # Remove NodeSource repository file to prevent GPG errors during apt cache update - rm -f /etc/apt/sources.list.d/nodesource.list - # Remove NodeSource key file - rm -f /etc/apt/keyrings/nodesource.gpg - become: true - ignore_errors: true - changed_when: false - - name: Debug distribution information ansible.builtin.debug: msg: @@ -21,7 +11,6 @@ - name: Check if Docker is already installed ansible.builtin.command: docker --version register: docker_check - ignore_errors: true changed_when: false failed_when: false no_log: true diff --git a/roles/docker/tasks/setup_repo_linux_mint.yml b/roles/docker/tasks/setup_repo_linux_mint.yml index 26f6203..17bdea1 100644 --- a/roles/docker/tasks/setup_repo_linux_mint.yml +++ b/roles/docker/tasks/setup_repo_linux_mint.yml @@ -29,21 +29,6 @@ become: true when: docker_repo_check.stdout == "wrong_config" -- name: Remove NodeSource repository completely before adding Docker repo - ansible.builtin.shell: | - # Remove NodeSource repository file - rm -f /etc/apt/sources.list.d/nodesource.list - # Remove NodeSource key file - rm -f /etc/apt/keyrings/nodesource.gpg - # Remove from sources.list if present - sed -i '/nodesource/d' /etc/apt/sources.list 2>/dev/null || true - # Remove any cached InRelease files - rm -f /var/lib/apt/lists/*nodesource* 2>/dev/null || true - rm -f /var/lib/apt/lists/partial/*nodesource* 2>/dev/null || true - become: true - ignore_errors: true - changed_when: false - - name: Add Docker repository for Linux Mint (using Ubuntu base) only if needed ansible.builtin.apt_repository: repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ docker_ubuntu_codename }} stable" @@ -51,16 +36,8 @@ update_cache: false when: docker_repo_check.stdout in ["not_exists", "wrong_config"] -- name: Update apt cache after adding Docker repository (ignore NodeSource errors) - ansible.builtin.shell: | - apt-get update 2>&1 | grep -v "nodesource\|NO_PUBKEY.*2F59B5F99B1BE0B4" || true - # Verify update succeeded for non-nodesource repos - if apt-get update 2>&1 | grep -q "E:"; then - # If there are real errors (not just nodesource), fail - if ! apt-get update 2>&1 | grep -q "nodesource"; then - exit 1 - fi - fi +- name: Update apt cache after adding Docker repository + ansible.builtin.apt: + update_cache: true become: true - ignore_errors: true when: docker_repo_check.stdout in ["not_exists", "wrong_config"]