Voor ontwikkelaars
Omgevingen en synchroniseren
Productie, stage en dev van je app naast elkaar in 1plek — en hoe je een testomgeving vult met een kopie van productie.
De meeste organisaties draaien hun app meer dan één keer: een productie-omgeving voor echte klanten, en daarnaast een stage- of ontwikkelomgeving om iets uit te proberen. Dat zijn verschillende databases, met verschillende sleutels.
In 1plek zet je die omgevingen naast elkaar onder het bedrijf waar ze bij horen. Je kiest er dan één als je iets beheert, en je kunt een testomgeving vullen met een verse kopie van een andere.
Een omgeving toevoegen
Ga naar Console → een bedrijf → Omgevingen en voeg er één toe per omgeving die je hebt.
| Veld | Wat het is |
|---|---|
| Naam | Hoe de omgeving in de kiezer heet, bijvoorbeeld Productie of Stage |
| Sleutel | Vaste naam die je app terugkrijgt bij een sync (production, staging, …) |
| Productie-omgeving | Aan = echte klanten en echt geld |
| Adres van de platform-API | Waar 1plek deze omgeving bereikt |
| Service-sleutel | Waarmee 1plek zich meldt — de PLATFORM_SERVICE_KEY van die omgeving |
| Wat deze omgeving aanbiedt | Welke onderdelen 1plek hier mag beheren |
Geef elke omgeving zijn eigen service-sleutel. Eén sleutel voor alles betekent dat een lek op stage ook je productie-omgeving opent.
De sleutel wordt versleuteld opgeslagen en is daarna niet meer op te vragen. Een leeg sleutelveld bij het bewerken betekent "niet wijzigen", niet "wissen".
Wat als je nog niets invult
Zolang een bedrijf geen omgevingen heeft, gebruikt 1plek de verbinding die op de server is ingesteld — precies zoals het daarvoor werkte. Zodra je hier je eerste omgeving toevoegt, neemt deze lijst het over. Zet er dus in één keer alles neer wat je nodig hebt.
Wanneer telt iets als productie
Twee dingen bepalen dat samen, en de strengste wint:
- de schakelaar die je zelf zet, en
- wat het adres verraadt — een naam als
stage.ofdev.erin wijst op een testomgeving, al het overige geldt als productie.
Zeg je "geen productie" bij een adres dat naar je live app wijst, dan geldt productie. De omgevingenlijst zegt dat er dan bij. Andersom werkt het niet: de schakelaar kan de bescherming alleen aanzetten, nooit uit.
Dat is met opzet. Aan deze uitkomst hangen twee remmen: testmodus voor betalingen kan niet aan op een draaiende winkel, en er kan niet naar een productie-omgeving gesynchroniseerd worden. Eén verkeerd vinkje mag die niet openzetten.
Synchroniseren
Onder Developers → Omgevingen & sync kies je waar de kopie vandaan komt en welke omgeving overschreven wordt.
De sync draait in jouw app, niet in 1plek. Alleen jouw app kan bij zijn eigen databases; 1plek raakt ze nooit rechtstreeks aan. Wat 1plek doet is het startsein geven aan de omgeving die de kopie ontvangt, en de voortgang tonen.
Naar een productie-omgeving kan niet gesynchroniseerd worden. Die keuze is er niet, en mocht een verzoek er toch langs komen, dan wordt het geweigerd.
Wat je app moet kunnen
Om te kunnen synchroniseren biedt je app twee routes aan:
GET /api/platform/sync → { available, unavailableReason, status, runs }
POST /api/platform/sync → { source: "production" }POSTstart de sync: overschrijf de database van deze omgeving met een kopie uit de omgeving met sleutelsource. Ken je dat veld niet, dan mag je je eigen standaard aanhouden.GETvertelt of er nu een sync loopt en wat de laatste runs waren, zodat 1plek de voortgang kan tonen.- Zet daarna
syncbij Wat deze omgeving aanbiedt — maar pas als de routes er echt zijn. Die naam maakt de knop zichtbaar; staat er niets achter, dan levert de knop alleen een foutmelding op.
Grendel het zelf ook af aan jouw kant: een sync die per ongeluk op je productie-app binnenkomt, hoort daar geweigerd te worden.
Sessies, inloggegevens en logboeken horen niet in de kopie. Anders logt iedereen op je testomgeving uit, en gaan logregels van productie een tweede leven leiden op een plek waar ze niet thuishoren.