From 03e38f566d6a58b1089b973b389419b12894d254 Mon Sep 17 00:00:00 2001 From: noe Date: Wed, 26 Jun 2024 19:28:27 -0400 Subject: [PATCH] nix: make docker work!!!!! --- .direnv/bin/nix-direnv-reload | 19 ------------------- .gitignore | 3 ++- flake.nix | 12 ++++++------ justfile | 6 ++++++ main.go | 10 ++++++++++ module.nix | 1 - result | 1 - 7 files changed, 24 insertions(+), 28 deletions(-) delete mode 100755 .direnv/bin/nix-direnv-reload create mode 100644 justfile delete mode 100644 module.nix delete mode 120000 result diff --git a/.direnv/bin/nix-direnv-reload b/.direnv/bin/nix-direnv-reload deleted file mode 100755 index 4a0c2b7..0000000 --- a/.direnv/bin/nix-direnv-reload +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -set -e -if [[ ! -d "/home/noe/dev/git.sapphic.engineer/noe/plapkit" ]]; then - echo "Cannot find source directory; Did you move it?" - echo "(Looking for "/home/noe/dev/git.sapphic.engineer/noe/plapkit")" - echo 'Cannot force reload with this script - use "direnv reload" manually and then try again' - exit 1 -fi - -# rebuild the cache forcefully -_nix_direnv_force_reload=1 direnv exec "/home/noe/dev/git.sapphic.engineer/noe/plapkit" true - -# Update the mtime for .envrc. -# This will cause direnv to reload again - but without re-building. -touch "/home/noe/dev/git.sapphic.engineer/noe/plapkit/.envrc" - -# Also update the timestamp of whatever profile_rc we have. -# This makes sure that we know we are up to date. -touch -r "/home/noe/dev/git.sapphic.engineer/noe/plapkit/.envrc" "/home/noe/dev/git.sapphic.engineer/noe/plapkit/.direnv"/*.rc diff --git a/.gitignore b/.gitignore index d136290..61000c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -.direnv +.direnv/ +result .env \ No newline at end of file diff --git a/flake.nix b/flake.nix index 4ac653e..541c214 100644 --- a/flake.nix +++ b/flake.nix @@ -21,13 +21,13 @@ # fromImage = baseImage; name = "noe/plapkit"; tag = "latest"; - copyToRoot = pkgs.buildEnv { - name = "image-root"; - paths = [ packages.default ]; - pathsToLink = [ "/bin" ]; - }; + + copyToRoot = [ + pkgs.dockerTools.caCertificates + ]; + config = { - Cmd = [ "/bin/plapkit" ]; + Cmd = [ "${packages.default}/bin/plapkit" ]; }; }; }; diff --git a/justfile b/justfile new file mode 100644 index 0000000..b3eb797 --- /dev/null +++ b/justfile @@ -0,0 +1,6 @@ +buildc: + nix build .#container + +runc: + podman load < result + podman run -it --rm -p8555:8555 localhost/noe/plapkit:latest \ No newline at end of file diff --git a/main.go b/main.go index 11c00f0..9a3bf96 100644 --- a/main.go +++ b/main.go @@ -22,6 +22,7 @@ func main() { // our routes mux.HandleFunc("/hook/{token}", postGetHookToken) + mux.HandleFunc("/healthcheck", getHealthcheck) // prometheus mux.Handle("/metrics", promhttp.Handler()) @@ -68,3 +69,12 @@ func basicNoContent(rw http.ResponseWriter) { rw.WriteHeader(http.StatusNoContent) rw.Write([]byte("204 No Content (debug: likely not handled)")) } + +func getHealthcheck(rw http.ResponseWriter, req *http.Request) { + _, err := pkApi.GetMember("iodbz") + if err != nil { + log.Println("[HEALTHCHECK FAIL] failed to reach pluralkit", err) + errStatusInternalServerError(rw) + return + } +} diff --git a/module.nix b/module.nix deleted file mode 100644 index 463085b..0000000 --- a/module.nix +++ /dev/null @@ -1 +0,0 @@ -{ ... }: {} \ No newline at end of file diff --git a/result b/result deleted file mode 120000 index abc93be..0000000 --- a/result +++ /dev/null @@ -1 +0,0 @@ -/nix/store/cnnxb0z1g23wmaaigskrbdxfa566n97h-docker-image-plapkit.tar.gz \ No newline at end of file