Giter Club home page Giter Club logo

skeleton-app-sommerstudenter2021's Introduction

Skeleton Kafka app Sommerstudenter 2021

Oppgave

Enhver sommerstudent skal;

  1. Forke dette repoet til et nytt et innenfor NAVIKT[1]
    • Dette må gjøres manuelt, noe á la:
      1. Lag nytt repo manuelt innenfor NAVIKT (putt gjerne ditt github brukernavn inn i repo navnet)
        • Uten å lage README, gitignore, eller noe annet som lager commits. Må være "tomt".
      2. Utfør følgende i en terminal:
        git clone [email protected]:navikt/skeleton-app-sommerstudenter2021.git
        cd skeleton-app-sommerstudenter2021
        git remote set-url origin [email protected]:navikt/<ditt nye repo navn>.git
        git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)
  2. Legge inn sitt Github brukernavn i nais/nais.yaml: her[2]
  3. Skrive Kotlin kode i fil ProduceRoute.kt
    • Kode man kan ta utgangspunkt i
  4. Legge inn NAIS_DEPLOY_APIKEYen tilhørende namespacet sommerstudenter2021 som hemmelighet i sitt forkede repo (finnes her: NAIS deploys)
  5. Utnytte Github Workflow Pipeline til å deploye applikasjonen
  6. Sende HTTP GET Requests til https://<github brukernavn>.dev.intern.nav.no
  7. Kunne se på dette Grafana dashboardet at meldingen ble mottatt av Kafka topicen! =)
Footnotes

[1]: Fordi vi vil at dere skal kunne jobbe i isolasjon og "herje vilt" i eksperimenteringen og læringen dere gjør i denne prosess uten å bli forstyrret av andres innsats.
[2]: For at CI/CD pipelinen Github Workflow skal kunne fungere (les: så dere ikke deployer appen deres "oppå hverandres"), må disse tingene være unike til deres github konto f.eks.
[3]: Dette må gjøres for at deres applikasjon skal få lov til å skrive til Kafka topic'en som dere skal sende meldinger på. Her er det acl (les: Access Control List) som bestemmer hvem som får lov til å skrive.
[4]: Dette må til for at deres git repo's pipeline (les: [2]) skal få lov til å deploye til clusterene våre i NAV. Disse er "låst" bak slike nøkler - alle namespaces har hver sin nøkkel. Medlemmer av namespacet kan hente denne som beskrevet.

Formål

Dette repoet inneholder en demo app som har som formål å la sommerstudentene;

  • bygge et eget docker image
  • deploye dette med NAIS
  • og få denne eksponert på en https://<sitt github brukernavn>.dev.intern.nav.no adresse

Når;

  1. appen mottar en HTTP GET request til /produce/<en html parset melding>, skal det
  2. dukke opp på grafana URL at "app X har sendt melding til kafka-topic sommer-kafka!"

Pre-requisites

Enhver sommerstudent må ha;

  1. En NAV laptop
  2. naisdevice installert og satt opp
  3. gcloud installert og logget inn med Google NAV-epost konto
  4. kubectl installert ihht. versjonen på dev-gcp clusteret
    • "At time of commit" er dette v1.18.*, det går bra med versjonsdiff på opptil 1-2 feature versjoner
    • Følge løpet og sette opp KUBECONFIG miljøvariabel ihht. doc.nais.io
  5. git installert og tilgjengelig i terminal, samt author og ssh nøkler satt hhv. lokalt og hos github
  6. Lagt seg til i navikt Github orgen på NAV myapps
  7. java jdk installert (les: JAVA_HOME må fungere i samarbeid med gradlew[.bat])
  8. Zoom installert
  9. Være lagt til sommerstudenter2021 gruppen tilgjengelig på mygroups.microsoft.com når logget inn med sin NAV AD bruker

Skrevet av:

skeleton-app-sommerstudenter2021's People

Contributors

x10an14-nav avatar

Stargazers

Emil Albrektsson avatar

Watchers

Truls Jørgensen avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.