Etapa G: fuel-go-8 al VPS (devops/cloud/policy: opa/conftest/k0s/talosctl/...)

This commit is contained in:
2026-06-26 20:18:35 -04:00
parent cd0a52d18b
commit 89a8678238
20 changed files with 455 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "atmos"
version = "1.220.0"
[source]
repo = "https://github.com/cloudposse/atmos"
commit = "7ada7dbf37a1ff5a01cb34bd47cbf327ae3fd4e0"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "buildkite-agent"
version = "3.128.0"
[source]
repo = "https://github.com/buildkite/agent"
commit = "69b020ec257eb42903116d9f4021e32986e7c245"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "cilium-cli"
version = "0.19.4"
[source]
repo = "https://github.com/cilium/cilium-cli"
commit = "2c40f81b9180be6a5e52b8caf7f1de75202ec0fc"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "civo"
version = "1.5.1"
[source]
repo = "https://github.com/civo/cli"
commit = "2357856111b5ffedaa95a702a8020ab60e6ade82"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "conftest"
version = "0.63.0"
[source]
repo = "https://github.com/open-policy-agent/conftest"
commit = "c7aa1d404a8650de80236983ee77b7626bb31048"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "drone-cli"
version = "1.9.0"
[source]
repo = "https://github.com/harness/drone-cli"
commit = "3c6e2027200dc136decede9704cdfdf63ba79152"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "gitea"
version = "1.26.4"
[source]
repo = "https://github.com/go-gitea/gitea"
commit = "95ba37d9af58db7d9163f9e92e07b5eb4f792bbc"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "gobgp"
version = "4.6.0"
[source]
repo = "https://github.com/osrg/gobgp"
commit = "51511000d5b566e9c6d20c7b90e6d9cd23140c51"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "helmsman"
version = "4.0.5"
[source]
repo = "https://github.com/mkubaczyk/helmsman"
commit = "f437802099a506dbc4bdef509b1c61884cd0a16c"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "istioctl"
version = "1.30.1"
[source]
repo = "https://github.com/istio/istio"
commit = "10229c76f2854420eeac94906ffff949b9aab746"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "kompose"
version = "1.38.0"
[source]
repo = "https://github.com/kubernetes/kompose"
commit = "a8f5d1cbdcfe3b47cb5c936fb1d57966390064a8"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go, git
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "kubeval"
version = "0.16.1"
[source]
repo = "https://github.com/instrumenta/kubeval"
commit = "f5dba6b486fa18b9179b91e15eb6f2b0f7a5a69e"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "lego"
version = "4.35.2"
[source]
repo = "https://github.com/go-acme/lego"
commit = "537f2ed0b7946b30bcfa81c5256e7c99ba6286bb"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "speedtest-go"
version = "1.7.10"
[source]
repo = "https://github.com/showwin/speedtest-go"
commit = "13957811e20f1369ae781e216f5dda721206614c"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+20
View File
@@ -0,0 +1,20 @@
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
# compiler/link/phases y adaptá hasta que compile.
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
name = "talosctl"
version = "1.13.4"
[source]
repo = "https://github.com/siderolabs/talos"
commit = "707dbd89b8716a930d83a31857c19b796e2ca290"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]
+23
View File
@@ -0,0 +1,23 @@
# fuel-go-8 — buffer premasticado ronda 8 (devops/cloud/policy).
atmos
buildkite-agent
cilium-cli
civo
conftest
drone-cli
forgejo
gitea
gobgp
helmsman
istioctl
k0s
kompose
kubeval
lego
opa
scw
speedtest-go
step-ca
talosctl
woodpecker
yamllint-go
+67
View File
@@ -0,0 +1,67 @@
# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
name = "forgejo"
version = "15.0.3"
[source]
tarball = "https://codeberg.org/forgejo/forgejo/archive/v15.0.3.tar.gz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "c1ebd90bc1c8ce9a0cbbf88451078691d7f272927a8208328f9ba26786200347ca0d9f25bf87a256d825c0c6a63a0a022082f21c2871c45ac1710394c9385f1b"
sha256 = "a73bb36caebf15925c00d46abce2adbd38b810a86610a0202a928c0a746e5742"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
[build.phases]
# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
compile = '''
_abuild_phase() {
# XXX: LARGEFILE64
export CGO_CFLAGS="$CFLAGS -O2 -D_LARGEFILE64_SOURCE"
export TAGS="bindata sqlite sqlite_unlock_notify"
export GITEA_VERSION="15.0.3"
export EXTRA_GOFLAGS="$GOFLAGS"
export CGO_LDFLAGS="$LDFLAGS"
unset LDFLAGS
## make FHS compliant
local setting="forgejo.org/modules/setting"
export LDFLAGS="$LDFLAGS -X $setting.CustomConf=/etc/forgejo/app.ini"
export LDFLAGS="$LDFLAGS -X $setting.AppWorkPath=/var/lib/forgejo/"
make -j1 build
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
for dir in forgejo forgejo/git forgejo/data forgejo/db forgejo/custom; do
install -dm750 -o forgejo -g www-data \
"/out"/var/lib/$dir
done
install -dm755 -o forgejo -g www-data "/out"/var/log/forgejo
# TODO: rename when upstream does: https://codeberg.org/forgejo/forgejo/issues/5174
install -Dm755 -g www-data gitea "/out"/usr/bin/forgejo
install -Dm644 -o forgejo -g www-data "$srcdir"/forgejo.ini \
"/out"/etc/forgejo/app.ini
chown forgejo:www-data "/out"/etc/forgejo
install -Dm755 "$srcdir"/forgejo.initd \
"/out"/etc/init.d/forgejo
install -Dm644 contrib/systemd/forgejo.service \
-t "/out"/usr/lib/systemd/system/
}
_abuild_phase
'''
# depends de runtime de Alpine (NO build-deps): git, git-lfs, gnupg
[deps]
build = ["nodejs", "npm"]
+65
View File
@@ -0,0 +1,65 @@
# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
name = "woodpecker"
version = "3.14.1"
[source]
tarball = "https://github.com/woodpecker-ci/woodpecker/releases/download/v3.14.1/woodpecker-src.tar.gz"
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
# sha512 = "6a8a7183f2a7ffaa9df6b4e23396153ceedfd08e666ec9aecd49de35ff75b09aff437c76452878769270e548fe4d564031a1fbe9dff84a217334e97214e4c510"
sha256 = "dafba02f6a55f748a80d0fa4d66720c7436af446baf903e5187553834226f3a4"
patches = ["respect-cgo-flags.patch", "disable-race-tests.patch", "disable-ui-openai-generation.patch", "skip-alternate-unix-sh-test.patch"]
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
[build.phases]
# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
compile = '''
_abuild_phase() {
export TARGETARCH="$(go env GOHOSTARCH)"
make build -j1 STATIC_BUILD=false VERSION=3.14.1
make docs
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
# Install server
install -Dm755 "$builddir"/dist/woodpecker-server \
"/out"/usr/bin/woodpecker-server
# Install initd & conf
install -Dm755 "$srcdir"/woodpecker-server.initd \
"/out"/etc/init.d/woodpecker-server
install -Dm640 -o woodpecker -g woodpecker "$srcdir"/woodpecker-server.conf \
"/out"/etc/woodpecker/server.conf
# Install web resources
install -d -m 755 -o woodpecker -g woodpecker "/out"/usr/share/webapps/woodpecker
cp -R "$builddir"/web/dist/* "/out"/usr/share/webapps/woodpecker/
# Create empty log & lib directories
install -d -m0750 -o woodpecker -g woodpecker \
"/out"/var/log/woodpecker "/out"/var/lib/woodpecker
# Install logrotate rules
install -Dm644 "$srcdir"/woodpecker-server.logrotate \
"/out"/etc/logrotate.d/woodpecker-server
# Install mandocs
mkdir -p "/out"/usr/share/doc/woodpecker
cp -R "$builddir"/docs/docs/* "/out"/usr/share/doc/woodpecker/
}
_abuild_phase
'''
# depends de runtime de Alpine (NO build-deps): openrc
[deps]
build = ["go-swag", "sqlite", "pnpm"]