chore: replace LAN-IP refs with public mirror URLs

Cargo.toml + Cargo.lock now point at https://github.com/Sulkta-Coop/pallas
for the pallas-fork patch entries. External clones from either public
mirror (github.com/Sulkta-Coop or gitlab.com/sulkta) build out of the box
— no LAN access needed.

internal builds short-circuit to the git remote via a `git config
url.X.insteadOf` rewrite on each host. Symmetric: covers both github and
gitlab → gitea. Same locked SHA either way; routing is environment-level,
not source-of-truth. See docs/internal-build-rewrites.md.

Dockerfile build-time rewrite also flipped to take public-URL inputs;
uses `git.sulkta.com` instead of the bare LAN IP.
This commit is contained in:
Sulkta 2026-05-10 14:46:05 -07:00
parent fc29ad6e03
commit 2372bd2e46
3 changed files with 35 additions and 24 deletions

14
Cargo.lock generated
View file

@ -1292,7 +1292,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]] [[package]]
name = "pallas-addresses" name = "pallas-addresses"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"base58", "base58",
"bech32", "bech32",
@ -1307,7 +1307,7 @@ dependencies = [
[[package]] [[package]]
name = "pallas-codec" name = "pallas-codec"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"hex", "hex",
"minicbor", "minicbor",
@ -1318,7 +1318,7 @@ dependencies = [
[[package]] [[package]]
name = "pallas-crypto" name = "pallas-crypto"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"cryptoxide", "cryptoxide",
"hex", "hex",
@ -1332,7 +1332,7 @@ dependencies = [
[[package]] [[package]]
name = "pallas-primitives" name = "pallas-primitives"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"base58", "base58",
"bech32", "bech32",
@ -1347,7 +1347,7 @@ dependencies = [
[[package]] [[package]]
name = "pallas-traverse" name = "pallas-traverse"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"hex", "hex",
"itertools", "itertools",
@ -1363,7 +1363,7 @@ dependencies = [
[[package]] [[package]]
name = "pallas-txbuilder" name = "pallas-txbuilder"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"hex", "hex",
"pallas-addresses", "pallas-addresses",
@ -1380,7 +1380,7 @@ dependencies = [
[[package]] [[package]]
name = "pallas-wallet" name = "pallas-wallet"
version = "0.32.1" version = "0.32.1"
source = "git+https://git.sulkta.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d" source = "git+https://github.com/Sulkta-Coop/pallas.git?branch=feat-aux-data#8091abd1b45c716453b7360def29311cf4600c0d"
dependencies = [ dependencies = [
"bech32", "bech32",
"bip39", "bip39",

View file

@ -27,7 +27,7 @@ members = [
version = "0.0.1" version = "0.0.1"
edition = "2021" edition = "2021"
license-file = "LICENSE" license-file = "LICENSE"
repository = "https://git.sulkta.com/Sulkta-Coop/aldabra" repository = "https://github.com/Sulkta-Coop/aldabra"
authors = ["Sulkta <oss@sulkta.com>"] authors = ["Sulkta <oss@sulkta.com>"]
[workspace.dependencies] [workspace.dependencies]
@ -95,16 +95,22 @@ toml = "0.9"
# rpassword is the standard "tty echo off" prompt crate. # rpassword is the standard "tty echo off" prompt crate.
rpassword = "7" rpassword = "7"
# Vendored fork of txpipe/pallas with auxiliary_data support added to # Vendored fork of txpipe/pallas with auxiliary_data + voting_procedures
# pallas-txbuilder (upstream had TODO markers we filled in). Patches # support added to pallas-txbuilder (upstream had TODO markers we filled
# all pallas-* crates so the version graph resolves consistently # in). Patches all pallas-* crates so the version graph resolves
# against the same commit. PR upstream pending; switch back to # consistently against the same commit. PR upstream pending; switch back
# crates.io once merged. # to crates.io once merged.
#
# Source URLs point at the public github mirror so external clones build
# out of the box. Sulkta-internal builds short-circuit to the LAN gitea
# via a `git config url.*.insteadOf` rewrite — no network egress, same
# locked SHA. See `docs/internal-build-rewrites.md` for the one-line
# config that wires that up on the build host + ci-runner + dev hosts.
[patch.crates-io] [patch.crates-io]
pallas-codec = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-codec = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }
pallas-crypto = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-crypto = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }
pallas-primitives = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-primitives = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }
pallas-traverse = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-traverse = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }
pallas-addresses = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-addresses = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }
pallas-wallet = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-wallet = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }
pallas-txbuilder = { git = "https://git.sulkta.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" } pallas-txbuilder = { git = "https://github.com/Sulkta-Coop/pallas.git", branch = "feat-aux-data" }

View file

@ -45,14 +45,19 @@ COPY crates ./crates
# trick above leaves stale build artifacts otherwise. # trick above leaves stale build artifacts otherwise.
RUN find crates -name '*.rs' -exec touch {} + RUN find crates -name '*.rs' -exec touch {} +
# Fetch the pallas patch dep via HTTP+PAT at build time. Source URLs # Build-time URL rewrite: route the public github/gitlab pallas URLs
# stay SSH (Cargo.toml + Cargo.lock) — the rewrite is git-CLI-level # (which is what Cargo.toml declares — source-of-truth, portable to
# only, so no credential gets baked into the lock file or the image. # external clones) back to the LAN gitea over HTTP+PAT. This is purely
# a fetch-time short-circuit: no LAN URL or credential is baked into
# Cargo.lock or the image. The lock file's locked SHA stays identical
# whether fetched via github, gitlab, or local gitea.
#
# Pass `--secret id=git_credentials,src=<file>` where <file> is one # Pass `--secret id=git_credentials,src=<file>` where <file> is one
# line: http://USER:PAT@git.sulkta.com # line: http://USER:PAT@git.sulkta.com
RUN --mount=type=secret,id=git_credentials,target=/root/.git-credentials,mode=0400,required=true \ RUN --mount=type=secret,id=git_credentials,target=/root/.git-credentials,mode=0400,required=true \
git config --global credential.helper store && \ git config --global credential.helper store && \
git config --global url."https://git.sulkta.com/".insteadOf "https://git.sulkta.com/" && \ git config --global url."https://git.sulkta.com/Sulkta-Coop/".insteadOf "https://github.com/Sulkta-Coop/" && \
git config --global url."https://git.sulkta.com/Sulkta-Coop/".insteadOf "https://gitlab.com/sulkta/" && \
cargo build --release --bin aldabra && \ cargo build --release --bin aldabra && \
strip target/release/aldabra strip target/release/aldabra