Orbit

Gedeelde omgevingsvariabelegroepen

An environment variable group holds values that several Orbit projects need, such as a shared API key or a database credential, in one place. Link the group to the projects that need it and every…

Een omgevingsvariabelgroep bevat waarden die verschillende Orbit-projecten nodig hebben, zoals een gedeelde API-sleutel of databasegegevens, op één plek. Koppel de groep aan de projecten die deze nodig hebben en elk van hun builds krijgt deze variabelen, zodat het roteren van een sleutel één bewerking is in plaats van zes.

Waar omgevingsvariabelgroepen zich bevinden

Open Orbit en kies Env groups uit de navigatie op het hoogste niveau. De pagina heet Shared env var groups en beschrijft deze als groepen op accountniveau die worden gedeeld tussen verschillende Orbit-projecten.

Groepen bevinden zich boven projecten. De eigen variabelen van een project bevinden zich nog steeds op het tabblad Env vars: zie Omgevingsvariabelen in Orbit.

Wanneer een groep gebruiken

De test is eenvoudig: wordt dezelfde waarde in meer dan één project geplakt?

Goede kandidaten:

  • Een gedeelde analytiek- of foutopsporing-sleutel die door elke front-end wordt gebruikt.
  • Een verbindingsreeks voor lees-replica's die door verschillende interne hulpmiddelen wordt gebruikt.
  • Een API-sleutel van derden voor een service waarmee het hele account communiceert.
  • Een gemeenschappelijk feature-flag-clienttoken.

Slechte kandidaten:

  • Alles wat specifiek is voor één project. Dit hoort in dat project thuis.
  • Alles wat verschilt tussen productie en preview. Groepen zijn niet per omgeving, dus een waarde die per omgeving verandert, hoort in de eigen omgevingsvariabelen van het project.

Een groep maken

  1. Klik op New group.
  2. Geef het een Group name, tot 64 tekens. Geef het een naam naar wat het bevat, bijvoorbeeld de service waar de inloggegevens toe behoren.
  3. Voeg een optionele Description toe.
  4. Klik op Create group.

Een account kan tot 20 groepen bevatten. Wanneer u de limiet bereikt, toont de knop (limit reached) en wordt het maken van een andere geweigerd.

Voor het maken, bewerken en verwijderen van een groep is een eigenaar- of beheerdersrol op het account vereist. Ontwikkelaars en kijkers kunnen groepen zien maar niet wijzigen, wat opzettelijk is: een groepbewerking verandert meerdere projecten tegelijk.

Variabelen toevoegen

Open de groep en gebruik de sectie Variables:

  1. Klik op Add variable.
  2. Voer de sleutel en de waarde in.
  3. Vink Mark as secret aan voor alles wat gevoelig is.
  4. Klik op Save group.

Een variabele die als geheim is gemarkeerd, wordt gecodeerd opgeslagen en de waarde ervan wordt achteraf niet aan het paneel geretourneerd. De lijst toont de sleutel en een indicator Marked as secret (hidden) in plaats van de waarde. Waarden die niet geheim zijn, blijven zichtbaar, zodat u ze in één oogopslag kunt controleren.

Een variabele als geheim markeren betekent dat u deze niet terug kunt lezen uit het paneel. Dat is het doel, maar het betekent ook dat de groep geen wachtwoordmanager is. Bewaar het gezaghebbende exemplaar waar uw team al inloggegevens bewaart en behandel de groep als het distributie-mechanisme.

Als u de waarde van een geheim wilt wijzigen, typt u de nieuwe en slaat u op. Als u een variabele wilt verwijderen, klikt u op Remove in de rij en slaat u op.

Projecten koppelen

De sectie Linked projects bevat een lijst van elk project in het account. Klik op een project om het te koppelen of ontkoppelen; gekoppelde projecten zijn gemarkeerd. Sla de groep op om toe te passen.

Een groep zonder gekoppelde projecten doet niets, en de sectie zegt No projects yet totdat u één koppelt.

Groepsvariabelen worden tijdens het compileren geïnjecteerd, dus het koppelen van een project beïnvloedt de volgende build, niet de huidige live-implementatie. Als u de wijziging nu nodig hebt, implementeert u opnieuw: zie Uw project implementeren.

Prioriteit

De regel wordt op de pagina vermeld: groepsvariabelen worden tijdens het compileren geïnjecteerd, en variabelen op projectniveau en omgevingsniveau hebben voorrang op groepsvariabelen.

Met andere woorden, het meest specifieke wint:

  1. Variabelen op omgevingsniveau, hoogste prioriteit.
  2. Variabelen op projectniveau.
  3. Groepsvariabelen, laagste.

Die volgorde is nuttig in plaats van slechts een technische zaak. Stel de gedeelde standaard in de groep in en negeer deze in het ene project dat iets anders nodig heeft, zonder dat project uit de groep te verwijderen. Zie Omgevingsvariabelen per omgeving voor de omgevingslaag.

Het verklaart ook de meest voorkomende verwarring met groepen: u bewerkt de groep, implementeert opnieuw en niets verandert, omdat het project zijn eigen variabele met dezelfde sleutel zachtjes wint. Controleer eerst het tabblad Env vars van het project zelf wanneer een groepswaarde lijkt te worden genegeerd.

Een gedeelde inloggegevens roteren

Dit is de workflow waarvoor groepen bestaan:

  1. Maak de nieuwe inloggegevens bij de provider, terwijl u de oude actief laat.
  2. Bewerk de waarde in de groep en sla op.
  3. Implementeer elk gekoppeld project opnieuw of wacht op de volgende implementatie.
  4. Bevestig dat elk project met de nieuwe inloggegevens werkt.
  5. Intrek de oude inloggegevens bij de provider.

Stap 5 het eerst uitvoeren geeft u een periode waarin elk gekoppeld project tegelijk verbroken is, wat precies het risico is dat een gedeelde inloggegevens concentreert.

Een groep verwijderen

Klik op delete in de groep. De bevestiging geeft specifiek aan wat de gevolg is: toekomstige builds verliezen deze variabelen, en reeds voltooide builds worden niet beïnvloed.

Het verwijderen ontkoppelt ook elk project. Dit betekent dat de actieve implementaties met de waarden waarmee zij zijn gebouwd, doorgaan, en de volgende build van elk gekoppeld project deze zonder verliest. Als deze variabelen vereist zijn, mislukt die build of werkt de app onjuist tijdens runtime.

Voordat u verwijdert, ontkoppelt u projecten één voor één en implementeert u elk opnieuw, zodat u ontdekt welke eigenlijk afhankelijk zijn van de groep voordat zij allemaal deze verliezen.

Praktisch advies

Houd groepen klein en doelgericht. Één groep per externe service slaat één gigantische "gedeelde" groep, omdat u exact de projecten kunt koppelen die elk ding nodig hebben.

Geef sleutels overal hetzelfde naam. Als het ene project SENTRY_DSN leest en het andere SENTRY_KEY, kan een gedeelde groep u niet helpen. Standaardiseer eerst de namen.

Plaats geen productie-inloggegevens in een groep die is gekoppeld aan projecten met openbare voorbeelden. Groepsvariabelen bereiken elke build van een gekoppeld project, inclusief voorbeelden.

Probleemoplossing

Een build ziet de variabele niet. Bevestig dat het project is gekoppeld en opgeslagen, en dat de build na de koppeling is uitgevoerd. Groepsvariabelen gelden vanaf de volgende build.

De waarde is onjuist tijdens runtime. Een variabele op projectniveau of omgevingsniveau met dezelfde sleutel overschrijft deze. Controleer het tabblad Env vars van het project.

Create group is niet beschikbaar. U bent bij de limiet van 20 groepen, of uw accountrol is niet eigenaar of beheerder.

De waarde van een geheim wordt leeg weergegeven. Dat klopt. Geheime waarden worden na het opslaan niet aan het paneel geretourneerd.

Een project brak na een groepbewerking. Draai de waarde in de groep terug en implementeer opnieuw, werk dan uit welk project het niet eens was. Een implementatie terugdraaien maakt de live site gezond terwijl u dit doet.

Waar nu naartoe

Nog steeds hulp nodig?

Stuur ons een e-mail op support@kapsulehost.com of open een chat in KPanel.

KPanel openen
Gedeelde omgevingsvariabelegroepen