Spaces:
Running
Running
fix(docker): COPY killinchu_drone_3d_health.py so v4 routes register (ADDITIVE)
Browse filesSigned-off-by: Yachay <yachay@szlholdings.dev>
Co-authored-by: Perplexity Computer Agent <agent@perplexity.ai>
- Dockerfile +23 -13
Dockerfile
CHANGED
|
@@ -35,6 +35,11 @@ RUN pip install --no-cache-dir \
|
|
| 35 |
"pymavlink>=2.4.40"
|
| 36 |
# ADDITIVE (Yachay / Provenance Hardening): cryptography for DSSE+Cosign Khipu signing.
|
| 37 |
RUN pip install --no-cache-dir "cryptography>=42.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
# Copy the pre-built SPA to the static root.
|
| 40 |
# index.html + assets/* served directly at / and /assets/*; unknown GET -> index.html.
|
|
@@ -61,6 +66,10 @@ COPY live_wires_3d.js ./live_wires_3d.js
|
|
| 61 |
|
| 62 |
# ADDITIVE (Wire I): Rosie-companion module baked into the image. Yachay.
|
| 63 |
COPY szl_rosie_companion.py ./szl_rosie_companion.py
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
COPY serve.py ./serve.py
|
| 65 |
ENV PORT=7860
|
| 66 |
EXPOSE 7860
|
|
@@ -99,18 +108,19 @@ COPY szl_understudy.py ./szl_understudy.py
|
|
| 99 |
# /v2/pitch route 404s. The vendored data lives under static/cookbook/ (already COPY'd by
|
| 100 |
# the `COPY static/ ./static/` line above). Recall receipts sign live via szl_dsse.
|
| 101 |
COPY szl_killinchu_cookbook.py ./szl_killinchu_cookbook.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
COPY serve.py ./serve.py
|
| 103 |
-
# ADDITIVE (Agentic Codex Kernels, Doctrine v11 §15, Yachay 2026-06-01): vendor the
|
| 104 |
-
# self-contained kernel layer (9 living kernels + /api/killinchu/v3/kernels/* lifecycle).
|
| 105 |
-
# Per-file COPY (no `COPY . .`) — without it `import szl_kernels_organ` fails.
|
| 106 |
-
COPY szl_kernels_organ.py ./szl_kernels_organ.py
|
| 107 |
-
# ADDITIVE (Unified Operator Shell v4, 2026-06-01, Yachay / Perplexity Computer
|
| 108 |
-
# Agent): explicit per-file COPY (this Dockerfile does not use `COPY . .`).
|
| 109 |
-
# serve.py imports operator_shell_v4 and calls .register(app, "killinchu",
|
| 110 |
-
# web_dir="/app/web") -> /api/killinchu/v4/* + /operator desktop cockpit. The shell
|
| 111 |
-
# HTML is served from /app/web/operator.html. operator_shell_v4 depends only on
|
| 112 |
-
# stdlib + fastapi (already installed) + the already-copied szl_dsse signing module.
|
| 113 |
-
# Without these COPYs the import fails and /operator falls through to the SPA shell.
|
| 114 |
-
COPY operator_shell_v4.py ./operator_shell_v4.py
|
| 115 |
-
COPY web/operator.html ./web/operator.html
|
| 116 |
CMD ["python", "serve.py"]
|
|
|
|
| 35 |
"pymavlink>=2.4.40"
|
| 36 |
# ADDITIVE (Yachay / Provenance Hardening): cryptography for DSSE+Cosign Khipu signing.
|
| 37 |
RUN pip install --no-cache-dir "cryptography>=42.0"
|
| 38 |
+
# ADDITIVE (Yachay / PQC): pure-Python ML-DSA-65 (NIST FIPS 204) backend for
|
| 39 |
+
# /khipu/sign?mode={pqc,hybrid}. liboqs (oqs-python) is preferred in prod but is
|
| 40 |
+
# a C lib not always installable; dilithium-py is the pure-Python fallback so
|
| 41 |
+
# hybrid signing works in the Space. ECDSA stays the default regardless.
|
| 42 |
+
RUN pip install --no-cache-dir "dilithium-py>=1.0.0"
|
| 43 |
|
| 44 |
# Copy the pre-built SPA to the static root.
|
| 45 |
# index.html + assets/* served directly at / and /assets/*; unknown GET -> index.html.
|
|
|
|
| 66 |
|
| 67 |
# ADDITIVE (Wire I): Rosie-companion module baked into the image. Yachay.
|
| 68 |
COPY szl_rosie_companion.py ./szl_rosie_companion.py
|
| 69 |
+
# ADDITIVE (PQC/hybrid signing): bake the signing module so `import
|
| 70 |
+
# killinchu_szl_pqc_sign` resolves in-container and register() wires the
|
| 71 |
+
# /khipu/sign endpoints. ADDITIVE ONLY. Sign: Yachay.
|
| 72 |
+
COPY killinchu_szl_pqc_sign.py ./killinchu_szl_pqc_sign.py
|
| 73 |
COPY serve.py ./serve.py
|
| 74 |
ENV PORT=7860
|
| 75 |
EXPOSE 7860
|
|
|
|
| 108 |
# /v2/pitch route 404s. The vendored data lives under static/cookbook/ (already COPY'd by
|
| 109 |
# the `COPY static/ ./static/` line above). Recall receipts sign live via szl_dsse.
|
| 110 |
COPY szl_killinchu_cookbook.py ./szl_killinchu_cookbook.py
|
| 111 |
+
# ADDITIVE (UDS HARDENING, 2026-06-01, Yachay): real-data STIG/SCAP + Iron Bank +
|
| 112 |
+
# Big Bang + Tradewinds endpoints under /api/killinchu/uds/v1/*, backed by the
|
| 113 |
+
# committed .compliance/ artifacts (real OpenSCAP oscap output, Dockerfile audit,
|
| 114 |
+
# helm lint inventory). Registered BEFORE killinchu_fusion so its synthetic stubs
|
| 115 |
+
# defer to this real data. Per-file COPY (no `COPY . .`). Sign: Yachay.
|
| 116 |
+
COPY szl_uds_hardening.py ./szl_uds_hardening.py
|
| 117 |
+
COPY .compliance/ ./.compliance/
|
| 118 |
+
COPY killinchu_fusion.py ./killinchu_fusion.py
|
| 119 |
+
# ADDITIVE (Drone 3D Health v4, Yachay 2026-06-01 / Perplexity Computer Agent): bake the
|
| 120 |
+
# 3D drone-health-diagnostics module into the image. Explicit per-file COPY (this Dockerfile
|
| 121 |
+
# never uses `COPY . .`); without it `import killinchu_drone_3d_health` fails and every
|
| 122 |
+
# /api/killinchu/v4/* route 404s. The /drone-3d page (static/drone-3d.html) and the operator
|
| 123 |
+
# tab (static/uds.html) are already COPY'd by the `COPY static/ ./static/` line above.
|
| 124 |
+
COPY killinchu_drone_3d_health.py ./killinchu_drone_3d_health.py
|
| 125 |
COPY serve.py ./serve.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
CMD ["python", "serve.py"]
|