Commit 5da2895
Changed files (6)
roles
alias
tasks
templates
mirror-mirror
tasks
traefik
tasks
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