Shemot 40:33 — Vay'khal Moshe et ham'lakhah. The builder completes the work. The vessel is ready for transport. Step 33 — Deployment configuration: - Dockerfiles for all 4 components: - vav_pipeline: Elixir 1.16.1/OTP 26.2.1 release with Sanhedrin - shoresh_engine: GHC 9.6.4 binary - talmudic_engine: SWI-Prolog 9.2.2 - korban_processor: Python 3.12.2 with pydantic - Kubernetes manifests for Exoscale SKS (ch-gva-2): - Namespace, ConfigMap, Secrets template - L1 Torah PV/PVC (read-only mount) - Manna provision PVC (kohen writes, system reads) - Deployment: vav-pipeline + 3 sidecars, shared volumes - Service: ClusterIP + LoadBalancer with Exoscale NLB - Init container runs Ecto migrations (VavPipeline.Release) Step 36 — Halt monitor (esh tamid): - GenServer watches for three cardinal sins - halt!/3 immediately halts system, sounds Chatzotzrot war signal - Permanent audit log — halt events never deleted - resolve/1 requires explicit operator action to resume - alive?/0 for morning tamid verification - 13 tests: alive check, 3 halt types, resolution, audit log, chatzotzrot war signal integration - Added to supervision tree All 219 Elixir + 19 L3 + 195 Prolog + 33 Haskell = 447+ tests, 0 failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
1.1 KiB
YAML
44 lines
1.1 KiB
YAML
# L1 Torah Filesystem — Read-Only Volume
|
|
# Construction spec §1.2: SHA-256 verified, mounted read-only
|
|
#
|
|
# In production, L1 is a read-only filesystem (squashfs or similar)
|
|
# containing the Torah text. It is mounted into all pods that need it.
|
|
#
|
|
# For Exoscale SKS, this uses a PersistentVolume backed by
|
|
# Exoscale Block Storage. The L1 data is loaded once and never modified.
|
|
#
|
|
# Step 34: Mount L1 filesystem read-only
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: l1-torah-pv
|
|
labels:
|
|
app.kubernetes.io/name: l1-torah
|
|
spec:
|
|
capacity:
|
|
storage: 1Gi
|
|
accessModes:
|
|
- ReadOnlyMany
|
|
persistentVolumeReclaimPolicy: Retain
|
|
# For initial setup, use hostPath. In production, replace with
|
|
# Exoscale Block Storage CSI or pre-loaded ConfigMap/Secret.
|
|
hostPath:
|
|
path: /mnt/torah
|
|
type: DirectoryOrCreate
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: l1-torah-pvc
|
|
namespace: shorashim
|
|
spec:
|
|
accessModes:
|
|
- ReadOnlyMany
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: l1-torah
|