navikt / navno-cms-archive

MIT License
0 stars 0 forks source link

NAV CMS-arkiv

Frontend for CMS-arkivet. Den er delt i to applikasjoner, en som viser arkivinnhold fra 2006-2019 (CMS legacy arkiv) og en som viser innhold fra 2019 som kommer fra Enonic XP.

https://cms-arkiv.intern.nav.no

Lokal utvikling

For å kjøre opp applikasjonene må man gjøre følgende:

  1. Installere avhengigheter Både i rot men også inne i de to respektive applikasjonene. Avhengigheter i common-mappa blir installert fra rot da det er definert som et workspace.
npm install
  1. Bygge appene
npm run build -C legacy-archive
npm run build -C xp-archive
  1. (Kun første gang) Kopiere .env-template. Husk å endre NODE_ENV=production i .env.prod-local filen.
cp legacy-archive/.env-template legacy-archive/.env.development
cp legacy-archive/.env-template legacy-archive/.env.prod-local

cp xp-archive/.env-template xp-archive/.env.development
cp xp-archive/.env-template xp-archive/.env.prod-local

Sett NODE_ENV=production i xp-archive/.env.prod-local og legacy-archive/.env.prod-local

For legacy arkivet trenger du også credentials for open-search, se Enonic CMS legacy arkiv

  1. Starte applikasjon i dev-modus For legacy-archive må man logge på aiven-prod i naisdevice.
npm run dev -C legacy-archive
npm run dev -C xp-archive
  1. Relaterte applikasjoner Vi bruker tjenester i nav-enonicxp for å hente ut innholdsinformasjon og nav-enonicxp-frontend for å rendre innholdet, så de må kjøres opp lokalt for å få hentet informasjon.

Troubleshooting

Hvis du har problemer med at css og js ikke laster ved første oppstart i dev-modus, prøv å start appen i prod-modus en gang og se om det løser problemet.

npm run start-local -C xp-archive

Hvis iframes ikke vises, sjekk om du får cors-issues i srcdoc. Disse vil oppstå hvis du kjører nav-enonicxp-frontend i dev-modus og ikke i prod-modus.

Enonic CMS legacy arkiv (2006-2019)

Dette er et arkiv av innhold fra Enonic CMS, som Nav benyttet fra 2006-2019. Arkivet har to deler: SBS (nav.no og annet åpent innhold) og FSS (intranett).

Innholdet ble migrert til en Opensearch-database: https://opensearch-personbruker-enonic-cms-archive-nav-prod.a.aivencloud.com

Migrerings-applikasjonen finnes her: https://github.com/navikt/enonic-cms-site-extractor

Logger for migreringsjobbene finnes i Opensearch-databasen, under index'ene cmssbs_migrationlogs og cmsfss_migrationlogs.

Oppsett for utvikling

Credentials for opensearch må legges inn i .env filer lokalt. Disse kan hentes ut fra kubernetes secret aiven-navno-cms-archive-*.

Sett context til prod-gcp:

kubectl config use-context prod-gcp

List ut secrets:

kubectl get secret -n personbruker

Be om tilgang til aiven-prod i naisdevice.

Åpne secret:

kubectl edit secret -n personbruker aiven-navno-cms-archive-<id> //Bytt ut <id> med id fra lista

Dekod OPEN_SEARCH_URI, OPEN_SEARCH_USERNAME og OPEN_SEARCH_PASSWORD fra base64:

echo <OPEN_SEARCH_URI> | base64 --decode

Fjern eventuelt trailing prosent-tegn.

Erstatt disse feltene med dekodede verdier fra secrets i .env.prod-local og .env.development: (IKKE i .env-template)

OPEN_SEARCH_URI=http://my-opensearch-instance
OPEN_SEARCH_USERNAME=username
OPEN_SEARCH_PASSWORD=password

Husk å ikke commit secrets! 👿