diff options
| author | Robert Günzler <r@gnzler.io> | 2025-09-07 17:32:13 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2025-09-07 17:42:42 +0200 |
| commit | 38be6c13f76e893cf47636257071b440dec0c5b2 (patch) | |
| tree | f7ded3235a7e3362cbd1ed3d91523968fe0faf90 /bundles/go-away | |
initial commit
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/go-away')
| -rwxr-xr-x | bundles/go-away/files/go-away.run | 18 | ||||
| -rw-r--r-- | bundles/go-away/files/traefik.yaml | 28 | ||||
| -rw-r--r-- | bundles/go-away/items.py | 41 | ||||
| -rw-r--r-- | bundles/go-away/metadata.py | 5 |
4 files changed, 92 insertions, 0 deletions
diff --git a/bundles/go-away/files/go-away.run b/bundles/go-away/files/go-away.run new file mode 100755 index 0000000..376fbb2 --- /dev/null +++ b/bundles/go-away/files/go-away.run @@ -0,0 +1,18 @@ +#!/bin/sh +set -eux + +cd /var/lib/go-away || exit 1 + +test -d examples +test -d examples/snippets +test -f examples/generic.yml + +exec ./go-away \ + --bind 0.0.0.0:${node.metadata.get("go-away/port")} \ + --backend gzr.im="http://${node.metadata.get("container_gateway", "10.89.0.1")}:${node.metadata.get("www/gzr-im/port")}" \ + --backend gnzler.de="http://${node.metadata.get("container_gateway", "10.89.0.1")}:${node.metadata.get("www/gzr-im/port")}" \ + --backend gnzler.io="http://${node.metadata.get("container_gateway", "10.89.0.1")}:${node.metadata.get("www/gzr-im/port")}" \ + --backend gonca.me="http://${node.metadata.get("container_gateway","10.89.0.1")}:${node.metadata.get("www/gonca-me/port")}" \ + --policy examples/generic.yml \ + --policy-snippets examples/snippets/ \ + --challenge-template anubis diff --git a/bundles/go-away/files/traefik.yaml b/bundles/go-away/files/traefik.yaml new file mode 100644 index 0000000..e44a842 --- /dev/null +++ b/bundles/go-away/files/traefik.yaml @@ -0,0 +1,28 @@ +http: + services: + go-away: + loadBalancer: + servers: + - url: http://${node.metadata.get("container_gateway", "10.89.0.1")}:${node.metadata.get("go-away/port")} + + routers: + gzr-im: + rule: Host(`gzr.im`) || Host(`gnzler.io`) || Host(`gnzler.de`) + entryPoints: + - http + - https + service: go-away + middlewares: + - tls-redirect@file + tls: + certResolver: le + gonca-me: + rule: Host(`gonca.me`) + entryPoints: + - http + - https + service: go-away + middlewares: + - tls-redirect@file + tls: + certResolver: le diff --git a/bundles/go-away/items.py b/bundles/go-away/items.py new file mode 100644 index 0000000..904b922 --- /dev/null +++ b/bundles/go-away/items.py @@ -0,0 +1,41 @@ + +# local_deploy = { +# "/usr/bin/go-away": { +# "command": "make build", +# "cwd": "/home/robert/src/go-away", +# "artifact": "go-away", +# "content_hash": "335fc3b7868f3610dbe8397021501c465ee2627c", +# }, +# } + +directories = { + "/var/lib/go-away": { + "mode": "0775", + "group": "wheel", + "owner": "nobody", + }, +} + +files = { + "/etc/service/go-away.run": { + "content_type": "mako", + "mode": "0755", + "triggers": {"svc_s6rc:go-away:restart"}, + }, + + "/etc/traefik/go-away.yaml": { + "content_type": "mako", + "source": "traefik.yaml", + "needs": { + "bundle:traefik", + }, + }, + +} + +svc_s6rc = { + "go-away": { + "bundle": "services", + "generate": "service", + } +} diff --git a/bundles/go-away/metadata.py b/bundles/go-away/metadata.py new file mode 100644 index 0000000..5160f64 --- /dev/null +++ b/bundles/go-away/metadata.py @@ -0,0 +1,5 @@ +defaults = { + "apk": { + "packages": {}, + }, +} |