zededa:sharing-persist-volume-by-two-apps
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| zededa:sharing-persist-volume-by-two-apps [2026/07/24 15:16] – mc | zededa:sharing-persist-volume-by-two-apps [2026/07/24 15:26] (current) – mc | ||
|---|---|---|---|
| Line 159: | Line 159: | ||
| * **Build container images with '' | * **Build container images with '' | ||
| * **9P mount tag is '' | * **9P mount tag is '' | ||
| + | |||
| + | ===== Updating the config (runbook) ===== | ||
| + | |||
| + | Push a new config version **without** redeploying the image, app, VMs, or volumes — | ||
| + | you only recreate the patch envelope. The writer auto-fetches it on its next poll and | ||
| + | drops a new versioned file into ''/ | ||
| + | |||
| + | <code bash> | ||
| + | # 1. Edit the config artifact | ||
| + | $EDITOR Demo-Hummingbird/ | ||
| + | |||
| + | # 2. Bump the version on the envelope in 6-Instances-Deploy-hum.tf | ||
| + | # user_defined_version = " | ||
| + | |||
| + | # 3. Recreate the envelope + its binding (in-place update is rejected -> -replace) | ||
| + | terraform apply \ | ||
| + | -replace=' | ||
| + | -replace=' | ||
| + | |||
| + | # 4. Wait ~30-60s (controller -> device propagation + the writer' | ||
| + | |||
| + | # 5. Verify (on the writer container or any reader VM) | ||
| + | cat / | ||
| + | cat / | ||
| + | # writer log line: [pcw] new config.json (v=3.0) -> / | ||
| + | </ | ||
| + | |||
| + | * **'' | ||
| + | * **Bumping '' | ||
| + | * **You do NOT touch** the container image, the writer app, the VMs, or the volumes. That is the whole point of the patch-envelope design: config changes with nothing redeployed. | ||
| + | |||
| + | ==== First-time deploy (for reference) ==== | ||
| + | |||
| + | <code bash> | ||
| + | # build + push the writer image (clean manifest — no attestation entries) | ||
| + | docker buildx build --platform linux/ | ||
| + | -t zedmanny/ | ||
| + | |||
| + | # bring everything up | ||
| + | terraform apply | ||
| + | |||
| + | # if the image was already created and you changed its tag, the image is immutable AND | ||
| + | # held by the app -> recreate the whole chain in one apply: | ||
| + | terraform apply \ | ||
| + | -replace=' | ||
| + | -replace=' | ||
| + | -replace=' | ||
| + | </ | ||
| ===== Sources ===== | ===== Sources ===== | ||
zededa/sharing-persist-volume-by-two-apps.1784906185.txt.gz · Last modified: by mc
