migrate cargo bisect rustc

This commit is contained in:
nora 2024-08-05 20:00:30 +02:00
parent e60ecf1f91
commit fca0d6d3f4
10 changed files with 63 additions and 61 deletions

View file

@ -0,0 +1,28 @@
{ config, lib, ... }:
let
dockerLogin = {
registry = "docker.noratrieb.dev";
username = "nils";
passwordFile = config.age.secrets.docker_registry_password.path;
};
in
{
virtualisation.oci-containers.containers = {
cargo-bisect-rustc-service = {
image = "docker.noratrieb.dev/cargo-bisect-rustc-service:316a4044";
volumes = [
"/var/lib/cargo-bisect-rustc-service:/data"
];
environment = {
SQLITE_DB = "/data/db.sqlite";
};
ports = [ "127.0.0.1:5005:4000" ];
login = dockerLogin;
};
};
system.activationScripts.makeCargoBisectRustcServiceDir = lib.stringAfter [ "var" ] ''
mkdir -p /var/lib/cargo-bisect-rustc-service/
chmod ugo+w /var/lib/cargo-bisect-rustc-service/
'';
}

View file

@ -141,9 +141,12 @@
./modules/wg-mesh
./modules/ingress
./modules/podman
# apps
./apps/widetom
./apps/hugo-chat
./apps/uptime
./apps/cargo-bisect-rustc-service
];
deployment.tags = [ "ingress" "eu" "apps" "wg" ];

View file

@ -42,7 +42,6 @@ let
ns2 = dns2;
# apps
bisect-rustc = vps2;
cors-school = vps2 // {
subdomains.api = vps2;
};
@ -52,6 +51,7 @@ let
localhost.A = [ (a "127.0.0.1") ];
# --- retired:
bisect-rustc = vps1;
blog = vps1;
www = vps1;
uptime = vps1;

View file

@ -41,10 +41,11 @@ let
docker = vps2;
# --- apps
uptime = vps1;
bisect-rustc = vps1;
hugo-chat = vps1 // {
subdomains.api = vps1;
};
uptime = vps1;
# --- fun shit
localhost.A = [ (a "127.0.0.1") ];

View file

@ -1,23 +1,23 @@
# https://gist.github.com/ryanburnette/d13575c9ced201e73f8169d3a793c1a3
(cors) {
@cors_preflight{args.0} method OPTIONS
@cors{args.0} header Origin {args.0}
@cors_preflight{args[0]} method OPTIONS
@cors{args[0]} header Origin {args[0]}
handle @cors_preflight{args.0} {
handle @cors_preflight{args[0]} {
header {
Access-Control-Allow-Origin "{args.0}"
Access-Control-Allow-Origin "{args[0]}"
Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
Access-Control-Allow-Credentials "false"
Access-Control-Allow-Headers "${args.1}"
Access-Control-Allow-Headers "${args[1]}"
Access-Control-Max-Age "86400"
defer
}
respond "" 204
}
handle @cors{args.0} {
handle @cors{args[0]} {
header {
Access-Control-Allow-Origin "{args.0}"
Access-Control-Allow-Origin "{args[0]}"
Access-Control-Expose-Headers *
defer
}
@ -43,6 +43,10 @@ api.hugo-chat.noratrieb.dev {
reverse_proxy * localhost:5001
}
bisect-rustc.noratrieb.dev {
reverse_proxy * localhost:5005
}
################################################################
# deadname redirects
nilstrieb.dev {
@ -57,12 +61,15 @@ blog.nilstrieb.dev {
redir https://noratrieb.dev/blog{uri} permanent
}
bisect-rustc.nilstrieb.dev {
redir https://bisect-rustc.dev/blog{uri} permanent
}
hugo-chat.nilstrieb.dev {
redir https://hugo-chat.noratrieb.dev{uri} permanent
}
api.hugo-chat.nilstrieb.dev {
import cors https://hugo-chat.nilstrieb.dev "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"
redir https://api.hugo-chat.noratrieb.dev{uri} permanent
}

View file

@ -1,12 +1,13 @@
{ pkgs, config, name, website, slides, blog, ... }: {
{ pkgs, config, lib, name, website, slides, blog, ... }: {
networking.firewall.allowedTCPPorts = [
443
];
services.caddy = {
enable = true;
configFile = pkgs.writeText "Caddyfile"
(
configFile = pkgs.writeTextFile {
name = "Caddyfile";
text = (
''
{
email nilstrieb@proton.me
@ -28,5 +29,9 @@
}
''
);
checkPhase = ''
${lib.getExe pkgs.caddy} validate --adapter=caddyfile --config=$out
'';
};
};
}

View file

@ -97,19 +97,6 @@
- db.env
- server.env
#####
# APP: bisect-rustc-servce, /apps/bisect-rustc-service
#####
- name: Create /apps/bisect-rustc-service
ansible.builtin.file:
path: /apps/bisect-rustc-service
state: directory
mode: "u=rwx,g=rx,o=rx"
- name: SQLite DB permissions for bisect-rustc-servce
ansible.builtin.file:
path: /apps/bisect-rustc-service/db.sqlite
state: touch
mode: "u=rw,g=rw,o=rw"
#####
# APP: minecraft server, /apps/minecraft
#####
- name: Create /apps/minecraft

View file

@ -33,14 +33,6 @@ vps2.nilstrieb.dev {
file_server
}
nilstrieb.dev {
redir https://blog.nilstrieb.dev{uri}
}
www.nilstrieb.dev {
redir https://blog.nilstrieb.dev{uri}
}
docker.nilstrieb.dev {
reverse_proxy * localhost:5000
}
@ -57,10 +49,6 @@ cors-school.nilstrieb.dev {
reverse_proxy * localhost:5004
}
bisect-rustc.nilstrieb.dev {
reverse_proxy * localhost:5005
}
olat.nilstrieb.dev {
reverse_proxy * localhost:5011
}
@ -68,8 +56,3 @@ olat.nilstrieb.dev {
olat.nilstrieb.dev:8088 {
reverse_proxy * localhost:5011
}
noratrieb.dev {
root * /var/www/html/nora
file_server
}

View file

@ -65,7 +65,7 @@ function upload_directory {
rm "$tmppath"
}
upload_file "bisect-rustc-service/db.sqlite"
#upload_file "bisect-rustc-service/db.sqlite"
upload_file "killua/trivia_questions.json"
#upload_file "uptime/uptime.db"

View file

@ -28,18 +28,6 @@ services:
environment:
BOT_TOKEN: "${KILLUA_BOT_TOKEN}"
KILLUA_JSON_PATH: /app/config/trivia_questions.json
cargo_bisect_rustc_service:
container_name: cargo-bisect-rustc-service
image: "docker.noratrieb.dev/cargo-bisect-rustc-service:316a4044"
restart: always
volumes:
- "/apps/bisect-rustc-service/db.sqlite:/home/bisector/db.sqlite"
environment:
SQLITE_DB: /home/bisector/db.sqlite
ports:
- "5005:4000"
networks:
- prometheus
#### Karin
karin_bot_db:
container_name: karin-bot-db