Deploy NiFi for NBS 7

This page walks through deploying NiFi using the nifi-efs Helm chart.

On this page

  1. Deploy NiFi using Helm

Deploy NiFi using Helm

The NiFi ingress is disabled by default. To access the NiFi admin UI, set ingress.enabled: true in values.yaml before running the install command. Use a private domain name rather than a public one — NiFi has known security vulnerabilities.

  1. Locate the Helm chart at charts/nifi-efs.
  2. In values.yaml, replace all occurrences of nifi.EXAMPLE_DOMAIN with your domain name. See the ingress controller domain table for reference.
  3. Set the image repository and tag:

    image:
      repository: quay.io/us-cdcgov/cdc-nbs-modernization/nifi
      tag: <release-version-tag> # for example, v1.0.1
    
  4. Set efsFileSystemId to your EFS file system ID.
  5. Set the JDBC connection string using the same database endpoint and credentials from Deploy NBS 7 microservices:

    jdbcConnectionString: "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;"
    
  6. Set singleUserCredentialsUsername to replace the default admin username.
  7. Set singleUserCredentialsPassword to your chosen password for the NiFi admin UI.
  8. Install NiFi:

    helm install nifi -f ./nifi-efs/values.yaml nifi-efs
    
  9. 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.