Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootCertificate Revocation Authority (CRA) - Leverancebeskrivelse
includeroottrue


Indhold

Table of Contents

Introduktion

Formål

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af CRA, kan sættes op, samt hvordan koden bygges, deployes og testes.

...

Man skal bruge Maven til at bygge CRA, hvilket gøres ved at køre kommandoen

mvn package


Efter byg kan WAR filer findes her:

./dros-war/target/dros.war

Afvikling

Der henvises til installationsvejledningen for nærmere instrukser.

...

Dette kan gøres vha. docker-compose:

docker-compose -f compose/development/docker-compose.yml up --bulid

Når CRA er startet er, svarer den på:

NB! I udviklingssetup'et peges der på det på NSP TEST1 installerede OpenText registry. Dette gøres for, at svarene for DROS bliver korrekte, også i development setup. Integrationstestene kan derfor køres mod development. Det er nødvendigt, at docker-compose setup (og integrationstesten) afvikles på en maskine, der er whitelistet til at tilgå NSP TEST1 XDS registry.

I docker-compose setup i development er tilknytningen til NSP TEST1 XDS registry lavet på følgende måde:

  1. OpenXDS repository (openxds-server) peger på registry url http://registryproxy:80/registry/services/xds-iti42 gennem opsætning af følgende ENV variable: XDS_REGISTRY_HOST, XDS_REGISTRY_PORT og DS_REGISTRY_URL
  2. I docker-compose filen for development er registryproxy en opsætning af nginx. Konfigurationen af denne findes i filen compose/configuration/nginx.conf
  3. I denne konfigurationsfil (nginx.conf) er https://test1-cnsp.ekstern-test.nspop.dk:8443 defineret som målet for requests.

Ovenstående setup blev indført, da der var problemer med at få OpenXds til at tale direkte med XDS registry på TEST1 pga issues med HTTPS.

Beskrivelse af systemdesign

...


Testsetup

Unittests (JUnit)

JUnit anvendes til implementering af unit tests.

Unit tests afvikling under byg vha jacoco plugin for Maven, men kan separat afvikles ved at køre:

mvn test

Hvis der derimod laves en verify, så vil der også blive genereret code coverage, hvor fremkommende rapport kan ses i cra-qa/target/site/jacoco-aggregate/index.html

Test med Cronjobs

Da CRA ikke har en service snitflade, er der ikke oprettet standard integrationstests. I stedet er det muligt at teste servicens funktionalitet ved at kalde start og status for de tilgængelige cron-jobs, når servicen er deployet lokalt med docker-compose. 

Disse kan f.eks. kaldes i en browser på følgende vis: 

CRL Stub

Når  CRA servicen skal hente crl filer, så kalder sender den et http request. Det er dog ikke altid at disse services der  udstiller CRL filerne er tilgængelige.
For at undgå afhængigheder  til andre services, så er det nu muligt at placere CRL filer i modulet cra-crl-stub.

For at CRA servicen sender sit request til stubben, så skal følgende gøres:

  • Hvis vi antager at den CRL file vi skal bruge finde på denne http adresse: http://crl.XYZ.com/ABC.crl
    1. I docker-compose tilføjes crl.XYZ.com som alias

      Code Block
      languageyml
      titledocker-compose.yml
      crl-stub:
        networks:
          cra_net:
            aliases:
              - crl.XYZ.com
    2. Under compose/configuration/crl/resources oprettes en folder 'crl.XYZ.com'
    3. Filen ABC.crl downloades fra http://crl.XYZ.com/ABC.crl og placeres i folderen 'compose/configuration/crl/resources/crl.XYZ.com/'
    4. Applikationerne skal genstartes vha. "docker-compose down" og  "docker-compose up"