C

Installing Qt Insight Private Cloud

Installing Terraform

The Terraform installation is split into the following two phases that must be completed in the specified order:

  1. private-cloud-bootstrap
  2. private-cloud

The bootstrap creates resources that are required for the main Qt Insight Private Cloud installation.

In the following Terraform command example, the first command creates a plan, and the second command applies the plan. This allows you to see what resources Terraform will create before the resources are created.

Note: If you run into an error in the application stage, you must run and apply the plan again after fixing the issue.

To install Qt Insight with Terraform for the first time:

private-cloud-bootstrap

  • Deploy bootstrap
    cd infra
    terraform -chdir=private-cloud-bootstrap init
    terraform -chdir=private-cloud-bootstrap plan -var-file=private-cloud-dev.tfvars -out ../private-cloud-bootstrap.plan
    terraform -chdir=private-cloud-bootstrap apply ../private-cloud-bootstrap.plan

    For details and requirements, see private-cloud-bootstrap/INSTALL.md.

private-cloud

After the bootstrap deployment, you can deploy Qt Insight Private Cloud.

  1. Push Insight container images to AWS Elastic Container Registry (ECR)

    Container images are delivered as a part of the install package. You can use the included script to extract the images and push them to the container registries created in the bootstrap step.

    • AWS cli installed and configured
    • Docker installed
    • Terraform installed
    • Java installed
    • amazon-ecr-credential-helper

    The script takes the AWS profile name as an optional parameter.

    Note: You can also set the profile by setting AWS_PROFILE environment variable.

    ./docker/push-images.sh <profile>
  2. Create the Terraform backend configuration.

    The private cloud installation uses the S3 bucket and DynamoDB table created in bootstrap to store Terraform state. For this, create a qtanalytics.s3.tfbackend file containing the Terraform backend configuration.

    profile        = "<aws_profile>"
    bucket         = "<terraform_backend_bucket_name>"
    region         = "<region>"
    dynamodb_table = "qt_analytics_terraform"
  3. Deploy Qt Insight Private Cloud
    cd infra
    terraform -chdir=private-cloud init -backend-config=../qtanalytics.s3.tfbackend
    terraform -chdir=private-cloud plan -compact-warnings -var-file=../env/sandbox.tfvars -out ../private-cloud.plan
    terraform -chdir=private-cloud apply ../private-cloud.plan
  4. After private-cloud terraform has created the Route 53 Hosted Zones for your selected subdomain names, you can validate the certificates in the AWS Certificate Manager. For more information, see AWS Documentation - DNS validation.

    After the initial installation, or whenever performing an update, you can just deploy Qt Insight Private Cloud again as instructed above.

Available under certain Qt licenses.
Find out more.