mirror of
https://github.com/Noratrieb/vps.git
synced 2026-01-14 16:55:00 +01:00
migrate cargo bisect rustc
This commit is contained in:
parent
e60ecf1f91
commit
fca0d6d3f4
10 changed files with 63 additions and 61 deletions
28
newinfra/nix/apps/cargo-bisect-rustc-service/default.nix
Normal file
28
newinfra/nix/apps/cargo-bisect-rustc-service/default.nix
Normal 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/
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -141,9 +141,12 @@
|
||||||
./modules/wg-mesh
|
./modules/wg-mesh
|
||||||
./modules/ingress
|
./modules/ingress
|
||||||
./modules/podman
|
./modules/podman
|
||||||
|
|
||||||
|
# apps
|
||||||
./apps/widetom
|
./apps/widetom
|
||||||
./apps/hugo-chat
|
./apps/hugo-chat
|
||||||
./apps/uptime
|
./apps/uptime
|
||||||
|
./apps/cargo-bisect-rustc-service
|
||||||
];
|
];
|
||||||
|
|
||||||
deployment.tags = [ "ingress" "eu" "apps" "wg" ];
|
deployment.tags = [ "ingress" "eu" "apps" "wg" ];
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,6 @@ let
|
||||||
ns2 = dns2;
|
ns2 = dns2;
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
bisect-rustc = vps2;
|
|
||||||
cors-school = vps2 // {
|
cors-school = vps2 // {
|
||||||
subdomains.api = vps2;
|
subdomains.api = vps2;
|
||||||
};
|
};
|
||||||
|
|
@ -52,6 +51,7 @@ let
|
||||||
localhost.A = [ (a "127.0.0.1") ];
|
localhost.A = [ (a "127.0.0.1") ];
|
||||||
|
|
||||||
# --- retired:
|
# --- retired:
|
||||||
|
bisect-rustc = vps1;
|
||||||
blog = vps1;
|
blog = vps1;
|
||||||
www = vps1;
|
www = vps1;
|
||||||
uptime = vps1;
|
uptime = vps1;
|
||||||
|
|
|
||||||
|
|
@ -41,10 +41,11 @@ let
|
||||||
docker = vps2;
|
docker = vps2;
|
||||||
|
|
||||||
# --- apps
|
# --- apps
|
||||||
uptime = vps1;
|
bisect-rustc = vps1;
|
||||||
hugo-chat = vps1 // {
|
hugo-chat = vps1 // {
|
||||||
subdomains.api = vps1;
|
subdomains.api = vps1;
|
||||||
};
|
};
|
||||||
|
uptime = vps1;
|
||||||
|
|
||||||
# --- fun shit
|
# --- fun shit
|
||||||
localhost.A = [ (a "127.0.0.1") ];
|
localhost.A = [ (a "127.0.0.1") ];
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
# https://gist.github.com/ryanburnette/d13575c9ced201e73f8169d3a793c1a3
|
# https://gist.github.com/ryanburnette/d13575c9ced201e73f8169d3a793c1a3
|
||||||
(cors) {
|
(cors) {
|
||||||
@cors_preflight{args.0} method OPTIONS
|
@cors_preflight{args[0]} method OPTIONS
|
||||||
@cors{args.0} header Origin {args.0}
|
@cors{args[0]} header Origin {args[0]}
|
||||||
|
|
||||||
handle @cors_preflight{args.0} {
|
handle @cors_preflight{args[0]} {
|
||||||
header {
|
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-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
|
||||||
Access-Control-Allow-Credentials "false"
|
Access-Control-Allow-Credentials "false"
|
||||||
Access-Control-Allow-Headers "${args.1}"
|
Access-Control-Allow-Headers "${args[1]}"
|
||||||
Access-Control-Max-Age "86400"
|
Access-Control-Max-Age "86400"
|
||||||
defer
|
defer
|
||||||
}
|
}
|
||||||
respond "" 204
|
respond "" 204
|
||||||
}
|
}
|
||||||
|
|
||||||
handle @cors{args.0} {
|
handle @cors{args[0]} {
|
||||||
header {
|
header {
|
||||||
Access-Control-Allow-Origin "{args.0}"
|
Access-Control-Allow-Origin "{args[0]}"
|
||||||
Access-Control-Expose-Headers *
|
Access-Control-Expose-Headers *
|
||||||
defer
|
defer
|
||||||
}
|
}
|
||||||
|
|
@ -43,6 +43,10 @@ api.hugo-chat.noratrieb.dev {
|
||||||
reverse_proxy * localhost:5001
|
reverse_proxy * localhost:5001
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bisect-rustc.noratrieb.dev {
|
||||||
|
reverse_proxy * localhost:5005
|
||||||
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# deadname redirects
|
# deadname redirects
|
||||||
nilstrieb.dev {
|
nilstrieb.dev {
|
||||||
|
|
@ -57,12 +61,15 @@ blog.nilstrieb.dev {
|
||||||
redir https://noratrieb.dev/blog{uri} permanent
|
redir https://noratrieb.dev/blog{uri} permanent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bisect-rustc.nilstrieb.dev {
|
||||||
|
redir https://bisect-rustc.dev/blog{uri} permanent
|
||||||
|
}
|
||||||
|
|
||||||
hugo-chat.nilstrieb.dev {
|
hugo-chat.nilstrieb.dev {
|
||||||
redir https://hugo-chat.noratrieb.dev{uri} permanent
|
redir https://hugo-chat.noratrieb.dev{uri} permanent
|
||||||
}
|
}
|
||||||
|
|
||||||
api.hugo-chat.nilstrieb.dev {
|
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
|
redir https://api.hugo-chat.noratrieb.dev{uri} permanent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,37 @@
|
||||||
{ pkgs, config, name, website, slides, blog, ... }: {
|
{ pkgs, config, lib, name, website, slides, blog, ... }: {
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
443
|
443
|
||||||
];
|
];
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configFile = pkgs.writeText "Caddyfile"
|
configFile = pkgs.writeTextFile {
|
||||||
(
|
name = "Caddyfile";
|
||||||
|
text = (
|
||||||
''
|
''
|
||||||
{
|
{
|
||||||
email nilstrieb@proton.me
|
email nilstrieb@proton.me
|
||||||
}
|
}
|
||||||
|
|
||||||
${config.networking.hostName}.infra.noratrieb.dev {
|
${config.networking.hostName}.infra.noratrieb.dev {
|
||||||
root * ${./debugging-page}
|
root * ${./debugging-page}
|
||||||
file_server
|
file_server
|
||||||
}
|
}
|
||||||
|
|
||||||
${
|
${
|
||||||
if name == "vps1" then
|
if name == "vps1" then
|
||||||
builtins.readFile ./Caddyfile + ''
|
builtins.readFile ./Caddyfile + ''
|
||||||
noratrieb.dev {
|
noratrieb.dev {
|
||||||
root * ${website {inherit pkgs slides blog;}}
|
root * ${website {inherit pkgs slides blog;}}
|
||||||
file_server
|
file_server
|
||||||
}
|
}
|
||||||
'' else ""
|
'' else ""
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
|
checkPhase = ''
|
||||||
|
${lib.getExe pkgs.caddy} validate --adapter=caddyfile --config=$out
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -97,19 +97,6 @@
|
||||||
- db.env
|
- db.env
|
||||||
- server.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
|
# APP: minecraft server, /apps/minecraft
|
||||||
#####
|
#####
|
||||||
- name: Create /apps/minecraft
|
- name: Create /apps/minecraft
|
||||||
|
|
|
||||||
|
|
@ -33,14 +33,6 @@ vps2.nilstrieb.dev {
|
||||||
file_server
|
file_server
|
||||||
}
|
}
|
||||||
|
|
||||||
nilstrieb.dev {
|
|
||||||
redir https://blog.nilstrieb.dev{uri}
|
|
||||||
}
|
|
||||||
|
|
||||||
www.nilstrieb.dev {
|
|
||||||
redir https://blog.nilstrieb.dev{uri}
|
|
||||||
}
|
|
||||||
|
|
||||||
docker.nilstrieb.dev {
|
docker.nilstrieb.dev {
|
||||||
reverse_proxy * localhost:5000
|
reverse_proxy * localhost:5000
|
||||||
}
|
}
|
||||||
|
|
@ -57,10 +49,6 @@ cors-school.nilstrieb.dev {
|
||||||
reverse_proxy * localhost:5004
|
reverse_proxy * localhost:5004
|
||||||
}
|
}
|
||||||
|
|
||||||
bisect-rustc.nilstrieb.dev {
|
|
||||||
reverse_proxy * localhost:5005
|
|
||||||
}
|
|
||||||
|
|
||||||
olat.nilstrieb.dev {
|
olat.nilstrieb.dev {
|
||||||
reverse_proxy * localhost:5011
|
reverse_proxy * localhost:5011
|
||||||
}
|
}
|
||||||
|
|
@ -68,8 +56,3 @@ olat.nilstrieb.dev {
|
||||||
olat.nilstrieb.dev:8088 {
|
olat.nilstrieb.dev:8088 {
|
||||||
reverse_proxy * localhost:5011
|
reverse_proxy * localhost:5011
|
||||||
}
|
}
|
||||||
|
|
||||||
noratrieb.dev {
|
|
||||||
root * /var/www/html/nora
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ function upload_directory {
|
||||||
rm "$tmppath"
|
rm "$tmppath"
|
||||||
}
|
}
|
||||||
|
|
||||||
upload_file "bisect-rustc-service/db.sqlite"
|
#upload_file "bisect-rustc-service/db.sqlite"
|
||||||
upload_file "killua/trivia_questions.json"
|
upload_file "killua/trivia_questions.json"
|
||||||
#upload_file "uptime/uptime.db"
|
#upload_file "uptime/uptime.db"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,18 +28,6 @@ services:
|
||||||
environment:
|
environment:
|
||||||
BOT_TOKEN: "${KILLUA_BOT_TOKEN}"
|
BOT_TOKEN: "${KILLUA_BOT_TOKEN}"
|
||||||
KILLUA_JSON_PATH: /app/config/trivia_questions.json
|
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
|
||||||
karin_bot_db:
|
karin_bot_db:
|
||||||
container_name: karin-bot-db
|
container_name: karin-bot-db
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue