contrib/plugins: add mTLS binary cache store plugin

Adds an example plugin implementing an mTLS-enabled binary cache store
(https+mtls:// scheme) using client certificates for authentication.

Darwin fix: don't link liblix* into plugins (host resolves symbols at
runtime via dynamic_lookup). Explicitly link curl so it binds to
Nix-store libcurl, not /usr/lib/libcurl. This prevents the plugin's
curl_easy_setopt calls from operating on the wrong libcurl instance.

Test portability: BSD sed -i wrapper, OpenSSL -sha256 for cert signing,
redirect test server output to log file.

Change-Id: I652b987d3ac45e31df50ff4ba1f523294438c2b6
This commit is contained in:
Raito Bezarius
2026-01-21 22:50:35 +00:00
committed by Niko Klanecek
parent 7068cbf010
commit 728d2bfee7
14 changed files with 449 additions and 8 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ pre-commit-run {
enable = true;
package = pkgs.llvmPackages.libclang.python;
entry = "${pkgs.llvmPackages.libclang.python}/bin/git-clang-format --binary ${pkgs.llvmPackages.clang-tools}/bin/clang-format";
files = "^(lix/|tests/)";
files = "^(lix/|tests/|contrib/plugins/)";
types = [
"c++"
"file"