Make ingress drill Docker socket portable
This commit is contained in:
@@ -162,6 +162,9 @@ Ingress acceptance streams generated configuration into Docker-managed
|
||||
volumes before starting the read-only containers. It therefore also works when
|
||||
an Actions job reaches a host or remote Docker daemon through a mounted socket;
|
||||
the drill never assumes that a job-container path is visible to that daemon.
|
||||
The bounded setup helper writes only generated public configuration as root so
|
||||
it can initialize a new volume; the actual HAProxy process retains the image's
|
||||
non-root identity and runs read-only with all capabilities dropped.
|
||||
|
||||
The manifest contract is
|
||||
[`runtime-distribution-manifest.schema.json`](runtime-distribution-manifest.schema.json),
|
||||
|
||||
@@ -37,6 +37,7 @@ class ManagedIngressDrillTests(unittest.TestCase):
|
||||
|
||||
argv = run.call_args.args[0]
|
||||
self.assertIn("type=volume,src=config-volume,dst=/govoplan-config", argv)
|
||||
self.assertIn("0:0", argv)
|
||||
self.assertNotIn("type=bind", " ".join(argv))
|
||||
self.assertEqual(
|
||||
":8080 { respond /health 200 }\n",
|
||||
|
||||
@@ -64,6 +64,8 @@ def _write_volume_file(
|
||||
"run",
|
||||
"--rm",
|
||||
"--interactive",
|
||||
"--user",
|
||||
"0:0",
|
||||
"--mount",
|
||||
f"type=volume,src={volume},dst=/govoplan-config",
|
||||
"--entrypoint",
|
||||
|
||||
Reference in New Issue
Block a user