github.com/MetalBlockchain/metalgo@v1.11.9/.github/packer/roles/public-ami/tasks/main.yml (about) 1 - name: Setup gpg key 2 apt_key: 3 url: https://downloads.avax.network/avalanchego.gpg.key 4 state: present 5 6 - name: Setup metalgo repo 7 apt_repository: 8 repo: deb https://downloads.avax.network/apt jammy main 9 state: present 10 11 - name: Setup golang repo 12 apt_repository: 13 repo: ppa:longsleep/golang-backports 14 state: present 15 16 - name: Install go 17 apt: 18 name: golang 19 state: latest 20 21 - name: Update git clone 22 git: 23 repo: "{{ repo_url }}" 24 dest: "{{ repo_folder }}" 25 version: "{{ tag }}" 26 update: yes 27 force: yes 28 29 - name: Setup systemd 30 template: 31 src: templates/metalgo.service.j2 32 dest: /etc/systemd/system/metalgo.service 33 mode: 0755 34 35 - name: Create metal user 36 user: 37 name: "{{ ava_user }}" 38 shell: /bin/bash 39 uid: "{{ ava_uid }}" 40 group: "{{ ava_group }}" 41 42 - name: Create metal config dir 43 file: 44 path: /etc/metalgo 45 owner: "{{ ava_user }}" 46 group: "{{ ava_group }}" 47 state: directory 48 49 - name: Create metal log dir 50 file: 51 path: "{{ log_dir }}" 52 owner: "{{ ava_user }}" 53 group: "{{ ava_group }}" 54 state: directory 55 56 - name: Create metal database dir 57 file: 58 path: "{{ db_dir }}" 59 owner: "{{ ava_user }}" 60 group: "{{ ava_group }}" 61 state: directory 62 63 - name: Build metalgo 64 command: ./scripts/build.sh 65 args: 66 chdir: "{{ repo_folder }}" 67 68 - name: Copy metalgo binaries to the correct location 69 command: cp build/metalgo /usr/local/bin/metalgo 70 args: 71 chdir: "{{ repo_folder }}" 72 73 - name: Configure metal 74 template: 75 src: templates/conf.json.j2 76 dest: /etc/metalgo/conf.json 77 mode: 0644 78 79 - name: Enable Metal 80 systemd: 81 name: metalgo 82 enabled: yes