fix(smolmachines): Linux compat for TSI networking and git-gate paths
Three fixes for Linux smolvm support: 1. Skip force_allowlist DB patch on Linux — patching allowed_cidrs into smolvm's state DB crashes TSI boot on Linux. Per-bottle CIDR isolation is not enforced on Linux until smolvm fixes the --allow-cidr + TSI interaction (known limitation). 2. Patch /etc/git-gate/ references in the staged entrypoint to /bot-bottle-data/git-gate/ so git-daemon finds its hooks and access-hook at the new consolidated mount path. 3. Drop explicit --net-backend tsi — the default on this smolvm build is already TSI; explicitly requesting it is incompatible with -p port mappings on Linux. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -313,9 +313,9 @@ class TestForceAllowlist(unittest.TestCase):
|
||||
self.assertEqual(4, cfg["cpus"])
|
||||
self.assertTrue(cfg["network"])
|
||||
|
||||
def test_patches_on_linux_too(self):
|
||||
# force_allowlist no longer no-ops on Linux — the TSI
|
||||
# allowlist must be enforced there as well.
|
||||
def test_skips_patch_on_linux(self):
|
||||
# On Linux, patching allowed_cidrs into the smolvm state DB
|
||||
# crashes TSI boot. force_allowlist is a no-op on Linux.
|
||||
with patch.object(loopback_alias, "_is_macos", return_value=False), \
|
||||
patch.object(loopback_alias, "_SMOLVM_DB_PATH", self.db):
|
||||
loopback_alias.force_allowlist("demo-vm", ["127.0.0.16/32"])
|
||||
@@ -324,7 +324,7 @@ class TestForceAllowlist(unittest.TestCase):
|
||||
"SELECT data FROM vms WHERE name='demo-vm'",
|
||||
).fetchone()[0])
|
||||
con.close()
|
||||
self.assertEqual(["127.0.0.16/32"], cfg["allowed_cidrs"])
|
||||
self.assertIsNone(cfg["allowed_cidrs"])
|
||||
|
||||
def test_skips_write_when_already_matching(self):
|
||||
# A newer smolvm that honors --allow-cidr at create leaves the
|
||||
|
||||
Reference in New Issue
Block a user