nix: make docker work!!!!!

This commit is contained in:
41666 2024-06-26 19:28:27 -04:00
parent b1d988671c
commit 03e38f566d
7 changed files with 24 additions and 28 deletions

View file

@ -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

3
.gitignore vendored
View file

@ -1,2 +1,3 @@
.direnv .direnv/
result
.env .env

View file

@ -21,13 +21,13 @@
# fromImage = baseImage; # fromImage = baseImage;
name = "noe/plapkit"; name = "noe/plapkit";
tag = "latest"; tag = "latest";
copyToRoot = pkgs.buildEnv {
name = "image-root"; copyToRoot = [
paths = [ packages.default ]; pkgs.dockerTools.caCertificates
pathsToLink = [ "/bin" ]; ];
};
config = { config = {
Cmd = [ "/bin/plapkit" ]; Cmd = [ "${packages.default}/bin/plapkit" ];
}; };
}; };
}; };

6
justfile Normal file
View file

@ -0,0 +1,6 @@
buildc:
nix build .#container
runc:
podman load < result
podman run -it --rm -p8555:8555 localhost/noe/plapkit:latest

10
main.go
View file

@ -22,6 +22,7 @@ func main() {
// our routes // our routes
mux.HandleFunc("/hook/{token}", postGetHookToken) mux.HandleFunc("/hook/{token}", postGetHookToken)
mux.HandleFunc("/healthcheck", getHealthcheck)
// prometheus // prometheus
mux.Handle("/metrics", promhttp.Handler()) mux.Handle("/metrics", promhttp.Handler())
@ -68,3 +69,12 @@ func basicNoContent(rw http.ResponseWriter) {
rw.WriteHeader(http.StatusNoContent) rw.WriteHeader(http.StatusNoContent)
rw.Write([]byte("204 No Content (debug: likely not handled)")) 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
}
}

View file

@ -1 +0,0 @@
{ ... }: {}

1
result
View file

@ -1 +0,0 @@
/nix/store/cnnxb0z1g23wmaaigskrbdxfa566n97h-docker-image-plapkit.tar.gz