From a1ab3327ee7b2a53589c45927067e075b752bb1b Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 24 Dec 2023 00:56:25 -0500 Subject: [PATCH] Add wasm role. --- ansible/playbook.yaml | 1 + ansible/roles/rust/tasks/peruser_linux.yaml | 9 ++- ansible/roles/wasm/tasks/common.yaml | 55 +++++++++++++++++++ ansible/roles/wasm/tasks/freebsd.yaml | 5 ++ ansible/roles/wasm/tasks/linux.yaml | 7 +++ ansible/roles/wasm/tasks/main.yaml | 2 + ansible/roles/wasm/tasks/peruser.yaml | 29 ++++++++++ ansible/roles/wasm/tasks/peruser_freebsd.yaml | 0 ansible/roles/wasm/tasks/peruser_linux.yaml | 0 9 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 ansible/roles/wasm/tasks/common.yaml create mode 100644 ansible/roles/wasm/tasks/freebsd.yaml create mode 100644 ansible/roles/wasm/tasks/linux.yaml create mode 100644 ansible/roles/wasm/tasks/main.yaml create mode 100644 ansible/roles/wasm/tasks/peruser.yaml create mode 100644 ansible/roles/wasm/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/wasm/tasks/peruser_linux.yaml diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index 690048f..6bab72f 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -53,6 +53,7 @@ - launch_keyboard - lvfs - restaurant_health_rating + - wasm - hosts: nat_dhcp:homeserver_nat_dhcp:mrmanager_nat_dhcp vars: diff --git a/ansible/roles/rust/tasks/peruser_linux.yaml b/ansible/roles/rust/tasks/peruser_linux.yaml index 77cd5c0..6ae06a3 100644 --- a/ansible/roles/rust/tasks/peruser_linux.yaml +++ b/ansible/roles/rust/tasks/peruser_linux.yaml @@ -3,10 +3,13 @@ args: creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu" -- name: Install the musl target - command: rustup target add x86_64-unknown-linux-musl +- name: Install targets + command: rustup target add "{{ item }}" args: - creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl" + creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/{{ item }}" + loop: + - x86_64-unknown-linux-musl + - wasm32-unknown-unknown # Needed by rust-analyzer (rust-analyzer will attempt to install via rustup on its own, but this will install it manually). - name: Install the nightly rust-src diff --git a/ansible/roles/wasm/tasks/common.yaml b/ansible/roles/wasm/tasks/common.yaml new file mode 100644 index 0000000..bef243a --- /dev/null +++ b/ansible/roles/wasm/tasks/common.yaml @@ -0,0 +1,55 @@ +# - name: Create directories +# file: +# name: "{{ item }}" +# state: directory +# mode: 0755 +# owner: root +# group: wheel +# loop: +# - /foo/bar + +# - name: Install scripts +# copy: +# src: "files/{{ item.src }}" +# dest: "{{ item.dest }}" +# mode: 0755 +# owner: root +# group: wheel +# loop: +# - src: foo.bash +# dest: /usr/local/bin/foo + +# - name: Install Configuration +# copy: +# src: "files/{{ item.src }}" +# dest: "{{ item.dest }}" +# mode: 0600 +# owner: root +# group: wheel +# loop: +# - src: foo.conf +# dest: /usr/local/etc/foo.conf + +# - name: Clone Source +# git: +# repo: "https://foo.bar/baz.git" +# dest: /foo/bar +# version: "v1.0.2" +# force: true +# diff: false + +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + when: users is defined + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user diff --git a/ansible/roles/wasm/tasks/freebsd.yaml b/ansible/roles/wasm/tasks/freebsd.yaml new file mode 100644 index 0000000..b417174 --- /dev/null +++ b/ansible/roles/wasm/tasks/freebsd.yaml @@ -0,0 +1,5 @@ +# - name: Install packages +# package: +# name: +# - foo +# state: present diff --git a/ansible/roles/wasm/tasks/linux.yaml b/ansible/roles/wasm/tasks/linux.yaml new file mode 100644 index 0000000..42213ba --- /dev/null +++ b/ansible/roles/wasm/tasks/linux.yaml @@ -0,0 +1,7 @@ +- name: Install packages + package: + name: + - wabt + - wasm-bindgen + - binaryen # for wasm-opt + state: present diff --git a/ansible/roles/wasm/tasks/main.yaml b/ansible/roles/wasm/tasks/main.yaml new file mode 100644 index 0000000..6805b9d --- /dev/null +++ b/ansible/roles/wasm/tasks/main.yaml @@ -0,0 +1,2 @@ +- import_tasks: tasks/common.yaml + # when: foo is defined diff --git a/ansible/roles/wasm/tasks/peruser.yaml b/ansible/roles/wasm/tasks/peruser.yaml new file mode 100644 index 0000000..111e886 --- /dev/null +++ b/ansible/roles/wasm/tasks/peruser.yaml @@ -0,0 +1,29 @@ +- include_role: + name: per_user + +# - name: Create directories +# file: +# name: "{{ account_homedir.stdout }}/{{ item }}" +# state: directory +# mode: 0700 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - ".config/foo" + +# - name: Copy files +# copy: +# src: "files/{{ item.src }}" +# dest: "{{ account_homedir.stdout }}/{{ item.dest }}" +# mode: 0600 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - src: foo.conf +# dest: .config/foo/foo.conf + +- import_tasks: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/wasm/tasks/peruser_freebsd.yaml b/ansible/roles/wasm/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/wasm/tasks/peruser_linux.yaml b/ansible/roles/wasm/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29