2 Commits
Author SHA1 Message Date
Jens a0c0ee26ca docs: record safe legacy migration data contract
Managed validation / full (pull_request) Successful in 3m38s
2026-09-09 22:25:49 +02:00
Jens 3e637a8429 ops: define clone-only verified legacy migration 2026-09-09 22:24:32 +02:00
2 changed files with 53 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# Append after docker-compose.unraid.yml. Operator-only migration prerequisite;
# every path must be a verified cold clone, never the original live data.
# Also pass MIGRATION_ENV_FILE as Compose --env-file for interpolation parity.
name: vacatureradar-managed
services:
app:
labels:
io.itworx.migration-attempt: ${MIGRATION_ATTEMPT:?journaled migration attempt required}
image: ${MIGRATION_IMAGE:?set an attempt-specific candidate image}
env_file:
- ${VACATURERADAR_ENV_FILE:?set the protected external runtime env file}
build:
labels:
org.opencontainers.image.source: jens/vacatureradar
org.opencontainers.image.revision: ${MIGRATION_SOURCE_REVISION:?full verified Git commit required}
org.opencontainers.image.source-tree: ${MIGRATION_SOURCE_TREE:?verified Git tree required}
org.opencontainers.image.version: ${MIGRATION_BUILD_ID:?broker build ID required}
org.opencontainers.image.created: ${MIGRATION_BUILD_DATE:?broker UTC build date required}
volumes:
- type: bind
source: ${MIGRATION_LOCAL_ROOT:?verified cold clone of the complete local tree required}/media
target: /app/media
bind:
create_host_path: false
- type: bind
source: ${MIGRATION_LOCAL_ROOT:?verified cold clone of the complete local tree required}/logs
target: /app/logs
bind:
create_host_path: false
- type: bind
source: ${MIGRATION_LOCAL_ROOT:?verified cold clone of the complete local tree required}
target: /app/local
bind:
create_host_path: false
+19
View File
@@ -0,0 +1,19 @@
# Gecontroleerde migratie van legacy deployments
`docker-compose.migration.yml` is een optionele operatoroverride, geen wijziging
aan de standaarddeployment. Gebruik deze alleen na de expliciete migratieprocedure
in ProjectBrain `scripts/legacy-deployment-migration/`.
De operator valideert de exacte Git-revisie en imageprovenance, stopt de oude
container en maakt een gecontroleerde koude kopie van de volledige `local`-map.
`MIGRATION_LOCAL_ROOT` verwijst uitsluitend naar die kopie. Media, logs en de
PostgreSQL-data houden hun geneste mountrelatie. De originele data, image en
container blijven bewaard voor rollback; startupmigraties mogen ze niet wijzigen.
Alle migratievariabelen zijn verplicht, paden worden niet automatisch aangemaakt,
en een attemptlabel bindt de nieuwe container aan precies één hersteltransactie.
De operator controleert gemergde Compose-mounts, gezondheid, HTTP en de echte
brokerreceipt voordat de configuratie definitief wordt overgezet.
De override is offline getest met echte Compose-rendering en ontbrekende
invoervariabelen. Toevoeging van dit bestand bewijst geen uitgevoerde productiemigratie.