flora-6: disable migrated services, enable ci runner
All checks were successful
continuous-integration/drone/push Build is passing

for forgejo actions

https://forgejo.org/docs/latest/admin/actions
This commit is contained in:
teutat3s 2023-10-30 02:14:52 +01:00
parent ad5b1ba65b
commit 50614131d2
Signed by: teutat3s
GPG key ID: 4FA1D3FA524F22C1
6 changed files with 69 additions and 136 deletions

View file

@ -4,24 +4,8 @@
pkgs,
self,
...
}: let
maintenanceMode = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
root * /srv/www/pub.solar
error * "Scheduled Maintenance" 503
handle_errors {
root * /srv/www/pub.solar
rewrite * /maintenance/index.html
file_server
}
'';
};
in {
}:
{
systemd.tmpfiles.rules = [
"d '/data/srv/www/os/download/' 0750 hakkonaut hakkonaut - -"
];
@ -35,88 +19,6 @@ in {
grace_period 60s
'';
virtualHosts = {
"pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
# Named matcher, used below for Mastodon webfinger
@query query resource=*
# PubSolarOS images
handle /os/download/* {
root * /data/srv/www
file_server /os/download/* browse
}
# serve base domain pub.solar for mastodon.pub.solar
# https://masto.host/mastodon-usernames-different-from-the-domain-used-for-installation/
handle /.well-known/host-meta {
redir https://mastodon.pub.solar{uri}
}
# Tailscale OIDC webfinger requirement plus Mastodon webfinger redirect
handle /.well-known/webfinger {
# Redirect requests that match /.well-known/webfinger?resource=* to Mastodon
handle @query {
redir https://mastodon.pub.solar{uri}
}
respond 200 {
body `{
"subject": "acct:admins@pub.solar",
"links": [
{
"rel": "http://openid.net/specs/connect/1.0/issuer",
"href": "https://auth.pub.solar/realms/pub.solar"
}
]
}`
}
}
# redirect to statutes
redir /satzung https://cloud.pub.solar/s/2tRCP9aZFCiWxQy temporary
# pub.solar website
handle {
root * /srv/www/pub.solar
try_files {path}.html {path}
file_server
}
# minimal error handling, respond with status code and text
handle_errors {
respond "{http.error.status_code} {http.error.status_text}"
}
'';
};
"www.pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
redir https://pub.solar{uri}
'';
};
"mastodon.pub.solar" = maintenanceMode;
"auth.pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
redir / /realms/pub.solar/account temporary
reverse_proxy :8080
'';
};
"git.pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
redir /user/login /user/oauth2/keycloak temporary
reverse_proxy :3000
'';
};
"ci.pub.solar" = {
logFormat = lib.mkForce ''
output discard
@ -125,35 +27,6 @@ in {
reverse_proxy :4000
'';
};
"stream.pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
reverse_proxy :5000
'';
};
"list.pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
handle_path /static/* {
root * /var/lib/mailman-web-static
file_server
}
reverse_proxy :18507
'';
};
"collabora.pub.solar" = {
logFormat = lib.mkForce ''
output discard
'';
extraConfig = ''
reverse_proxy :9980
'';
};
"obs-portal.pub.solar" = {
logFormat = lib.mkForce ''
output discard

View file

@ -17,21 +17,23 @@ in {
./caddy.nix
./drone.nix
./keycloak.nix
./gitea.nix
./mailman.nix
./owncast.nix
./collabora.nix
# Disable services migrated to nachtigall.pub.solar
#./keycloak.nix
#./gitea.nix
#./mailman.nix
#./owncast.nix
#./collabora.nix
./forgejo-actions-runner.nix
profiles.base-user
profiles.users.root # make sure to configure ssh keys
profiles.users.barkeeper
"${latestModulesPath}/services/misc/gitea.nix"
"${latestModulesPath}/services/continuous-integration/gitea-actions-runner.nix"
"${latestModulesPath}/services/web-servers/caddy/default.nix"
];
disabledModules = [
"services/misc/gitea.nix"
"services/continuous-integration/gitea-actions-runner.nix"
"services/web-servers/caddy/default.nix"
];

View file

@ -0,0 +1,35 @@
{
config,
lib,
pkgs,
self,
...
}: {
age.secrets.forgejo-actions-runner-token = {
file = "${self}/secrets/forgejo-actions-runner-token.age";
mode = "644";
};
# forgejo actions runner
# https://forgejo.org/docs/latest/admin/actions/
# https://docs.gitea.com/usage/actions/quickstart
services.gitea-actions-runner = {
package = pkgs.forgejo-actions-runner;
instances."flora-6" = {
enable = true;
name = config.networking.hostName;
url = "https://git.pub.solar";
tokenFile = config.age.secrets.forgejo-actions-runner-token.path;
labels = [
# provide a debian 12 bookworm base for actions
"debian-latest:docker://debian:bookworm"
# fake the ubuntu name, commonly used in actions examples
"ubuntu-latest:docker://debian:bookworm"
# alpine
"alpine-latest:docker://alpine:3.18"
# nix flakes enabled image from https://github.com/nix-community/docker-nixpkgs
"nix-flakes:docker://docker.nix-community.org/nixpkgs/nix-flakes:latest"
];
};
};
}

View file

@ -5,6 +5,7 @@ channels: final: prev: {
(channels.latest)
nixd
docker_24
forgejo-actions-runner
;
inherit

View file

@ -0,0 +1,21 @@
age-encryption.org/v1
-> ssh-ed25519 Y0ZZaw 7CK6vwqQdCeiK2obS3bzCWe1MoEP9BPjgps+1wzCHBU
sALt69KoZFofZKOXYTqM0Gm4lJS40p+UxXOyk8LnK1Q
-> ssh-ed25519 BVsyTA NkTGaO5gnVSYYKwFpNvCvXhfQcG0icksEi3egd8Xl1o
8OG4LyBknZeu7neQw6xQ+GaWv8OJUU0mj7enM8YiE64
-> ssh-rsa kFDS0A
FugVBn+eYu3yHSHwdNhMb72E3hBceWgeW5vnIZroYA2gEBE6wAj5ZjbGEPOs5pYL
kLbP2WkMPpV0+TsNCVQPUgotpHrDbVR0Vw3Q3ijGa246aLsIV+b7BPnnLJtxPhOz
m2JtIxAGgxLDPr4XAIm2qPk1To4sk0J/pM3PpAp5yVTofVIVZ9Nf1D73uO+gIbrg
fVp0vng5o0JZqzj+NevD19zx+9MJW5xb1/DWCK3qfJ4OUh/SQl0CJs4Gu2VFUrFC
bhEYTo4gmr7CbN9CgPeKCRhwul7qzqnTvT1X//WW8qPooeghLkO6CtzP0t9Ws+nf
DwhLdbpG60cpRuOMrcaRd3GjtLANxjf+MN0YPAkBhVI/lj0omB+q8t7QsBBvKHQk
5F8op1IGcAHeqcbne1fQOm4EpUay7Ex4j0KtFvgtBw5y8OlyARar11Wg3g18bwWL
I6tjHaRDOE6j/KRmFEYM+1weoIMYrnWWQKa36J6Q76lQi5FSwLbngi37m3BRzfBH
/zqQYXyQwpY8mh84mL6o2W7AIK5Qu/QU46QK2vfMme7Epdh0qcSf+ryZ8uy5w46H
BtojVSczsHJpJPcAoOCREjtnveiVKvW0gIX633au6QuUK49+bqg56U8ISFLQIhOq
bkxaenVV1hWtDGLDAQIM8vlgW11/0H03hs2wN+2OCA8
-> u,-grease skM=
dWVtDwW376N8q5dhF2o
--- 6y7OVwZ5GagxyqZeFw6ycJmo5ZM5iQoPlzMYmZMXTug
y㎌„Ævâ<EFBFBD>,uX÷³ŸüúùØV¶:GLÅ1Ôý´JÈ[m(Áðþ¡Â ¾¡É…µx9ak°¬áÉÑŒŠx±O뤜¢

View file

@ -23,4 +23,5 @@ in {
"mailman-core-secrets.age".publicKeys = deployKeys;
"mailman-web-secrets.age".publicKeys = deployKeys;
"mailman-db-secrets.age".publicKeys = deployKeys;
"forgejo-actions-runner-token.age".publicKeys = deployKeys;
}