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