Shemot 16: dvar yom b'yomo, and on the sixth day double, and none on the seventh. Every night at 00:00Z the day's provision went stale and the readiness probe failed until someone woke — 13.5 hours on 2026-10-15. CronJob `manna` (deploy/k8s/manna-cronjob.yaml) runs at 00:01Z Sunday to Friday in our own korban-processor image, mounts the manna PVC as the app's uid, and writes today.json from the ConfigMap's MANNA_* amounts — doubled on Friday, valid to Sunday 00:30Z. The pipeline now accepts Friday's `double` on Saturday (validate_date/3) and nothing else across a day boundary; three tests. The kohen sets the amounts, may still write by hand, and reads a failed job as the Day-4 alarm (KOHEN "The manna, each morning"; Tamid §1.1). Doorpost re-pinned. Elixir green. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
61 lines
2.3 KiB
YAML
61 lines
2.3 KiB
YAML
# Bikoret ConfigMap — non-secret configuration
|
|
# Construction spec §4.4: Tuning constants
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: shorashim-config
|
|
namespace: shorashim
|
|
data:
|
|
# L1 mount point — read-only Torah filesystem
|
|
L1_MOUNT_POINT: "/mnt/torah"
|
|
|
|
# Manna provision file location
|
|
MANNA_PROVISION_FILE: "/var/lib/bikoret/manna/today.json"
|
|
|
|
# The day's portion, written by the manna CronJob at 00:01Z Sunday to
|
|
# Friday (manna-cronjob.yaml); Friday's is doubled and stands through
|
|
# Shabbat. The kohen sets the amounts here (Pekudei: from the half-shekel
|
|
# fund); a change takes effect at the next writing.
|
|
MANNA_COMPUTE_UNITS: "1000"
|
|
MANNA_MEMORY_MB: "32768"
|
|
MANNA_API_CALLS_EXTERNAL: "500"
|
|
MANNA_STORAGE_DELTA_MB: "100"
|
|
MANNA_SANHEDRIN_PANELS_MAX: "5"
|
|
|
|
# Talmudic Engine socket
|
|
TALMUDIC_SOCKET_PATH: "/tmp/bikoret/talmudic.sock"
|
|
|
|
# Korban Processor socket — the bedikah (Construction §3.9). Opened by
|
|
# the korban-processor container, read by vav-pipeline, both over the
|
|
# shared tmp-bikoret volume. Pod-internal; never on the network.
|
|
KORBAN_SOCKET_PATH: "/tmp/bikoret/korban.sock"
|
|
|
|
# Courtyard / chatzer keys — a FILE (Construction §4.6), projected from
|
|
# the shorashim-api-keys Secret (secrets.yaml). The path is config; the
|
|
# keys never are.
|
|
API_KEYS_FILE: "/etc/bikoret/secrets/api_keys"
|
|
|
|
# The pod network. The ingress controller lives in it; only from here
|
|
# is X-Real-IP believed as the caller's address (the pe'ah's per-IP
|
|
# watch, Tamid §1.1). Nothing outside the cluster can reach the pod
|
|
# directly any more (service.yaml), so nothing outside can forge it.
|
|
TRUSTED_PROXIES: "192.168.0.0/16"
|
|
|
|
# Shoresh Engine binary — staged onto the shared shoresh-bin volume
|
|
# by the shoresh-engine-install init container (see deployment.yaml).
|
|
# vav_pipeline spawns it as an Erlang Port, i.e. as a child process of
|
|
# the vav-pipeline container, so it must be a path on THIS
|
|
# container's filesystem.
|
|
SHORESH_ENGINE_BINARY: "/opt/shoresh/shoresh-engine"
|
|
|
|
# Shabbat location — Zurich (Construction spec §4.4)
|
|
SHABBAT_LATITUDE: "47.3769"
|
|
SHABBAT_LONGITUDE: "8.5417"
|
|
SHABBAT_TIMEZONE_OFFSET: "1"
|
|
|
|
# Cycle boundary check interval (ms)
|
|
CYCLE_BOUNDARY_CHECK_INTERVAL_MS: "60000"
|
|
|
|
# Pipeline latency budget (ms) — Construction spec §2.5
|
|
PIPELINE_LATENCY_BUDGET_MS: "5000"
|