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>
This commit is contained in:
25
modules/abra.nix
Normal file
25
modules/abra.nix
Normal file
@ -0,0 +1,25 @@
|
||||
# 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 ];
|
||||
}
|
||||
Reference in New Issue
Block a user