Orchestrator decision: deploy canonical coop-cloud traefik via abra instead of a hand-rolled module. abra packaged in Nix (pinned). custom-html deployed over HTTPS (200) via the gateway and torn down clean. docs/install.md seeded. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
895 B
Nix
26 lines
895 B
Nix
# abra — the Co-op Cloud CLI used by the harness to deploy/upgrade/backup recipes (M1+).
|
|
# Packaged from the upstream release binary, pinned by version + hash for reproducibility (D8).
|
|
{ pkgs, ... }:
|
|
let
|
|
abra = pkgs.stdenv.mkDerivation rec {
|
|
pname = "abra";
|
|
version = "0.13.0-beta";
|
|
src = pkgs.fetchurl {
|
|
url = "https://git.coopcloud.tech/toolshed/abra/releases/download/${version}/abra_${version}_linux_amd64.tar.gz";
|
|
sha256 = "12csk6wp1pk9cspzqfl4a6h5jdz8p055sf0ggxw9k7ljhpd5qvc6";
|
|
};
|
|
# Tarball has files at the root (LICENSE, README.md, abra), no common subdir.
|
|
sourceRoot = ".";
|
|
nativeBuildInputs = [ pkgs.autoPatchelfHook ];
|
|
buildInputs = [ pkgs.stdenv.cc.cc.lib ];
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -Dm755 abra "$out/bin/abra"
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
environment.systemPackages = [ abra ];
|
|
}
|