Files
cc-ci/modules/abra.nix
autonomic-bot 12f86fd3fb M1: proxy via real coop-cloud/traefik (abra, wildcard/no-ACME); recipe deploy+teardown; M1 CLAIMED
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>
2026-05-26 22:21:12 +01:00

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 ];
}