Features

Under arbeid

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

Skru på en feature om gangen.

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:

  1. Søk opp ditt teams sitt IaC-repoet under https://github.com/statisticsnorway/.
  1. I repoet åpner du fila ./infra/projects.yaml. Se eksempel for teamet play-obr til høyre.
  2. 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 der env: test.
  3. 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.
  4. I PR-en venter du og ser at atlantis/plan1 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
Bilde av testene som Atlantis plan gjør i en PR mot et IaC-repo i SSB.
Figur 1: Atlantis plan planlegger endringen og sjekker om den er klar til gjennomføring.
  1. 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.
Bilde av testene som Atlantis gjør i en PR mot et IaC-repo i SSB.
Figur 2: Sjekker av PR-er i teamets IaC-repo.
  1. 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.

  2. Etter at atlantis apply er kjørt, så kan du merge inn branchen til main.

  3. 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

  1. 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 fra atlantis plan fikses før man faktiske kan effektuere endringene med atlantis apply. ↩︎