diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index e9768ea..641772e 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -1,5 +1,5 @@ butter_language: en -butter_name: butterbox +butter_name: butter-box go_version: "1.24.6" go_arch_map: x86_64: "amd64" diff --git a/ansible/install-chat.yml b/ansible/install-chat.yml index 4e887a8..0440297 100644 --- a/ansible/install-chat.yml +++ b/ansible/install-chat.yml @@ -14,32 +14,64 @@ update_cache: yes when: not ( is_vmdb2 | bool ) - - name: Create dendrite directories - file: - path: "/home/{{ butter_user }}/dendrite/bin" - state: directory + # install Go +# # - name: Download Go tarball +# get_url: +# url: "https://go.dev/dl/go{{ go_version }}.linux-{{ go_arch_map[ansible_architecture] }}.tar.gz" +# dest: /tmp/go.tar.gz +# mode: '0644' +# +# - name: Extract Go to /usr/local +# unarchive: +# src: /tmp/go.tar.gz +# dest: /usr/local +# remote_src: yes +# creates: /usr/local/go +# +# - name: Ensure Go path is in .profile +# lineinfile: +# path: "/home/{{ butter_user }}/.profile" +# line: 'PATH=$PATH:/usr/local/go/bin' +# insertafter: EOF +# state: present +# create: yes +# +# - name: Remove existing dendrite directory if it exists +# file: +# path: "/home/{{ butter_user }}/dendrite" +# state: absent +# +# - name: Clone dendrite repo +# git: +# repo: https://github.com/matrix-org/dendrite +# dest: "/home/{{ butter_user }}/dendrite" +# version: v0.13.7 +# force: yes +# update: no +# depth: 1 +# +# - name: Build dendrite +# command: /usr/local/go/bin/go build -o bin/ ./cmd/... +# args: +# chdir: "/home/{{ butter_user }}/dendrite" +# +# + + - name: copy Dendrite dir to target + copy: + src: "dendrite/" + dest: "/home/{{ butter_user }}/dendrite" owner: "{{ butter_user }}" group: "{{ butter_user }}" - mode: "0755" - - - name: Download pre-built dendrite archive - get_url: - url: "https://guardianproject.dev/api/packages/butter/generic/dendrite/latest/dendrite-{{ go_arch_map[ansible_architecture] }}.tar.gz" - dest: /tmp - mode: '0644' - - - name: Untar dendrite - unarchive: - src: "/tmp/dendrite-{{ go_arch_map[ansible_architecture] }}.tar.gz" - dest: "/home/{{ butter_user }}/dendrite/bin" - remote_src: yes - extra_opts: [--strip-components=2] - name: Ensure butter_user owns Dendrite directory file: path: "/home/{{ butter_user }}/dendrite" state: directory recurse: yes + owner: "{{ butter_user }}" + group: "{{ butter_user }}" + mode: "0755" - name: Generate Matrix signing key command: ./bin/generate-keys --private-key matrix_key.pem @@ -168,11 +200,11 @@ - name: Copy public room script template: src: templates/create_public_room.sh.j2 - dest: "/home/{{ butter_user }}/create_public_room.sh" + dest: /home/pi/create_public_room.sh mode: '0755' - name: Run the create_public_room.sh script - command: "/home/{{ butter_user }}/create_public_room.sh" + command: /home/pi/create_public_room.sh register: room_creation ignore_errors: false diff --git a/vmdb2-recipes/amd64_trixie.yaml b/vmdb2-recipes/amd64_trixie.yaml deleted file mode 100644 index d5e15ac..0000000 --- a/vmdb2-recipes/amd64_trixie.yaml +++ /dev/null @@ -1,179 +0,0 @@ ---- -# See https://wiki.debian.org/RaspberryPi3 for known issues and more details. -# image.yml based on revision: ff7fdbf (Switch from qemu-debootstrap to debootstrap., 2024-01-01) - -steps: - - mkimg: "{{ output }}" - size: 3100M - - - mklabel: gpt - device: "{{ output }}" - -############ efi - - mkpart: primary - fs-type: 'fat32' - device: "{{ output }}" - start: 1MiB - end: 132MiB - tag: efi - - - set_part_flag: "{{ output }}" - tag: efi - flag: boot - state: enabled - - - set_part_flag: "{{ output }}" - tag: efi - flag: esp - state: enabled - -############ bios grub - - mkpart: primary - device: "{{ output }}" - start: 132MiB - end: 133MiB - tag: bios_grub - - - set_part_flag: "{{ output }}" - tag: bios_grub - flag: bios_grub - state: enabled -############ live - - mkpart: primary - device: "{{ output }}" - start: 133MiB - end: 100% - tag: tag-root - - - set_part_flag: "{{ output }}" - tag: tag-root - flag: legacy_boot - state: enabled - - - kpartx: "{{ output }}" - - - mkfs: vfat - partition: efi - label: EFI - options: -F32 - - - mkfs: ext4 - partition: tag-root - label: boot - - - mount: tag-root - - - shell: | - dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr/gptmbr.bin of="{{ output }}" - root-fs: tag-root - - - unpack-rootfs: tag-root - - - debootstrap: trixie - require_empty_target: false - mirror: http://deb.debian.org/debian - target: tag-root - components: - - main - - non-free-firmware - - non-free - unless: rootfs_unpacked - - - create-file: /etc/apt/sources.list - contents: |+ - deb http://deb.debian.org/debian trixie main non-free-firmware non-free - deb http://deb.debian.org/debian trixie-updates main non-free-firmware non-free - deb http://security.debian.org/debian-security trixie-security main non-free-firmware non-free - - unless: rootfs_unpacked - - - apt: install - packages: - - avahi-daemon - - curl - - udisks2 - - wget - - dhcpcd - - python3 - - lighttpd - - unzip - - sudo - - systemd-timesyncd - - ca-certificates - - dosfstools - - iw - - parted - - ssh - - wpasupplicant - - systemd - - systemd-sysv - - init-system-helpers - - syslinux - - linux-image-amd64 - tag: tag-root - unless: rootfs_unpacked - - - cache-rootfs: tag-root - unless: rootfs_unpacked - - - shell: | - echo "butterbox" > "${ROOT?}/etc/hostname" - - # Allow root logins locally with no password - sed -i 's,root:[^:]*:,root::,' "${ROOT?}/etc/shadow" - - install -m 644 -o root -g root image-specs/rootfs/etc/fstab "${ROOT?}/etc/fstab" - - install -m 644 -o root -g root image-specs/rootfs/etc/network/interfaces.d/eth0 "${ROOT?}/etc/network/interfaces.d/eth0" - install -m 600 -o root -g root image-specs/rootfs/etc/network/interfaces.d/wlan0 "${ROOT?}/etc/network/interfaces.d/wlan0" - root-fs: tag-root - - # Clean up archive cache (likely not useful) and lists (likely outdated) to - # reduce image size by several hundred megabytes. - - chroot: tag-root - shell: | - apt-get clean - rm -rf /var/lib/apt/lists - - - grub: bios - tag: tag-root - console: serial -# - - grub: uefi - tag: tag-root - efi: efi - console: serial - - - shell: | - rm "${ROOT?}/etc/resolv.conf" - root-fs: tag-root - - # Clear /etc/machine-id and /var/lib/dbus/machine-id, as both should - # be auto-generated upon first boot. From the manpage - # (machine-id(5)): - # - # For normal operating system installations, where a custom image is - # created for a specific machine, /etc/machine-id should be - # populated during installation. - # - # Note this will also trigger ConditionFirstBoot=yes for systemd. - # On Buster, /etc/machine-id should be an emtpy file, not an absent file - # On Bullseye, /etc/machine-id should not exist in an image - - chroot: tag-root - shell: | - rm -f /etc/machine-id /var/lib/dbus/machine-id - echo "uninitialized" > /etc/machine-id - echo "LABEL=BOOT / ext4 rw 0 1" > /etc/fstab - - - - virtual-filesystems: tag-root - - - ansible: tag-root - playbook: ../ansible/main.yml - config_file: ../ansible/ansible.cfg - extra_vars: - butter_language: en - butter_name: butterbox - tags: base,usb,matrix,keanu,website - butter_user: "amd" - ap_mode_supported: "false"