Kororaa stack
Kororaa web application stack¶
The Kororaa App is the public web site for NSHM scientific results.
Custom components¶
These components are developed and supported by the Compute Working Group team.
- 
Kororaa wep application is the Kororaa UI.
Github: GNS-Science/kororaa.
 - 
Kororaa API Gateway is the application API for Kororaa.
Github: GNS-Science/nshm-kororaa-apigw.
 - 
solvis-graphql-api is a graphql API wrapping the solvis library.
Github: GNS-Science/solvis-graphql-api. Used by the Rupture Map explorer UI component.
 - 
nshm-toshi-api is a graphql API managing the NSHM experimental artefacts.
Github: GNS-Science/nshm-toshi-api.
 
The AWS stacks (AWS API Gateway and below) are managed via the serverless configurations of each service. Usually there is a PROD and TEST stage deployment, and sometimes a DEV deployment too.
Cloud configuration¶
These components are configured so that the stack functions correctly. As they're rarely touched they are maintained manually, via the AWS Console unless stated otherwise.
- 
Elastic Search API is an AWS Kibana/Elastic managed service. Objects stored in ToshiAPI are indexed here, and used via the Kororaa Search UI.
 - 
SSL certificates are issued via AWS Certificate Manager (ACM) for the Domain hosts used by NSHM (see us-east-1 region).
 - 
AWS Cloudfront provides a global content delivery service and maps SSL domain host onto the internal services names via cloudfront host names.
 - 
GNS Internal IT manage the DNS zone entriesfor NSHM SSL certificates, hostnames, and verifcations.
 - 
Google Analytics (not configured)
 
Lower levels of the AWS stack (AWS API Gateway and below) are generally managed via the serverless configurations of each service.
Stack diagram¶
graph TD
    classDef nshm stroke:lightgreen, stroke-width:3px
    classDef nshm-deprecated stroke:red, stroke-width:1px
    classDef AWS stroke:orange, stroke-width:3px
    classDef SVC stroke:powderblue, stroke-width:3px
    classDef note stroke:black, stroke-width:1px
    W["Kororaa web app
        kororaa.gns.cri.nz"]:::nshm
    NB3["{API_HOST}
        /kororaa-app-api/graphql"]:::note 
    subgraph GW["Kororaa Application Gateway layer"]
        SSL["SSL: {API_HOST}"]:::AWS
    CF["DNS: {API_HOST} CNAME {Cloudfont HOST}"]:::AWS
        CF -.-|/kororaa-app-api| C
        C["AWS API Gateway:
        nshm-kororaa-apigw"]:::AWS
        F2["nshm-kororaa-apigw"]:::nshm
        C -->|path: /kororaa-app-api/graphql| F2
    end
    SSL --- CF
    W -.-|graphql query| NB3 -.-> SSL
    subgraph SUP["graphql microservices layer"]
        direction TB
        S-API[nshm-kororaa-api]:::nshm
        T-API[nshm-toshi-api]:::nshm
        V-API[nshm-solvis-api]:::nshm
    end
    F2 -.-> SUP