Features
Features må foreløpig skrus på av plattformteamene. Ta kontakt med Kundeservice hvis du ønsker å få en feature skrudd på.
En feature er en GCP-tjeneste som som er satt opp og konfigurert slik at Dapla-team kan ta det i bruk på en enkel og selvbetjent måte. Når man tar i bruk en feature kan man være sikker på at sikkerhet og beste-praksis i SSB er ivaretatt. Et viktig poeng med features er at teamene selv skal kunne skru av og på features etter behov.
Foreløpig er det tilgjengeliggjort følgende features på Dapla:
- dapla-buckets
dapla-buckets er en feature som gir deg Google Cloud Storage bøttene som statistikkteam skal bruke for å lagre data i Dapla. Dvs. en bøtte for kildedata, en bøtte for produkt-data, og en bøtte for delt data. - kildomaten kildomaten er en feature som gir deg tilgang til Kildomaten. Den lar deg automatisere prosessering av data fra kildedata til inndata ved hjelp av Cloud Run.
- transfer-service
transfer-service er en feature som gir deg tilgang til å overføre data mellom lagringstjenester i Dapla. Den lar deg overføre data mellom bøtter, og mellom bakke- og skyplattformen i SSB. Den er bygget på GCP-tjenesten Google Transfer Service. - shared-buckets
shared-buckets er en feature som lar teamet selv opprette delt-bøtter og styre tilganger til disse.
Aktivere feature
Hvis du ønsker å skru på flere features samtidig, så må du gjøre det i flere PR-er. Atlantis vil ikke klare å håndtere flere features i samme PR. Følg oppskriften under for hver feature du ønsker å skru på.
Aktivering av en feature for Dapla-teamet ditt er veldig enkelt. Endringen er så liten at vi anbefaler å gjøre endringen direkte i GitHubs grensesnitt, uten å klone repoet først. Slik går du frem:
- Søk opp ditt teams sitt IaC-repoet under https://github.com/statisticsnorway/.
- I repoet åpner du fila
./infra/projects.yaml
. Se eksempel for teametplay-obr
til høyre. - Finn ut om du ønsker å skru på en feature i test eller prod. Hvis du ønsker å gjøre det i prod, så skal du legge til en linje under features der
env: prod
. Hvis du ønsker å gjøre det i test, så skal du legge til en linje under features derenv: test
. - Du kan legge til linjen ved å trykke på -ikonet øverst til høyre i fila, endre teksten, og trykke på Commit changes. Velg deretter hvilket navn du ønsker på branchen, og trykk Create pull request.
- I PR-en venter du og ser at
atlantis/plan
1 har blitt kjørt og får en til venstre for hver kjøring, slik som vist i Figur 1.
./infra/projects.yaml
team_uniform_name: play-obr
projects:
- project_name: play-obr
env: test
features:
- dapla-buckets
- kildomaten
- project_name: play-obr
env: prod
features:
- dapla-buckets
- Hvis alt er i orden så ber du en kollega om å se over endringen og godkjenne hvis alt ser riktig ut. Når den er godkjent vil du se et bilde som ligner det du ser i Figur 2.
Når PR er godkjent av en kollega, og
atlantis plan
ikke viser noen feilmeldinger, så kan du effektuere endringene ved åatlantis apply
i kommentarfeltet til PR-en. Kommentareren vil trigge en kjøring som effektuerer alle endringer på plattformen.Etter at
atlantis apply
er kjørt, så kan du merge inn branchen til main.Til slutt kan du slette branchen.
Når dette er gjort så endringen effektuert på Dapla og klar til bruk. For eksempel, hvis vi hadde aktivert transfer-service i prod for projects.yaml
over, så ville den etter endringen sett slik ut:
./infra/projects.yaml
team_uniform_name: play-obr
projects:
- project_name: play-obr
env: test
features:
- dapla-buckets
- kildomaten
- project_name: play-obr
env: prod
features:
- dapla-buckets
- transfer-service
Deaktivere en feature
For å deaktivere en feature som ikke lenger i bruk, så følger du bare beskrivelsen for Aktivere tjeneste over, med det unntak at du nå fjerner en linje istedenfor å legge til.
Fotnoter
Det som skjer når
atlantis plan
kjøres er at det genereres en detaljert beskrivelse av hvilke endringer som må skje på plattformen for at teamets feature skal aktiveres. Derfor må eventuelle feilmeldinger fraatlantis plan
fikses før man faktiske kan effektuere endringene medatlantis apply
. ↩︎