{"id":23306834,"url":"https://github.com/navikt/vtp","last_synced_at":"2026-03-05T08:31:05.089Z","repository":{"id":35650988,"uuid":"176907179","full_name":"navikt/vtp","owner":"navikt","description":"Virtuell tjenesteplattform","archived":false,"fork":false,"pushed_at":"2026-03-03T10:29:49.000Z","size":5918,"stargazers_count":12,"open_issues_count":4,"forks_count":4,"subscribers_count":25,"default_branch":"master","last_synced_at":"2026-03-03T13:44:18.041Z","etag":null,"topics":["backend","felles","foreldrepenger","fpsak","k9","mock"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/navikt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-21T08:59:23.000Z","updated_at":"2026-03-02T14:09:51.000Z","dependencies_parsed_at":"2023-02-17T21:30:57.428Z","dependency_job_id":"d1e99055-9f02-4dc4-aa62-987dcc2a9e41","html_url":"https://github.com/navikt/vtp","commit_stats":null,"previous_names":[],"tags_count":357,"template":false,"template_full_name":null,"purl":"pkg:github/navikt/vtp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fvtp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fvtp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fvtp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fvtp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/navikt","download_url":"https://codeload.github.com/navikt/vtp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fvtp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30115911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T08:19:04.902Z","status":"ssl_error","status_checked_at":"2026-03-05T08:17:37.148Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","felles","foreldrepenger","fpsak","k9","mock"],"created_at":"2024-12-20T12:18:58.811Z","updated_at":"2026-03-05T08:31:05.056Z","avatar_url":"https://github.com/navikt.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=navikt_vtp\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=navikt_vtp)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=navikt_vtp\u0026metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=navikt_vtp)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=navikt_vtp\u0026metric=code_smells)](https://sonarcloud.io/dashboard?id=navikt_vtp)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=navikt_vtp\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=navikt_vtp)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=navikt_vtp\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=navikt_vtp)\nVirtuell Tjeneste Plattform (VTP)\n=================================\n![alt text](docs/vtp.png \"Logo Title Text 1\")\n\n\n#### VTP hjelper deg med å: \n- virtualisere grensesnitt rundt applikasjonene i FP-familien. \n- instansierer og holde testdata konsistente på tvers av grensesnittene\n- ha en plattform for å simulere grensesnitt over REST, GRAPHQL, Kafka, LDAP.\n- sikkerhetshåndtering over OAuth2\n- REST-grensesnitt for å programatisk opprette testdata (for automatiske tester) \n- GUI for å opprette testdata for mennesker.\n\n# Henvendelser\n\n- Team Foreldrepenger \u003cteamforeldrepenger(at)nav.no\u003e\n- Team Sykdom-i-familien\n\n## For Nav-ansatte\nInterne henvendelser kan sendes via Slack i kanalen #vtp-chatten\n\n## Teknologi som må installeres\n- Java (https://adoptopenjdk.net/)\n- Maven (http://maven.apache.org/)\n\n## Starte applikasjon\nFor utvikling på VTP benytt oppsett for å starte server gjennom IDE.\nI verdikjedetester benyttes oftest Docker-image av VTP. Dette bygges i VTP sin pipeline. \n\nNår applikasjonen har startet blir Swagger konfigurasjonen tilgjengelig på http://localhost:8060/rest/openapi.json\nSwagger-ui kan startet vi docker-compose oppsett i /swagger-ui og blir da tilgjengelig på http://localhost:8061/swagger/\n\n#### Starte backend-server via IDE\n* IntelliJ må konfigureres med å sette classpath of module til server, og sette working directory til `$MODULE_WORKING_DIR$` i run/debug-konfiguration.\n* Start mock serveren ved å kjøre MockServer (lokalt).\n\n#### Kjøre via docker run / docker-compose\n##### For å bygge docker image lokalt: \nBygg prosjektet med `mvn clean install\"`, bygg deretter docker-imaget med `docker build -t vtp .` \nImaget blir da tilgjengelig som vtp:latest\n\n##### Hente docker-image bygget i pipe: \ndocker pull ghcr.io/navikt/vtp (dette krever at en allerede logget inn med docker hos ghcr.io)\n\n## Opprette testdata \nTestscenarios opprettes ved hjelp av `TestscenarioRestTjeneste.java`. Her sende man inn en JSON-string av testpersonen(e),\ntestpersonen blir instansiert i VTP og tilgjengliggjort i alle mockene, og den instansierte testpersonen returneres.\n\nJSON objektet har følgende struktur og godtar at en eller flere felter mangler:\n\n```json5\n{\n     \"scenario-navn\": \"\",\n     \"personopplysninger\": {  },\n     \"inntektytelse-annenpart\": {  },\n     \"inntektytelse-søker\": {  },\n     \"organisasjon\": {  },\n     \"vars\": {  }\n }\n```\nEksempel på hvordan en kan gjøre dette befinner seg i `model/src/test/ScenarioTest.java` med hjelpeklassen \n`model/src/test/TestscenarioHenter.java`. Hjelpeklassen leser av .json filer og oversetter det til en JSON streng som\nkan bli brukt i requesten.\n\n## Kjør tester\n* Automatiske tester for FPSAK (og andre FP*-familieapplikasjoner) ligger i eget repo på GitHub (private): [fpsak-autotest](https://github.com/navikt/fpsak-autotest)\n* Automatiske tester for K9-applikasjoner ligger i eget repo på GitHub (private): [k9-verdikjede](https://github.com/navikt/k9-verdikjede)\n \n\n## Sertifiakter for SSL/TLS\nFor å få VTP til å kjøre med SSL/TLS forbindelse over REST, GRAPHQL og Kafka må keystore angitt i VTP være tilgjengelig i SUT (System under test) sin Truststore. \nFor lokal utvikling på Team Foreldrepenger og Sykdom-i-familien opprettes key- og truststore i.h.t til instruksjoner i verdikjede/autotest. \nFølgende systemvariabler kan defineres for å overstyre defaults i VTP: \n\n```bash\nJAVAX_NET_SSL_TRUSTSTORE\nJAVAX_NET_SSL_TRUSTSTOREPASSWORD\nNO_NAV_MODIG_SECURITY_APPCERT_KEYSTORE\nNO_NAV_MODIG_SECURITY_APPCERT_PASSWORD\n```\n\n## Konfigurere nye tjenester\nSe ApplicationConfig for liste over registrerte REST-tjenester. Nye REST-tjenester registreres her.     \n\n## Kjente feil \nSwagger-codegen kommer med en recuring problem med manglende SLF4J binding (see https://github.com/swagger-api/swagger-codegen/issues/12135)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavikt%2Fvtp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnavikt%2Fvtp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavikt%2Fvtp/lists"}