Giter Club home page Giter Club logo

tms-ktor-template's Introduction

tms-ktor-template

Kan brukes som utgangspunkt for å opprette nye Ktor-apper for Team Min Side.

Tilpass repo-et

Tilpass navn

  1. Søk etter og erstatt tms-ktor-template med det som skal være navnet på den nye appen.
  2. Endre navnet på mappen src/main/kotlin/no/nav/tms/template til noe som passer for den nye appen.
  3. Tilpasse pakkenavnene, søk etter og erstatt tms.template med tms.<ny mappestruktur>.

Legg til autentisering

De fleste apper i vårt domene trenger enten å validere tokenx-tokens eller å integrere mot ID-Porten.

Benytt deg av dependencies fra implementation(Tms.KtorTokenSupport.<modul>) for å komme raskt i gang.

Referer til repo navikt/tms-ktor-token-support for mer info om bruk.

Velg riktig ingress

Templaten kommer konfigurert med to sett med ingresser. Det ene er ment for apper som skal nåes fra frontend, og det andre for apper som kun skal nåes fra andre tjenester eller naisdevice:

  • Skal nåes fra frontend: https://person.(dev.)nav.no/<appnavn>
  • Skal kun nåes fra andre tjenester: https://<appnavn>.(dev.)intern.nav.no/<appnavn>

Workflows

Endre navn på mappen .github/workflow_files til .github/workflows for at github actions skal plukke dem opp.

Det er god sannsynlighet for at dette prosjektet henger etter workflows fra andre prosjekt. Husk å legge til prosjektet i pb-workflow-authority.

Influxdb

Noen apper trenger å rapportere metrikker til en influxdb instans. For å konfigurere vårt bibliotek for dette trenger vi en rekke variabler. Disse kan hentes fra en secret influxdb-credentials, som ligger i namespaces min-side.

Eksempel:

spec:
   envFrom:
    - secret: influxdb-credentials

Det er lagt til utkommentert kode for å hente variablene i Environment.kt. Fjern koden eller kommenteringen etter behov.

Variablene brukes kan som følgende for å opprette en client:

val sensuconfig = InfluxConfig(
     applicationName = environment.applicationName,
     hostName = environment.influxdbHost,
     hostPort = environment.influxdbPort,
     databaseName = environment.influxdbName,
     retentionPolicyName = environment.influxdbRetentionPolicy,
     clusterName = environment.clusterName,
     namespace = environment.namespace,
     userName = environment.influxdbUser,
     password = environment.influxdbPassword
)

val reporter = InfluxMetricsReporter(sensuConfig)

Se bruk i andre prosjekt for referanse.

Kom i gang

  1. Bygg tms-ktor-template ved å kjøre gradle build
  2. Start appen lokalt ved å kjøre gradle runServer
  3. Appen nås på http://localhost:8101/tms-ktor-template
    • F.eks. via curl http://localhost:8101/tms-ktor-template/internal/isAlive

Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på github.

For NAV-ansatte

Interne henvendelser kan sendes via Slack i kanalen #team-personbruker.

tms-ktor-template's People

Contributors

chris-santa avatar robert-larsen avatar atleno avatar

Stargazers

Sergio A. Arevalo Soria avatar

Watchers

Truls Jørgensen avatar Sergio A. Arevalo Soria 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.