Omgevingen
De functie Omgevingen biedt Git-achtige branching voor je volledige backend. Elke omgeving is een volledig geïsoleerde kopie van je applicatie — inclusief eigen database, API-schema, rollen, bestandsproviders, gateway-routes en beveiligingsconfiguratie — waarmee je kunt ontwikkelen, testen en wijzigingen voorbereiden zonder productiedata te beïnvloeden.
Elk project begint met een enkele master-omgeving. Vanaf daar kun je nieuwe omgevingen vertakken die het databaseschema (en optioneel data) erven van elke bestaande omgeving. Elke branch werkt onafhankelijk: wijzigingen in één omgeving worden niet doorgevoerd naar andere totdat je ze expliciet merge.
Belangrijke concepten
Section titled “Belangrijke concepten”- Omgeving-isolatie: Elke omgeving heeft zijn eigen PostgreSQL-database, wat volledige gegevensscheiding tussen branches garandeert.
- Branch-modussen: Bij het aanmaken van een nieuwe omgeving kies je tussen Full (schema + data) of System (alleen schema) clonestrategieën.
- Configuratie kopiëren: Bestandsopslagproviders, gateway-routes, beveiligingsinstellingen en omgevingsvariabelen kunnen optioneel worden gekopieerd van de bronomgeving tijdens het vertakken.
- Statuslevenscyclus: Omgevingen doorlopen gedefinieerde staten —
active,branching,merging,errorenarchived— om conflicterende bewerkingen te voorkomen. - Ouder-kindrelaties: Omgevingen behouden een boomstructuur die afstamming bij diff- en merge-bewerkingen bijhoudt.
- Schema Diff: Vergelijk de databaseschema’s van twee omgevingen met forward-only diff-semantiek. Zie Environment Diff.
- Merge: Pas schemawijzigingen van één omgeving toe op een andere met automatische backup, selectieve wijzigingstoepassing (cherry-pick) en transactionele DDL. Zie Environment Merge.
- Backups: Automatische pre-merge backups en handmatige backups opgeslagen in S3, met de mogelijkheid om te herstellen naar elke doelomgeving — inclusief verwijderde omgevingen. Zie Backups.
- Migratiegeschiedenis: Volledig audittrail van alle merge-bewerkingen, inclusief de gebruiker die elke migratie toepaste, tijdstempel en de specifieke toegepaste wijzigingen.
Omgevingsbereik
Section titled “Omgevingsbereik”Alle backendresources zijn gekoppeld aan de momenteel geselecteerde omgeving. Wanneer je van omgeving wisselt via de Omgeving-selector in de bovenste navigatiebalk, weerspiegelen de volgende resources de status van die omgeving:
| Resource | Per omgeving |
|---|---|
| Databasetabellen & schema | Ja |
| API Explorer (GraphQL) | Ja |
| SQL Playground | Ja |
| Toegang op basis van rollen | Ja |
| Bestandsopslagproviders | Ja |
| Authenticatieproviders | Ja |
| API Keys | Ja |
| Aangepaste API Gateway-routes | Ja |
| Beveiligingsconfig (CORS, Rate Limits) | Ja |
| Omgevingsvariabelen | Ja |
| Integraties | Ja |
Let op: Het wisselen van omgeving triggert een volledige contextherlading. De environment-context wordt doorgevoerd over alle backenddiensten van het platform om ervoor te zorgen dat elke aanvraag wordt opgelost tegen de juiste database en configuratie.
Beveiliging & isolatie
Section titled “Beveiliging & isolatie”Het omgevingssysteem is ontworpen om enterprise-grade isolatie te bieden tussen je ontwikkelstages:
- Opslagisolatie: Elke omgeving wordt ondersteund door een toegewijde database. Dit zorgt ervoor dat een bug of gegevensbewerking in een ontwikkelomgeving nooit productiedata kan beïnvloeden.
- Configuratiebereik: Alle instellingen — van API keys tot beveiligingsbeleid — worden onafhankelijk per omgeving beheerd. Het wijzigen van een CORS-beleid in “Staging” heeft geen invloed op “Production”.
- Platformbrede context: De huidige omgeving wordt automatisch door het hele platform doorgevoerd. Of je nu bestanden doorbladert, SQL-query’s uitvoert of API-aanroepen doet, Archie Core zorgt ervoor dat je interacteert met de resources van de juiste omgeving.