Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a0c0ee26ca | ||
|
|
3e637a8429 |
@@ -55,33 +55,6 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# MANAGED_FAST_PATH: documentation and this baseline workflow cannot
|
|
||||||
# affect the shipped runtime. Keep the required status check, but do
|
|
||||||
# not install toolchains or execute the full product suite.
|
|
||||||
if [[ -n "${GITHUB_BASE_REF:-}" ]]; then
|
|
||||||
git fetch --no-tags --depth=1 origin "${GITHUB_BASE_REF}"
|
|
||||||
managed_base="origin/${GITHUB_BASE_REF}"
|
|
||||||
git diff --check "${managed_base}..HEAD"
|
|
||||||
mapfile -t managed_changed_files < <(
|
|
||||||
git diff --name-only --diff-filter=ACMR "${managed_base}..HEAD"
|
|
||||||
)
|
|
||||||
managed_runtime_change=0
|
|
||||||
for managed_path in "${managed_changed_files[@]}"; do
|
|
||||||
case "${managed_path}" in
|
|
||||||
*.md|*.mdx|docs/*|.github/ISSUE_TEMPLATE/*|.gitea/ISSUE_TEMPLATE/*|.gitea/runner-scope.sh|.gitea/workflows/managed-validation.yml)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
managed_runtime_change=1
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if [[ "${#managed_changed_files[@]}" -gt 0 && "${managed_runtime_change}" -eq 0 ]]; then
|
|
||||||
printf 'Managed validation fast path: %s non-runtime file(s); full product suite skipped.\n' \
|
|
||||||
"${#managed_changed_files[@]}"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [[ -f pyproject.toml || -f requirements.txt ]]; then
|
if [[ -f pyproject.toml || -f requirements.txt ]]; then
|
||||||
# Compile only tracked Python sources. Running compileall after a
|
# Compile only tracked Python sources. Running compileall after a
|
||||||
# Node install would otherwise traverse node_modules and turn a
|
# Node install would otherwise traverse node_modules and turn a
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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.
|
||||||
Reference in New Issue
Block a user