Commit 5da2895

bryfry <bryon.fryer@gmail.com>
2022-01-24 13:10:48
add aarch64 support
1 parent 8ce3ebd
Changed files (6)
roles
alias
mirror-mirror
traefik
roles/alias/tasks/main.yml
@@ -0,0 +1,50 @@
+---
+ - name: optional software directories
+   file:
+     path: "{{ item.path }}"
+     state: directory
+     owner: "{{ item.owner }}"
+     group: "{{ item.group }}"
+     mode: '0755'
+   become: True
+   loop: 
+     - path: /opt/
+       owner: ubuntu
+       group: ubuntu
+     - path: /opt/alias/
+       owner: nobody 
+       group: nogroup
+
+ - name: download software binaries
+   get_url:
+     url:  "{{ item.url }}"
+     dest: "{{ item.dest }}"
+     mode: "{{ item.mode }}"
+     owner: nobody
+     group: nogroup
+   loop:
+    - url: "https://gitlab.com/tuesdays/alias/uploads/937a6fd2f8ac684087f380b223f59d8e/alias-v0.2-arm64"
+      dest: /opt/alias/alias
+      mode: '0755'
+   become: True
+
+ - name: deploy traefik dynamic config
+   template:
+     src: "{{ role_path }}/templates/alias.yaml.j2"
+     dest: "{{ traefik.dirs.dynamic_config }}/alias.yaml"  
+   become: True
+
+ - name: systemd service config
+   template: 
+     src: "{{ role_path }}/templates/alias.service.j2"
+     dest: "{{ systemd_path }}/alias.service"
+   become: True
+   vars:
+     systemd_path: "/etc/systemd/system"
+
+ - name: systemd service start
+   systemd:
+     state: started
+     daemon_reload: True
+     name: alias
+   become: True
roles/alias/templates/alias.service.j2
@@ -0,0 +1,12 @@
+[Unit]
+Description=alias service
+Documentation=https://github.com/tuesdays/alias
+
+[Service]
+ExecStart=/opt/alias/alias --port {{ alias.port }}
+Restart=on-failure
+User=nobody
+RestartSec=5
+
+[Install]
+WantedBy=multi-user.target
roles/alias/templates/alias.yaml.j2
@@ -0,0 +1,15 @@
+---
+http:
+  routers:
+    alias:
+      rule: "Host(`{{ alias.subdomain }}.{{ traefik.domain }}`)"
+      service: "alias"
+      entryPoints:
+       - "websecure"
+      tls:
+        certResolver: "{{ traefik.acme_http_resolver }}"
+  services:
+    alias:
+      loadBalancer:
+        servers:
+         - url: "http://{{ alias.address }}:{{ alias.port }}"
roles/mirror-mirror/tasks/main.yml
@@ -23,7 +23,7 @@
      owner: nobody
      group: nogroup
    loop:
-    - url: https://github.com/ajpatri/mirror-mirror/releases/download/v0.1/mirror-mirror-v0.1-linux-amd64
+    - url: "https://github.com/ajpatri/mirror-mirror/releases/download/v0.1/mirror-mirror-v0.1-linux-{{ mm.arch }}"
       dest: /opt/mirror-mirror/mirror-mirror
       mode: '0755'
    become: True
roles/traefik/tasks/main.yml
@@ -1,8 +1,8 @@
 ---
  - name: fetch release
    get_url:
-     url: "https://github.com/containous/traefik/releases/download/v{{ traefik.version }}/traefik_v{{ traefik.version }}_linux_amd64.tar.gz"
-     dest: "/tmp/traefik_v{{ traefik.version }}_linux_amd64.tar.gz"
+     url: "https://github.com/containous/traefik/releases/download/v{{ traefik.version }}/traefik_v{{ traefik.version }}_linux_{{ traefik.arch }}.tar.gz"
+     dest: "/tmp/traefik_v{{ traefik.version }}_linux_{{ traefik.arch }}.tar.gz"
      checksum: "{{ traefik.checksum }}"
 
  - name: directories
@@ -15,7 +15,7 @@
 
  - name: extract release
    unarchive:
-     src: "/tmp/traefik_v{{ traefik.version }}_linux_amd64.tar.gz"
+     src: "/tmp/traefik_v{{ traefik.version }}_linux_{{ traefik.arch }}.tar.gz"
      dest: "/opt/traefik/"
      remote_src: True
    become: True
main.yml
@@ -19,33 +19,26 @@
      - elinks
      - wireguard
      - zip
+     - vim
      #- lxc-templates
      #- cloud-utils
 
     apt_keys:
      - keyserver: "keyserver.ubuntu.com"
        id: "C99B11DEB97541F0" 
-     # weechat
-     - keyserver: "keys.openpgp.org"
-       id: "11E9DE8848F2B65222AA75B8D1820DB22A11534E"
 
     apt_ppas:
-     - "ppa:jonathonf/vim"
      - "deb https://cli.github.com/packages focal main"
-     - "deb https://weechat.org/ubuntu focal main"
 
     apt_ppa_pkgs:
-     - vim 
      - gh
-     - weechat
-     - weechat-plugins
-     - weechat-python
 
     traefik:
-      version: 2.2.0
-      checksum: sha256:eddea0507ad715c723662e7c10fdab554eb64379748278cd2d09403063e3e32f  
+      version: 2.5.4
+      checksum: sha256:afbab0f066f4de704895ce5eb8e4e28b269ae8c98f1272b57308ffb746032a46
       acme_http_resolver: "tmc-acme-http"
       domain: "trustme.click"
+      arch: "arm64"
       dirs:
         log: "/var/log/traefik"
         config: "/etc/traefik"
@@ -58,6 +51,11 @@
       subdomain: "ip"
       address: 127.0.0.1
       port: 28103 # = 0x6d6d = mm (ascii)
+      arch: "arm64"
+    alias:
+      subdomain: "alias"
+      address: 127.0.0.1
+      port: 28104
     proxy:
       subdomain: "proxy"
       address: 127.0.0.1
@@ -76,6 +74,7 @@
    - home # git checkouts too
    - traefik
    - mirror-mirror
+   - alias
  
   #TODO
   # wg genkey | sudo tee /etc/wireguard/tmc_privatekey | wg pubkey | sudo tee /etc/wireguard/tmc_publickey