PRD 0006: pipelock native TLS interception #9

Merged
didericis merged 6 commits from pipelock-tls-interception into main 2026-05-12 15:03:23 -04:00
2 changed files with 18 additions and 0 deletions
Showing only changes of commit fb10c8dd8a - Show all commits
@@ -93,6 +93,7 @@ class DockerBottlePlan(BottlePlan):
else: else:
info(" ssh hosts : (none)") info(" ssh hosts : (none)")
info(f" egress : {self.allowlist_summary}") info(f" egress : {self.allowlist_summary}")
info(" tls intercept : pipelock (per-bottle ephemeral CA, generated at launch)")
info( info(
f"prompt : {len(v.agent.prompt)} chars; " f"prompt : {len(v.agent.prompt)} chars; "
f"first line: {v.prompt_first_line or '(empty)'}" f"first line: {v.prompt_first_line or '(empty)'}"
@@ -117,6 +118,15 @@ class DockerBottlePlan(BottlePlan):
"egress": { "egress": {
"host_count": len(hosts), "host_count": len(hosts),
"hosts": hosts, "hosts": hosts,
# PRD 0006: pipelock's `tls_interception` block is on
# for every launched bottle. ca_fingerprint is always
# null at dry-run because the CA doesn't exist yet —
# real launches print the fingerprint to stderr from
# provision_ca. Reserved field for forward-compat.
"tls_interception": {
"enabled": True,
"ca_fingerprint": None,
},
}, },
"prompt": { "prompt": {
"length": len(v.agent.prompt), "length": len(v.agent.prompt),
+8
View File
@@ -92,6 +92,14 @@ class TestDryRunPlan(unittest.TestCase):
self.assertEqual(sorted(set(hosts)), hosts, self.assertEqual(sorted(set(hosts)), hosts,
"hosts must be sorted and deduplicated") "hosts must be sorted and deduplicated")
# PRD 0006: TLS interception is on for every launched
# bottle. Fingerprint is null at dry-run (no CA exists
# yet); real launches log it from provision_ca.
self.assertEqual(
{"enabled": True, "ca_fingerprint": None},
plan["egress"]["tls_interception"],
)
# No Docker side effects (see the GITEA_ACTIONS skip note # No Docker side effects (see the GITEA_ACTIONS skip note
# above — this guard runs locally only). # above — this guard runs locally only).
if check_side_effects: if check_side_effects: