feat(users/Profpatsch/whatcd-resolver): add services & readme

Gives a story for running both jaeger and the reverse proxy, and the
program proper.

`postgres` is still run from the client.

Adds a little readme.

Change-Id: I11185028541c0214e152fd76c9c72b7e2eb11122
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11171
Tested-by: BuildkiteCI
Autosubmit: Profpatsch <mail@profpatsch.de>
Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
Profpatsch 2024-03-17 02:04:10 +01:00 committed by clbot
parent 8ca42dc0cd
commit efa5fe1239
7 changed files with 61 additions and 1 deletions

View file

@ -1,4 +1,4 @@
if pass apps/declib/mastodon_access_token; then if pass apps/declib/mastodon_access_token >/dev/null; then
export DECLIB_MASTODON_ACCESS_TOKEN=$(pass apps/declib/mastodon_access_token) export DECLIB_MASTODON_ACCESS_TOKEN=$(pass apps/declib/mastodon_access_token)
fi fi

View file

@ -4,6 +4,7 @@ let root = (import ../../. { }); in
{ pkgs ? root.third_party.nixpkgs, depot ? root, ... }: { pkgs ? root.third_party.nixpkgs, depot ? root, ... }:
pkgs.mkShell { pkgs.mkShell {
buildInputs = [ buildInputs = [
pkgs.sqlite-interactive pkgs.sqlite-interactive
pkgs.sqlite-utils pkgs.sqlite-utils
@ -63,8 +64,18 @@ pkgs.mkShell {
pkgs.postgresql_14 pkgs.postgresql_14
pkgs.nodejs pkgs.nodejs
pkgs.ninja pkgs.ninja
pkgs.s6
pkgs.caddy
(depot.nix.binify {
name = "nix-run";
exe = depot.users.Profpatsch.nix-tools.nix-run;
})
]; ];
DEPOT_ROOT = toString ./../..;
PROFPATSCH_ROOT = toString ./.;
WHATCD_RESOLVER_TOOLS = pkgs.linkFarm "whatcd-resolver-tools" [ WHATCD_RESOLVER_TOOLS = pkgs.linkFarm "whatcd-resolver-tools" [
{ {
name = "pg_format"; name = "pg_format";

View file

@ -0,0 +1,21 @@
# whatcd-resolver
To run:
```
ninja run-services
```
in one terminal (starts the background tasks)
```
ninja run
```
to start the server. It runs on `9092`.
You need to be in the `nix-shell` in `./..`.
You need to set the `pass` key `internet/redacted/api-keys/whatcd-resolver` to an API key for RED.
You need to have a transmission-rpc-daemon listening on port `9091` (no auth, try ssh port forwarding lol).

View file

@ -0,0 +1,20 @@
builddir = .ninja
outdir = ./output
rule run-services
command = s6-svscan ./services
rule run
command = execlineb -c '$
importas -i DEPOT_ROOT DEPOT_ROOT $
importas -i PROFPATSCH_ROOT PROFPATSCH_ROOT cd $$PROFPATSCH_ROOT $
nix-run { $$DEPOT_ROOT -A users.Profpatsch.shortcuttable } cabal repl whatcd-resolver/ --repl-options "-e main" $
'
build run-services: run-services
pool = console
build run: run
pool = console

View file

@ -0,0 +1,3 @@
/.s6-svscan/
/**/event/
/**/supervise/

View file

@ -0,0 +1,3 @@
#!/usr/bin/env execlineb
importas -i DEPOT_ROOT DEPOT_ROOT
nix-run { $DEPOT_ROOT -A users.Profpatsch.jaeger -kK --builders '' }

View file

@ -0,0 +1,2 @@
#!/usr/bin/env execlineb
caddy reverse-proxy --from :9092 --to :9093