diff --git a/roles/debian/ansible/tasks/main.yml b/roles/debian/ansible/tasks/main.yml index f876b55cb..57af8cbf0 100644 --- a/roles/debian/ansible/tasks/main.yml +++ b/roles/debian/ansible/tasks/main.yml @@ -77,6 +77,7 @@ ansible.builtin.copy: content: "export PATH=$PATH:{{ ce_ansible.venv_path | default(_venv_path) }}/bin" dest: "/etc/profile.d/ansible-path.sh" + mode: '0644' - name: Install systemd timer. when: diff --git a/roles/debian/nodejs/defaults/main.yml b/roles/debian/nodejs/defaults/main.yml index a5abfea38..f53b7afd0 100644 --- a/roles/debian/nodejs/defaults/main.yml +++ b/roles/debian/nodejs/defaults/main.yml @@ -6,7 +6,8 @@ nodejs: 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 - version: 18.x # LTS - see https://nodejs.dev/en/about/releases/ + version: 22.x # LTS - see https://nodejs.dev/en/about/releases/ + start_corepack: false npm_packages: [] #npm_packages: # - name: coffee-script # required diff --git a/roles/debian/nodejs/files/node-corepack-start.service b/roles/debian/nodejs/files/node-corepack-start.service new file mode 100644 index 000000000..833a1ebb9 --- /dev/null +++ b/roles/debian/nodejs/files/node-corepack-start.service @@ -0,0 +1,11 @@ +[Unit] +Description=Enable node corepack on boot. +After=network.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/corepack enable +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/roles/debian/nodejs/tasks/main.yml b/roles/debian/nodejs/tasks/main.yml index 185bcb6e3..03eb7af75 100644 --- a/roles/debian/nodejs/tasks/main.yml +++ b/roles/debian/nodejs/tasks/main.yml @@ -137,3 +137,19 @@ when: - nodejs.npm_packages | length > 0 - item.path is defined + +- name: Start corepack on boot. + when: nodejs.start_corepack + block: + - name: Place service definition file for node corepack. + ansible.builtin.copy: + src: node-corepack-start.service + dest: /etc/systemd/system/node-corepack-start.service + + - name: Enable the corepack service. + ansible.builtin.systemd: + name: node-corepack-start.service + state: restarted + enabled: true + masked: false + daemon_reload: true