tvl-depot/users/Profpatsch/whatcd-resolver/default.nix
Profpatsch eeb5e7abd6 feat(users/Profpatsch/whatcd-resolver): trace http requests
Move the http calls into their own module, so we can trace the request
and provide a simple copy-to-replay command.

We have to work around a bug in the otel library, which would limit
our attribute value length to 128 bytes because it uses the wrong
option value.

~~~

`ifExists` is finally made more useful for dealing with optional
attributes in e.g. lists.

Change-Id: Iafab523e9ec4b00136db43f31fdc12aeefb7f77c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11241
Tested-by: BuildkiteCI
Autosubmit: Profpatsch <mail@profpatsch.de>
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-03-23 19:51:59 +00:00

78 lines
2 KiB
Nix

{ depot, pkgs, lib, ... }:
let
# bins = depot.nix.getBins pkgs.sqlite ["sqlite3"];
whatcd-resolver = pkgs.haskellPackages.mkDerivation {
pname = "whatcd-resolver";
version = "0.1.0";
src = depot.users.Profpatsch.exactSource ./. [
./whatcd-resolver.cabal
./Main.hs
./src/WhatcdResolver.hs
./src/AppT.hs
./src/JsonLd.hs
./src/Optional.hs
./src/Html.hs
./src/Http.hs
./src/Transmission.hs
./src/Redacted.hs
];
libraryHaskellDepends = [
depot.users.Profpatsch.my-prelude
depot.users.Profpatsch.my-webstuff
pkgs.haskellPackages.pa-prelude
pkgs.haskellPackages.pa-label
pkgs.haskellPackages.pa-json
pkgs.haskellPackages.pa-error-tree
pkgs.haskellPackages.pa-field-parser
pkgs.haskellPackages.pa-run-command
pkgs.haskellPackages.aeson-better-errors
pkgs.haskellPackages.blaze-html
pkgs.haskellPackages.dlist
pkgs.haskellPackages.hs-opentelemetry-sdk
pkgs.haskellPackages.http-conduit
pkgs.haskellPackages.http-types
pkgs.haskellPackages.ihp-hsx
pkgs.haskellPackages.monad-logger
pkgs.haskellPackages.resource-pool
pkgs.haskellPackages.postgresql-simple
pkgs.haskellPackages.selective
pkgs.haskellPackages.tmp-postgres
pkgs.haskellPackages.unliftio
pkgs.haskellPackages.wai-extra
pkgs.haskellPackages.warp
pkgs.haskellPackages.punycode
];
isExecutable = true;
isLibrary = false;
license = lib.licenses.mit;
};
bins = depot.nix.getBins whatcd-resolver [ "whatcd-resolver" ];
in
depot.nix.writeExecline "whatcd-resolver-wrapped" { } [
"importas"
"-i"
"PATH"
"PATH"
"export"
"PATH"
# TODO: figure out how to automatically migrate to a new postgres version with tmp_postgres (dump?)
"${pkgs.postgresql_14}/bin:$${PATH}"
"export"
"WHATCD_RESOLVER_TOOLS"
(pkgs.linkFarm "whatcd-resolver-tools" [
{
name = "pg_format";
path = "${pkgs.pgformatter}/bin/pg_format";
}
])
bins.whatcd-resolver
]