diff --git a/roles/init-server/tasks/contingent/pkg/julia.yml b/roles/init-server/tasks/contingent/pkg/julia.yml index bebb4aa..c9faecd 100644 --- a/roles/init-server/tasks/contingent/pkg/julia.yml +++ b/roles/init-server/tasks/contingent/pkg/julia.yml @@ -27,6 +27,6 @@ - julia - julialauncher - juliaup -- name: Reboot machine for shell environment change - ansible.builtin.reboot: - msg: Rebooting machine \ No newline at end of file +# - name: Reboot machine for shell environment change +# ansible.builtin.reboot: +# msg: Rebooting machine \ No newline at end of file diff --git a/roles/init-server/tasks/contingent/pkg/nvm.yml b/roles/init-server/tasks/contingent/pkg/nvm.yml index ad8d869..21b03a6 100644 --- a/roles/init-server/tasks/contingent/pkg/nvm.yml +++ b/roles/init-server/tasks/contingent/pkg/nvm.yml @@ -89,7 +89,7 @@ group: root state: link loop: "{{ prebuilt_nodepaths | product(['node']) }}" -- name: Reboot machine for shell environment change - ansible.builtin.reboot: - msg: Rebooting machine +# - name: Reboot machine for shell environment change +# ansible.builtin.reboot: +# msg: Rebooting machine diff --git a/roles/init-server/tasks/contingent/pkg/radicle.yml b/roles/init-server/tasks/contingent/pkg/radicle.yml index cb6bf9b..7351e06 100644 --- a/roles/init-server/tasks/contingent/pkg/radicle.yml +++ b/roles/init-server/tasks/contingent/pkg/radicle.yml @@ -46,6 +46,6 @@ - git-remote-rad - rad-id - rad-patch -- name: Reboot machine for shell environment change - ansible.builtin.reboot: - msg: Rebooting machine \ No newline at end of file +# - name: Reboot machine for shell environment change +# ansible.builtin.reboot: +# msg: Rebooting machine \ No newline at end of file diff --git a/roles/init-server/tasks/contingent/pkg/rustup.yml b/roles/init-server/tasks/contingent/pkg/rustup.yml index c78c1cc..606684a 100644 --- a/roles/init-server/tasks/contingent/pkg/rustup.yml +++ b/roles/init-server/tasks/contingent/pkg/rustup.yml @@ -23,6 +23,6 @@ state: link loop: - rustup -- name: Reboot machine for shell environment change - ansible.builtin.reboot: - msg: Rebooting machine \ No newline at end of file +# - name: Reboot machine for shell environment change +# ansible.builtin.reboot: +# msg: Rebooting machine \ No newline at end of file diff --git a/roles/init-server/tasks/contingent/pkg/uv.yml b/roles/init-server/tasks/contingent/pkg/uv.yml index 8c72c82..c11b8ad 100644 --- a/roles/init-server/tasks/contingent/pkg/uv.yml +++ b/roles/init-server/tasks/contingent/pkg/uv.yml @@ -24,6 +24,6 @@ loop: - uv - uvx -- name: Reboot machine for shell environment change - ansible.builtin.reboot: - msg: Rebooting machine \ No newline at end of file +# - name: Reboot machine for shell environment change +# ansible.builtin.reboot: +# msg: Rebooting machine \ No newline at end of file diff --git a/roles/init-server/tasks/core@install-pkgs.yml b/roles/init-server/tasks/core@install-pkgs.yml index b12f880..21a8582 100644 --- a/roles/init-server/tasks/core@install-pkgs.yml +++ b/roles/init-server/tasks/core@install-pkgs.yml @@ -45,9 +45,55 @@ when: ansible_facts["os_family"] == "Debian" become: true block: + - name: Creating core OS repository sources for package manager + when: ansible_facts["os_family"] == "Debian" + ansible.builtin.deb822_repository: + name: "{{ item.name }}" + uris: "{{ item.sources }}" + types: "{{ item.types }}" + suites: "{{ item.suites }}" + components: "{{ item.comps }}" + signed_by: "{{ item.sigkey }}" + state: present + loop: + - name: debian-trixie + sources: "http://deb.debian.org/debian/" + sigkey: /usr/share/keyrings/debian-archive-keyring.gpg + types: + - deb-src + - deb + suites: + - trixie + - trixie-updates + comps: + - main + - non-free-firmware + - contrib + - name: debian-trixie-security + sources: "http://security.debian.org/debian-security" + sigkey: /usr/share/keyrings/debian-archive-keyring.gpg + types: + - deb-src + - deb + suites: trixie-security + comps: + - main + - non-free-firmware + - contrib + - name: Remove previous core OS repository sources for package manager + ansible.builtin.file: + path: /etc/apt/sources.list + state: absent + # @TODO uncomment below before continuing with testing previous task + # - name: Premature end of play + # ansible.builtin.meta: end_play - name: Updating package cache ansible.builtin.apt: update_cache: true + - name: Updating package cache + ansible.builtin.apt: + upgrade: dist + autoremove: true - name: Registering a package source when: item.sources != None ansible.builtin.deb822_repository: @@ -59,24 +105,22 @@ signed_by: "{{ item.sigkey }}" state: present loop: "{{ ((pkgs.mngr.core | default([]))) }}" + - name: Updating package cache + ansible.builtin.apt: + update_cache: true - name: Installing a local package in managed node when: item.uri != None ansible.builtin.apt: deb: "{{ item.uri }}" state: present - # @TODO add a default value for notify - # notify: "{{ item.name }}" + notify: "{{ item.handler | default('default') }}" loop: "{{ (pkgs.mngr.core | default([])) | selectattr('uri', 'search', '\\.deb$') }}" - - name: Updating package cache - ansible.builtin.apt: - update_cache: true - name: Installing a package when: item.name != None and item.uri == None ansible.builtin.package: name: "{{ item.name }}" - state: latest - # @TODO add a default value for notify - # notify: "{{ item.name }}" + state: present + notify: "{{ item.handler | default('default') }}" loop: "{{ ((pkgs.mngr.core | default([]))) | rejectattr('uri', 'search', '\\.deb$') }}" tags: - get_mngr_pkgs @@ -94,12 +138,15 @@ group: "{{ ansible_user }}" force: true mode: "744" - # @TODO add a default value for notify - notify: "{{ ((pkgs.script.core | default([])))[idx].name }}" + notify: "{{ ((pkgs.script.core | default([])))[idx].handler | default('default') }}" loop: "{{ (pkgs.script.core | default([])) }}" loop_control: index_var: idx register: install_scripts + - name: Reboot machine for shell environment change + become: true + ansible.builtin.reboot: + msg: Rebooting machine tags: - get_script_pkgs - name: Installing software by building it from source archives @@ -131,16 +178,21 @@ loop_control: index_var: idx - name: Unarchiving software build archive + become: true + become_user: "{{ current_user.stdout }}" when: item.dest != None and (((pkgs.script.core | default([]))) | length) > 0 ansible.builtin.unarchive: src: "{{ item.dest }}" remote_src: true dest: "{{ ansible_user_home.stdout }}/downloads/archives/released/{{ ((pkgs.archive.core | default([])))[idx].name }}/" - # @TODO add a default value for notify - notify: "{{ ((pkgs.archive.core | default([])))[idx].name }}" + notify: "{{ ((pkgs.archive.core | default([])))[idx].handler | default('default') }}" loop: "{{ archived_builds.results }}" loop_control: index_var: idx + - name: Reboot machine for shell environment change + become: true + ansible.builtin.reboot: + msg: Rebooting machine tags: - get_archive_pkgs - name: Installing software from source git repositories @@ -155,9 +207,12 @@ version: "{{ item.branch }}" clone: true single_branch: true - # @TODO add a default value for notify - notify: "{{ item.name }}" + notify: "{{ item.handler | default('default') }}" loop: "{{ (pkgs.git_repos.core | default([])) }}" register: installation_repos + - name: Reboot machine for shell environment change + become: true + ansible.builtin.reboot: + msg: Rebooting machine tags: - get_git_pkgs diff --git a/roles/init-server/tasks/userspace@install-pkgs.yml b/roles/init-server/tasks/userspace@install-pkgs.yml index b4b9398..a823354 100644 --- a/roles/init-server/tasks/userspace@install-pkgs.yml +++ b/roles/init-server/tasks/userspace@install-pkgs.yml @@ -46,9 +46,55 @@ when: ansible_facts["os_family"] == "Debian" become: true block: + - name: Creating core OS repository sources for package manager + when: ansible_facts["os_family"] == "Debian" + ansible.builtin.deb822_repository: + name: "{{ item.name }}" + uris: "{{ item.sources }}" + types: "{{ item.types }}" + suites: "{{ item.suites }}" + components: "{{ item.comps }}" + signed_by: "{{ item.sigkey }}" + state: present + loop: + - name: debian-trixie + sources: "http://deb.debian.org/debian/" + sigkey: /usr/share/keyrings/debian-archive-keyring.gpg + types: + - deb-src + - deb + suites: + - trixie + - trixie-updates + comps: + - main + - non-free-firmware + - contrib + - name: debian-trixie-security + sources: "http://security.debian.org/debian-security" + sigkey: /usr/share/keyrings/debian-archive-keyring.gpg + types: + - deb-src + - deb + suites: trixie-security + comps: + - main + - non-free-firmware + - contrib + - name: Remove previous core OS repository sources for package manager + ansible.builtin.file: + path: /etc/apt/sources.list + state: absent + # @TODO uncomment below before continuing with testing previous task + # - name: Premature end of play + # ansible.builtin.meta: end_play - name: Updating package cache ansible.builtin.apt: update_cache: true + - name: Updating package cache + ansible.builtin.apt: + upgrade: dist + autoremove: true - name: Registering a package source when: item.sources != None ansible.builtin.deb822_repository: @@ -60,32 +106,30 @@ signed_by: "{{ item.sigkey }}" state: present loop: "{{ (pkgs.mngr.userspace | default([])) }}" + - name: Updating package cache + ansible.builtin.apt: + update_cache: true - name: Installing a local package in managed node when: item.uri != None ansible.builtin.apt: deb: "{{ item.uri }}" state: present - # @TODO add a default value for notify - # notify: "{{ item.name }}" + notify: "{{ item.handler | default('default') }}" loop: "{{ (pkgs.mngr.userspace | default([])) | selectattr('uri', 'search', '\\.deb$') }}" - - name: Updating package cache - ansible.builtin.apt: - update_cache: true - name: Installing a package when: item.name != None and item.uri == None ansible.builtin.package: name: "{{ item.name }}" state: latest - # @TODO add a default value for notify - # notify: "{{ item.name }}" # @TODO create corresponding roles/init-vps handlers + notify: "{{ item.handler | default('default') }}" # @TODO create corresponding roles/init-vps handlers loop: "{{ (pkgs.mngr.userspace | default([])) | rejectattr('uri', 'search', '\\.deb$') }}" tags: - get_mngr_pkgs - name: Installing software by executing installation shell scripts become: true - become_user: "{{ current_user.stdout }}" block: - name: Acquiring installation shell script + become_user: "{{ current_user.stdout }}" when: item.src != None and ((pkgs.script.userspace | default([])) | length) > 0 ansible.builtin.uri: url: "{{ item.src }}" @@ -95,12 +139,14 @@ group: "{{ ansible_user }}" force: true mode: "744" - # @TODO add a default value for notify - notify: "{{ (pkgs.script.userspace | default([]))[idx].name }}" + notify: "{{ (pkgs.script.userspace | default([]))[idx].handler | default('default') }}" loop: "{{ (pkgs.script.userspace | default([])) }}" loop_control: index_var: idx register: install_scripts + - name: Reboot machine for shell environment change + ansible.builtin.reboot: + msg: Rebooting machine tags: - get_script_pkgs - name: Installing software by building it from source archives @@ -139,37 +185,35 @@ dest: "{{ ansible_user_home.stdout }}/downloads/archives/released/{{ (pkgs.archive.userspace | default([]))[idx].name }}/" owner: "{{ ansible_user }}" group: "{{ ansible_user }}" - # @TODO add a default value for notify - notify: "{{ (pkgs.archive.userspace | default([]))[idx].name }}" + notify: "{{ (pkgs.archive.userspace | default([]))[idx].handler | default('default') }}" loop: "{{ archived_builds.results }}" loop_control: index_var: idx + - name: Reboot machine for shell environment change + become: true + ansible.builtin.reboot: + msg: Rebooting machine tags: - get_archive_pkgs - name: Installing software from source git repositories block: - name: Clone git bare repository - when: item.src != None become: true become_user: "{{ current_user.stdout }}" + when: item.src != None ansible.builtin.git: repo: "{{ item.src }}" dest: "{{ ansible_user_home.stdout }}/repos/.foreign/{{ item.name }}" version: "{{ item.branch }}" clone: true single_branch: true + notify: "{{ item.handler | default('default') }}" loop: "{{ (pkgs.git_repos.userspace | default([])) }}" register: installation_repos - # - name: Changing ownership of specific repo subdirectory - # become: true - # become_user: "{{ current_user.stdout }}" - # ansible.builtin.file: - # path: "{{ ansible_user_home.stdout }}/repos/.foreign/{{ item.name }}" - # recurse: true - # owner: "{{ ansible_user }}" - # group: "{{ ansible_user }}" - # notify: "{{ item.name }}" - # loop: "{{ (pkgs.git_repos.userspace | default([])) }}" + - name: Reboot machine for shell environment change + become: true + ansible.builtin.reboot: + msg: Rebooting machine tags: - get_git_pkgs # @TODO add a reboot either here or in any of the handlers potentially notified from here in