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 → Je app en voeg er één toe per omgeving die je hebt. De velden zelf staan uitgelegd bij Je app — hieronder gaat het om wat 1plek er vervolgens mee doet.
Twee dingen die je daar invult zijn technisch:
- Adres is het adres waarop de platform-API van díé omgeving bereikbaar is.
- Service-sleutel is waarmee 1plek zich daar meldt: de
PLATFORM_SERVICE_KEYvan die omgeving. Hij wordt versleuteld opgeslagen en is daarna niet meer op te vragen; een leeg sleutelveld bij het bewerken betekent "niet wijzigen", niet "wissen".
Geef elke omgeving zijn eigen service-sleutel. Eén sleutel voor alles betekent dat een lek op stage ook je productie-omgeving opent.
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 hangt de rem die ertoe doet: er kan niet naar een productie-omgeving gesynchroniseerd worden. Wat 1plek alleen op een testomgeving mag doen, wordt op een draaiende winkel geweigerd door de server — niet alleen door het scherm. Eén verkeerd vinkje mag dat 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.