Deploy the Modernization API for NBS 7

This page walks through deploying the Modernization API using the modernization-api Helm chart.

On this page

  1. Deploy Modernization API using Helm

Deploy Modernization API using Helm

  1. Locate the Helm chart at charts/modernization-api.
  2. In values.yaml, replace all occurrences of app.EXAMPLE_DOMAIN with the URL of your modern app and app-classic.EXAMPLE_DOMAIN with the URL of your existing NBS 6. See the DNS records table for reference.
  3. Set the image repository and tag:

    image:
      repository: "quay.io/us-cdcgov/cdc-nbs-modernization/modernization-api"
      tag: <release-version-tag> # for example, v1.0.1
    
  4. Set the JDBC connection string using the same database endpoint and credentials from Deploy NBS 7 microservices:

    jdbc:
      connectionString: "jdbc:sqlserver://EXAMPLE_DB_ENDPOINT:1433;databaseName=EXAMPLE_DB_NAME;user=EXAMPLE_ODSE_DB_USER;password=EXAMPLE_ODSE_DB_USER_PASSWORD;encrypt=true;trustServerCertificate=true;"
      user: "EXAMPLE_ODSE_DB_USER"
      password: "EXAMPLE_ODSE_DB_USER_PASSWORD"
    
  5. Verify that page-builder is disabled:

    pageBuilder:
      enabled: "false"
    
  6. Set the token secret and parameter secret to encrypt JWT tokens. Use the token secret generated for pagebuilder-api, and generate the parameter secret with openssl rand -base64 32 | cut -c1-32:

    security:
      tokenSecret: "EXAMPLE_TOKEN_SECRET"
      parameterSecret: "EXAMPLE_PARAMETER_SECRET"
    
  7. Verify that OIDC is enabled for Keycloak login authentication:

    Oidc:
      enabled: "true"
    
  8. Install the Modernization API:

    helm install modernization-api -f ./modernization-api/values.yaml modernization-api
    
  9. Check the ingress for RTR services:

    kubectl describe ingress main-ingress-resource
    
  10. Confirm the pod is running before proceeding to the next deployment:

    kubectl get pods
    

    If the pod is still creating or in any other state, wait and troubleshoot before continuing.