Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions landing-zone-configurator/app/tests/plan-routes.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ it.each(["platform", "application"] as const)(
expect(JSON.stringify(body)).not.toContain("operator-");
expect(calls.some((c) => c.url.includes("routes"))).toBe(false);
const task = JSON.parse(String(calls.at(-1)?.init?.body));
expect(task).toMatchObject({ memory_in_mb: 1024, disk_in_mb: 4096 });
expect(task.command).toBe("./runtime/bin/node apps/worker/dist/main.js");
expect(task.command).not.toContain("job-ticket");
expect(calls.every((c) => c.init?.redirect === "error")).toBe(true);
Expand Down
7 changes: 5 additions & 2 deletions landing-zone-configurator/deploy/cloud-foundry/README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,11 @@ Dies vermeidet den beobachteten CF-API-Uploadfehler: HTTP 502 nach 900 Sekunden
zu teilen oder ein konfiguriertes höheres Uploadlimit zu behaupten.
Die Web-/API-App verwendet 6144 MiB Festplatte: Ihre zusätzliche Inspektionskopie erschöpfte
bei der Droplet-Komprimierung die vorherigen 4096 MiB Staging-Festplatte selbst nach Entfernung
des redundanten Image-Caches. Runner-Template und isolierte Job-/Task-Budgets bleiben bei
4096 MiB; das gemessene native Runner-Runtime-Budget bleibt unverändert.
des redundanten Image-Caches. Auch das Runner-Template mit null Instanzen verwendet
6144 MiB: Sein 4096-MiB-Staging-Dateisystem lief bei der gzip-Droplet-Komprimierung voll.
Dies ist Staging-Kapazität; isolierte Jobs, Validierungstasks und warme Runner-Prozesse
behalten ausdrücklich ihr 4096-MiB-Laufzeitbudget. Das Template betreibt keine dauerhaften
Instanzen; das gemessene native Laufzeitbudget bleibt unverändert.
Scheitert Runner-Staging, meldet der Release zusätzlich Status und Fehler des neuesten V3-Builds
sowie aktuelle Runner-Logs, weiterhin auf den isolierten Runner-Space begrenzt.
Runner- und Web-/API-Diagnosen lesen beide das mit dem fehlgeschlagenen Build verknüpfte Droplet,
Expand Down
7 changes: 5 additions & 2 deletions landing-zone-configurator/deploy/cloud-foundry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,11 @@ This avoids the observed CF API upload failure: HTTP 502 after 900 seconds at
files or claiming that a larger upload limit was configured.
The Web/API app uses 6144 MiB of disk: its additional inspection copy exhausted
the former 4096-MiB staging disk during droplet compression even after removing
the redundant image cache. Runner template and isolated job/task budgets remain
4096 MiB; the measured native Runner runtime budget is unchanged.
the redundant image cache. The zero-instance Runner template also uses 6144 MiB:
its 4096-MiB staging filesystem exhausted disk during gzip droplet compression.
This is staging capacity; isolated jobs, validation tasks and warm Runner
processes explicitly retain their 4096-MiB runtime disk budget. The template
runs no permanent instances, and the measured native runtime budget is unchanged.
If Runner staging fails, the release also reports the latest V3 build's state
and error and recent Runner logs while still targeting the isolated Runner space.
Both Runner and Web/API diagnostics read the droplet linked to that failed build,
Expand Down
3 changes: 3 additions & 0 deletions landing-zone-configurator/deploy/runner/README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ gepinnt, dies ist kein Signaturnachweis dieses Providers.

`package.sh` baut ein separates Binary-Paket mit Node, OpenTofu und
Provider-Mirror; `manifest.yml` staged ein task-only CF-Template ohne Bindings.
Das Template mit null Instanzen verwendet 6144 MiB Festplatte für Staging und
Droplet-Komprimierung. Tasks pro Auftrag und warme Prozesse behalten ihr explizites
4096-MiB-Laufzeitlimit.
Der finale Image-Buildpack wird über `LZC_IMAGE_BUILDPACK` auf den freigegebenen
Release-Commit gepinnt; die geschützte Pipeline liefert die Runner-Variablendatei.
Hosted-Archive enthalten die qualifizierte Image-SHA statt der großen QCOW2-Datei.
Expand Down
2 changes: 2 additions & 0 deletions landing-zone-configurator/deploy/runner/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ checksums are pinned, but this is not proof of that provider's signature.

`package.sh` builds a separate binary package with Node, OpenTofu and
a provider mirror; `manifest.yml` stages a task-only CF template without bindings.
The zero-instance template uses 6144 MiB disk for staging and droplet compression.
Per-job tasks and warm processes retain an explicit 4096-MiB runtime disk limit.
The final image buildpack is pinned to the approved release commit through
`LZC_IMAGE_BUILDPACK`; the protected pipeline supplies the Runner variables file.
Hosted archives contain the qualified image SHA instead of the large QCOW2 file.
Expand Down
2 changes: 1 addition & 1 deletion landing-zone-configurator/deploy/runner/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ applications:
- name: lzc-plan-template
instances: 0
memory: 1024M
disk_quota: 4096M
disk_quota: 6144M
stack: cflinuxfs4
buildpacks: [((LZC_IMAGE_BUILDPACK))]
no-route: true
Expand Down
14 changes: 5 additions & 9 deletions landing-zone-configurator/infra/ci/image-staging.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -267,16 +267,12 @@ test("release pins the final buildpack to the approved source and excludes image
),
/disk_quota: 6144M/,
);
assert.match(
await readFile(
resolve(
repository,
"landing-zone-configurator/deploy/runner/manifest.yml",
),
"utf8",
),
/disk_quota: 4096M/,
const runnerManifest = await readFile(
resolve(repository, "landing-zone-configurator/deploy/runner/manifest.yml"),
"utf8",
);
assert.match(runnerManifest, /disk_quota: 6144M/);
assert.match(runnerManifest, /instances: 0/);
assert.ok(
workflow.includes("if: failure() && steps.push.outcome == 'failure'"),
);
Expand Down
Loading