Ga naar inhoud

Omgevingen aanmaken

Je kunt een nieuwe omgeving aanmaken door te vertakken vanaf elke bestaande actieve omgeving. Het proces kloont de brondatabase en kopieert optioneel configuratieresources, waardoor je een geïsoleerde werkruimte krijgt om wijzigingen te ontwikkelen of testen.


  1. Open de Omgeving-selector dropdown in de bovenste navigatiebalk van de Backend Console.
  2. Klik op de knop + Omgeving aanmaken.
  3. Er verschijnt een modaal dialoogvenster met de volgende configuratie-opties.
  • Vertakken van: Selecteer de bronomgeving om van te vertakken. Alleen omgevingen met status active zijn beschikbaar als bron.
  • Omgevingsnaam: Voer een unieke naam in voor de nieuwe omgeving (bijv. staging, feature-auth, qa-sprint-12). Namen mogen alleen alfanumerieke tekens, afbreekstreepjes en underscores bevatten.

Kies hoe de brondatabase wordt gekloond:

  • Full (schema + data): Maakt een volledige kopie van de brondatabase, inclusief alle tabelstructuren en rijdata. Gebruik dit wanneer je realistische data nodig hebt voor testen of QA.
  • System (alleen schema): Kopieert alleen het databaseschema (tabellen, kolommen, indexen, relaties, enums, views) zonder rijdata. Gebruik dit voor schone ontwikkelomgevingen waar je wilt beginnen met een lege dataset.

Kopieer optioneel resourceconfiguraties van de bronomgeving. Elke optie wordt bestuurd door een selectievakje en vereist de ProjectOwner-rol:

  • Bestandsopslagproviders: Kopieer configuraties van bestandsopslagproviders (S3, GCS, Azure, Filestack) naar de nieuwe omgeving. Elke gekopieerde provider krijgt een nieuwe unieke identifier.
  • Gateway-routes: Kopieer aangepaste API gateway-routes en webhooks. Dit behoudt je routingconfiguratie in de nieuwe omgeving.
  • Beveiligingsconfig: Kopieer CORS-origins en rate limit-instellingen. Dit zorgt ervoor dat de nieuwe omgeving hetzelfde netwerkbeleid erft als zijn parent.
  • Omgevingsvariabelen: Kopieer sleutel-waardeparen van omgevingsvariabelen. Dit stelt de nieuwe omgeving in staat te beginnen met dezelfde configuratiegeheimen als de bron.

Let op: Authenticatieproviders zijn om veiligheidsredenen opzettelijk uitgesloten van de kopieeropties. OAuth-clientgeheimen, Cognito-referenties en andere authenticatiesleutels moeten onafhankelijk per omgeving worden geconfigureerd om per ongeluk delen van referenties te voorkomen.

  1. Klik op Omgeving aanmaken om het vertakkingsproces te starten.

Modaal venster voor omgevingsvertakking met kopieeropties


Wanneer je een nieuwe omgeving aanmaakt, vindt de volgende reeks plaats:

  1. Validatie: Het systeem controleert of de omgevingsnaam uniek is en de bronomgeving in active status is.
  2. Recordaanmaak: Een nieuw omgevingsrecord wordt aangemaakt en geregistreerd bij het project in de configuratieopslag van het platform.
  3. Databasekloning: De bron-PostgreSQL-database wordt gekloond. In Full-modus worden alle data meegenomen; in System-modus wordt alleen het schema (tabelstructuren) gekopieerd.
  4. Databasegebruikers: Nieuwe veilige database-inloggegevens worden automatisch ingericht voor de gekloonde omgeving.
  5. Configuratieregistratie: De nieuwe omgeving wordt gekoppeld aan de globale instellingen van het project.
  6. Resourcekopiëring: Indien geselecteerd, worden bestandsproviders, gateway-routes, beveiligingsconfig en omgevingsvariabelen gekopieerd van de bron naar de nieuwe omgeving.
  7. Statusactivering: De omgevingsstatus gaat over naar active en wordt beschikbaar voor gebruik.

Als een stap faalt, voert het systeem een automatische rollback uit: de gekloonde database en bijbehorende referenties worden verwijderd, zodat er geen weesresources overblijven.


mutation BranchEnvironment($input: BranchEnvironmentInput!) {
branchEnvironment(input: $input) {
success
message
environment {
id
name
parentId
parentName
branchMode
branchedAt
status
createdAt
updatedAt
}
}
}

Variables:

{
"input": {
"projectId": "f7e4a264-d659-4719-91e8-c2d74654e529",
"name": "staging",
"sourceEnvironment": "master",
"mode": "full",
"copyFileProviders": true,
"copyGatewayRoutes": true,
"copySecurityConfig": false,
"copyEnvironmentVariables": true
}
}

Response:

{
"data": {
"branchEnvironment": {
"success": true,
"message": "Environment created successfully",
"environment": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "staging",
"parentId": "master-env-id",
"parentName": "master",
"branchMode": "full",
"branchedAt": "2026-03-08T20:00:00Z",
"status": "active",
"createdAt": "2026-03-08T20:00:00Z",
"updatedAt": "2026-03-08T20:00:05Z"
}
}
}
}
VeldTypeVerplichtBeschrijving
projectIdStringJaDe unieke identifier van het project
nameStringJaNaam voor de nieuwe omgeving
sourceEnvironmentStringJaNaam van de omgeving om van te vertakken
modeStringJaKloonmodus: "full" of "system"
copyFileProvidersBooleanNeeKopieer bestandsopslagproviderconfiguraties
copyGatewayRoutesBooleanNeeKopieer aangepaste API gateway-routes
copySecurityConfigBooleanNeeKopieer CORS- en rate limit-instellingen
copyEnvironmentVariablesBooleanNeeKopieer sleutel-waardeparen van omgevingsvariabelen
  • Het aanmaken van een omgeving zonder kopieervlaggen vereist standaard projecttoegang.
  • Het inschakelen van een kopieervlag (copyFileProviders, copyGatewayRoutes, copySecurityConfig, copyEnvironmentVariables) vereist de ProjectOwner-rol, aangezien deze bewerkingen het kopiëren van gevoelige configuratiegegevens betreffen.