Mehrprozess-Anwendungen wie API + Worker brauchen dieselben in QuickStack verwalteten Laufzeit-Secrets. Der bestehende OCI-Deploy erhält nur die Umgebung der Ziel-App; eine einmalige direkte Übernahme ist deshalb beim nächsten Rollout nicht reproduzierbar.
Lösung
environmentFromAppId übernimmt die bestehende QuickStack-Umgebung einer Quell-App, bevor deklarierte Zielwerte und Actions-Secrets überschreiben.
QuickStacks APP_DEPLOYMENT_ID wird ausdrücklich nicht vererbt.
volumeMountPaths setzt ausschließlich den Mount-Pfad eines bereits vorhandenen Volumes anhand seiner App- oder Shared-Volume-ID.
Fehlende Volumes, unsichere Pfade, Selbstreferenzen und ungültige Konfigurationen brechen vor dem Speichern ab.
Keine Secret-Werte werden geloggt, in Git geschrieben oder nach Actions kopiert.
## Problem
Mehrprozess-Anwendungen wie API + Worker brauchen dieselben in QuickStack verwalteten Laufzeit-Secrets. Der bestehende OCI-Deploy erhält nur die Umgebung der Ziel-App; eine einmalige direkte Übernahme ist deshalb beim nächsten Rollout nicht reproduzierbar.
## Lösung
- `environmentFromAppId` übernimmt die bestehende QuickStack-Umgebung einer Quell-App, bevor deklarierte Zielwerte und Actions-Secrets überschreiben.
- QuickStacks `APP_DEPLOYMENT_ID` wird ausdrücklich nicht vererbt.
- `volumeMountPaths` setzt ausschließlich den Mount-Pfad eines bereits vorhandenen Volumes anhand seiner App- oder Shared-Volume-ID.
- Fehlende Volumes, unsichere Pfade, Selbstreferenzen und ungültige Konfigurationen brechen vor dem Speichern ab.
- Keine Secret-Werte werden geloggt, in Git geschrieben oder nach Actions kopiert.
## Tests
- `node --test .gitea/actions/quickstack-oci/deploy.test.mjs .gitea/actions/quickstack-oci/release.test.mjs`
- 23 Tests grün
- `git diff --check`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Mehrprozess-Anwendungen wie API + Worker brauchen dieselben in QuickStack verwalteten Laufzeit-Secrets. Der bestehende OCI-Deploy erhält nur die Umgebung der Ziel-App; eine einmalige direkte Übernahme ist deshalb beim nächsten Rollout nicht reproduzierbar.
Lösung
environmentFromAppIdübernimmt die bestehende QuickStack-Umgebung einer Quell-App, bevor deklarierte Zielwerte und Actions-Secrets überschreiben.APP_DEPLOYMENT_IDwird ausdrücklich nicht vererbt.volumeMountPathssetzt ausschließlich den Mount-Pfad eines bereits vorhandenen Volumes anhand seiner App- oder Shared-Volume-ID.Tests
node --test .gitea/actions/quickstack-oci/deploy.test.mjs .gitea/actions/quickstack-oci/release.test.mjsgit diff --check