From 3d39e96606c9014c15c2691ab5cc6421d33fc2f5 Mon Sep 17 00:00:00 2001 From: Drazen Date: Mon, 20 Jan 2025 13:23:10 +0100 Subject: [PATCH 1/9] Updating-nodejs --- roles/debian/nodejs/tasks/main.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index 0806e47f5..ea91b11ab 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -3,7 +3,16 @@ ansible.builtin.include_role: name: debian/apt_repository vars: - apt_repository: + apt_repository: "{{ nodejs_10_config if nodejs.version == '10.x' else nodejs_default_config }}" + vars: + nodejs_10_config: + types: "deb deb-src" + suites: "{{ ansible_distribution_release }}" + signed_by: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" + state: present + enabled: true + key_refresh_timer_OnCalendar: "Mon *-*-* 00:15:00" + nodejs_default_config: legacy_repo: "deb https://deb.nodesource.com/node_{{ nodejs.version }} nodistro main" format: deb822 name: nodejs From 5aa987b7a2e9d6c1df1dfb471a38d3bc90747f30 Mon Sep 17 00:00:00 2001 From: Drazen Date: Mon, 20 Jan 2025 13:31:03 +0100 Subject: [PATCH 2/9] Updating-nodejs --- roles/debian/nodejs/tasks/main.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index ea91b11ab..e45047a38 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -1,9 +1,6 @@ ---- -- name: Add NodeJS repository and key. +- name: Add NodeJS repository and key ansible.builtin.include_role: name: debian/apt_repository - vars: - apt_repository: "{{ nodejs_10_config if nodejs.version == '10.x' else nodejs_default_config }}" vars: nodejs_10_config: types: "deb deb-src" @@ -27,14 +24,7 @@ state: present enabled: true key_refresh_timer_OnCalendar: "Mon *-*-* 00:15:00" - -- name: Modify repository for Node.js 10.x - set_fact: - apt_repository: - types: "deb deb-src" - suites: "{{ ansible_distribution_release }}" - signed_by: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" - when: nodejs.version == "10.x" + apt_repository: "{{ nodejs_10_config if nodejs.version == '10.x' else nodejs_default_config }}" - name: Add Yarn repository and key. ansible.builtin.include_role: From 62226e0938d53205be07fdede8ef2db6a16ad1c6 Mon Sep 17 00:00:00 2001 From: Drazen Date: Mon, 20 Jan 2025 13:53:36 +0100 Subject: [PATCH 3/9] Fixing-linting --- roles/aws/aws_ec2_autoscale_cluster/tasks/main.yml | 2 +- roles/aws/aws_ec2_autoscale_cluster/tasks/peering.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/aws/aws_ec2_autoscale_cluster/tasks/main.yml b/roles/aws/aws_ec2_autoscale_cluster/tasks/main.yml index fdc8384c6..5d91d19c8 100644 --- a/roles/aws/aws_ec2_autoscale_cluster/tasks/main.yml +++ b/roles/aws/aws_ec2_autoscale_cluster/tasks/main.yml @@ -461,7 +461,7 @@ - aws_ec2_autoscale_cluster.deploy_cluster - name: Create launch template. - community.aws.ec2_launch_template: + amazon.aws.ec2_launch_template: profile: "{{ aws_ec2_autoscale_cluster.aws_profile }}" name: "{{ aws_ec2_autoscale_cluster.name }}" image_id: "{{ aws_ec2_autoscale_cluster.image_id if aws_ec2_autoscale_cluster.image_id is defined else aws_ec2_autoscale_cluster_image_latest.image_id }}" diff --git a/roles/aws/aws_ec2_autoscale_cluster/tasks/peering.yml b/roles/aws/aws_ec2_autoscale_cluster/tasks/peering.yml index e1baa76e5..58d3f4b12 100644 --- a/roles/aws/aws_ec2_autoscale_cluster/tasks/peering.yml +++ b/roles/aws/aws_ec2_autoscale_cluster/tasks/peering.yml @@ -16,7 +16,7 @@ register: _aws_ec2_autoscale_cluster_peer_vpc - name: Create local VPC peering Connection - community.aws.ec2_vpc_peer: + amazon.aws.ec2_vpc_peering: profile: "{{ aws_ec2_autoscale_cluster.aws_profile }}" region: "{{ aws_ec2_autoscale_cluster.region }}" vpc_id: "{{ _aws_ec2_autoscale_cluster_vpc.vpcs[0].vpc_id }}" @@ -27,7 +27,7 @@ register: _aws_ec2_autoscale_cluster_peer_connection - name: Accept VPC peering request. - community.aws.ec2_vpc_peer: + amazon.aws.ec2_vpc_peering: profile: "{{ aws_ec2_autoscale_cluster.aws_profile }}" region: "{{ aws_ec2_autoscale_cluster.region }}" peering_id: "{{ _aws_ec2_autoscale_cluster_peer_connection.peering_id }}" From c441678cecd1bec822c7ca0128dca9bbb4ac945f Mon Sep 17 00:00:00 2001 From: Drazen Date: Mon, 20 Jan 2025 14:42:04 +0100 Subject: [PATCH 4/9] Missing-variables-fix-nodejx --- roles/debian/nodejs/tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index e45047a38..42a4a97e7 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -3,6 +3,7 @@ name: debian/apt_repository vars: nodejs_10_config: + legacy_repo: "" types: "deb deb-src" suites: "{{ ansible_distribution_release }}" signed_by: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" From 6043e5c5cb54a1702ebe3e76fe0e0c8afd808715 Mon Sep 17 00:00:00 2001 From: Drazen Date: Mon, 20 Jan 2025 15:11:02 +0100 Subject: [PATCH 5/9] Working-on-nodejs --- roles/debian/nodejs/tasks/main.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index 42a4a97e7..63a72de32 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -3,9 +3,17 @@ name: debian/apt_repository vars: nodejs_10_config: - legacy_repo: "" - types: "deb deb-src" + legacy_repo: "deb https://deb.nodesource.com/node_{{ nodejs.version }} {{ ansible_distribution_release }} main" + format: deb822 + name: nodejs + types: + - deb + - deb-src + uris: + - "https://deb.nodesource.com/node_{{ nodejs.version }}" suites: "{{ ansible_distribution_release }}" + components: + - main signed_by: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" state: present enabled: true From 3f9a8157464e86e9c180ac3b658a5befd827208e Mon Sep 17 00:00:00 2001 From: Drazen Date: Tue, 21 Jan 2025 13:00:50 +0100 Subject: [PATCH 6/9] Pushing-nodejs-versioning --- roles/debian/nodejs/defaults/main.yml | 3 ++- roles/debian/nodejs/tasks/main.yml | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/roles/debian/nodejs/defaults/main.yml b/roles/debian/nodejs/defaults/main.yml index 0ae6c011c..82c19edd3 100644 --- a/roles/debian/nodejs/defaults/main.yml +++ b/roles/debian/nodejs/defaults/main.yml @@ -1,7 +1,8 @@ --- nodejs: # Used by apt_unattended_upgrades - apt_origin_nodejs: "origin=Node Source,codename=nodistro,label=Node Source" # nodejs repo + apt_origin_nodejs: "origin=. nodistro,codename=nodistro,label=. nodistro" # nodejs repo + apt_origin_nodejs_v10: "origin=Node Source,codename=${distro_codename},label=Node Source" # nodejs repo apt_signed_by_nodejs: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key apt_origin_yarn: "origin=yarn,codename=stable,label=yarn-stable" # yarn repo apt_signed_by_yarn: https://dl.yarnpkg.com/debian/pubkey.gpg diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index 63a72de32..f875636bd 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -70,6 +70,15 @@ when: - apt_unattended_upgrades.enable is defined - apt_unattended_upgrades.enable + - nodejs.version != '10.x' + +- name: Add nodejs and yarn repositories to unattended-upgrades origins list. + ansible.builtin.set_fact: + _apt_unattended_upgrades_default_origins: "{{ _apt_unattended_upgrades_default_origins + [nodejs.apt_origin_nodejs_v10, nodejs.apt_origin_yarn] }}" + when: + - apt_unattended_upgrades.enable is defined + - apt_unattended_upgrades.enable + - nodejs.version == '10.x' - name: Install the unattended-upgrades config. ansible.builtin.include_role: From 99d34240a53845ad370d44e18d5356129f2ab10e Mon Sep 17 00:00:00 2001 From: Drazen Date: Tue, 21 Jan 2025 14:47:22 +0100 Subject: [PATCH 7/9] Polishing-nodejs-setup --- roles/debian/nodejs/defaults/main.yml | 2 +- roles/debian/nodejs/tasks/main.yml | 36 +++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/roles/debian/nodejs/defaults/main.yml b/roles/debian/nodejs/defaults/main.yml index 82c19edd3..a5abfea38 100644 --- a/roles/debian/nodejs/defaults/main.yml +++ b/roles/debian/nodejs/defaults/main.yml @@ -2,7 +2,7 @@ nodejs: # Used by apt_unattended_upgrades apt_origin_nodejs: "origin=. nodistro,codename=nodistro,label=. nodistro" # nodejs repo - apt_origin_nodejs_v10: "origin=Node Source,codename=${distro_codename},label=Node Source" # nodejs repo + apt_origin_nodejs_old: "origin=Node Source,codename=${distro_codename},label=Node Source" # nodejs repo apt_signed_by_nodejs: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key apt_origin_yarn: "origin=yarn,codename=stable,label=yarn-stable" # yarn repo apt_signed_by_yarn: https://dl.yarnpkg.com/debian/pubkey.gpg diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index f875636bd..41fe87891 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -2,7 +2,7 @@ ansible.builtin.include_role: name: debian/apt_repository vars: - nodejs_10_config: + nodejs_old_config: legacy_repo: "deb https://deb.nodesource.com/node_{{ nodejs.version }} {{ ansible_distribution_release }} main" format: deb822 name: nodejs @@ -33,7 +33,33 @@ state: present enabled: true key_refresh_timer_OnCalendar: "Mon *-*-* 00:15:00" - apt_repository: "{{ nodejs_10_config if nodejs.version == '10.x' else nodejs_default_config }}" + apt_repository: "{{ nodejs_old_config if nodejs.version | version('<', '16.x') else nodejs_default_config }}" + +- name: Get current Nodejs version + ansible.builtin.command: node -v + register: current_nodejs_version + failed_when: false + changed_when: false + +- name: Extract the major version of the current Nodejs version so we can compare & condition properly + ansible.builtin.set_fact: + current_major_version: "{{ current_nodejs_version.stdout | regex_replace('v([0-9]+).*', '\\1') }}" + +- name: Remove Nodejs if it differs from current nodejs.version + ansible.builtin.apt: + name: nodejs + state: absent + when: + - nodejs.version is defined + - (nodejs.version | regex_replace('\\.x$', '')) != current_major_version + +- name: Install the specified Nodejs version if nodejs.version is defined and different from current version + ansible.builtin.apt: + name: "nodejs={{ nodejs.version }}" + state: present + when: + - nodejs.version is defined + - (nodejs.version | regex_replace('\\.x$', '')) != current_major_version - name: Add Yarn repository and key. ansible.builtin.include_role: @@ -70,15 +96,15 @@ when: - apt_unattended_upgrades.enable is defined - apt_unattended_upgrades.enable - - nodejs.version != '10.x' + - (nodejs.version | regex_replace('\\.x$', '')) | int >= 16 - name: Add nodejs and yarn repositories to unattended-upgrades origins list. ansible.builtin.set_fact: - _apt_unattended_upgrades_default_origins: "{{ _apt_unattended_upgrades_default_origins + [nodejs.apt_origin_nodejs_v10, nodejs.apt_origin_yarn] }}" + _apt_unattended_upgrades_default_origins: "{{ _apt_unattended_upgrades_default_origins + [nodejs.apt_origin_nodejs_old, nodejs.apt_origin_yarn] }}" when: - apt_unattended_upgrades.enable is defined - apt_unattended_upgrades.enable - - nodejs.version == '10.x' + - (nodejs.version | regex_replace('\\.x$', '')) | int < 16 - name: Install the unattended-upgrades config. ansible.builtin.include_role: From b9da4a0fb96af06f78db8f99755b0b535e6c2165 Mon Sep 17 00:00:00 2001 From: Drazen Date: Tue, 21 Jan 2025 14:56:21 +0100 Subject: [PATCH 8/9] Fixing-linting --- roles/debian/nodejs/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index 41fe87891..83c7cade2 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -33,7 +33,7 @@ state: present enabled: true key_refresh_timer_OnCalendar: "Mon *-*-* 00:15:00" - apt_repository: "{{ nodejs_old_config if nodejs.version | version('<', '16.x') else nodejs_default_config }}" + apt_repository: "{{ nodejs_old_config if (nodejs.version | regex_replace('\\.x$', '') | int) < 16 else nodejs_default_config }}" - name: Get current Nodejs version ansible.builtin.command: node -v From f59986754411821b8cab3b80874ec2a30ddfa36c Mon Sep 17 00:00:00 2001 From: Drazen Date: Tue, 21 Jan 2025 15:04:04 +0100 Subject: [PATCH 9/9] Updating-nodejs-install-task --- roles/debian/nodejs/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index 83c7cade2..185bcb6e3 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -55,7 +55,7 @@ - name: Install the specified Nodejs version if nodejs.version is defined and different from current version ansible.builtin.apt: - name: "nodejs={{ nodejs.version }}" + name: "nodejs" state: present when: - nodejs.version is defined