On-Prem Deployment Instructions (GCP)

This guide will help you and your team install Prequel on GCP infrastructure you control. Prequel deployments rely on a few tools:

  • Terraform v1.0.x for provisioning services required by Prequel
  • Helm 3.9.4 for installing and upgrading Prequel
  • Kubernetes CLI for managing and inspecting the Kubernetes cluster.

Before we get started

  1. Validate that you have access to the Terraform directory and Helm chart we sent over. If not, please email or Slack [email protected] to request access.
  2. Create the dedicated cloud project where you’d like Prequel to run. We typically recommend creating a new cloud project for this, which allows all resources to be fully sandboxed from any other existing infrastructure.

Setting up the infrastructure.

  1. Take a look through variables.tf and fill in the required values.
  2. Perform a Terraform dry-run and double check that everything looks good.
terraform plan
  1. Terraform the main.tf file. This will create all the necessary infrastructure for Prequel to run. Save the output variables, you'll need them later.
terraform apply
  1. Update your DNS records to point to the prequel-ingress-ip returned by the Terraform script. You'll need to create three DNS records.
prequel.your-domain.com			# the domain you'll use when hitting the API.
prequel-admin.your-domain.com		# the UI that admins on your team will use to manage Prequel.
data-connect.your-domain.com				# the domain your customers will use to connect their data warehouse. 

Deploying Prequel

  1. Authenticate to the Kubernetes cluster created in step 5.
  2. Install the cert-manager Helm chart.
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.8.0 \
  --set installCRDs=true \
  --set ingressShim.defaultIssuerName=letsencrypt-prod \
  --set ingressShim.defaultIssuerKind=ClusterIssuer \
  --set ingressShim.defaultIssuerGroup=cert-manager.io
  1. Fill in the required missing values for the Prequel Helm chart (in the values.yaml file).
  2. Install the Prequel Helm chart.
helm install prequel datafeed-1.1.24.tgz -f prequel/values.yaml

You're all set!

Notify your Prequel counterpart that the deployment is ready to roll. They'll guide you through next steps: configuring your first source.

Updating Prequel

We'll notify you when a new release is available, and provide you with the release tag. You can then run the following command to update your deployment to the new release.

helm upgrade prequel datafeed-1.1.24.tgz --reuse-values --set image.tag={provided_release_tag}

Configuring your customer-facing service account

When you create your organization in Prequel, a GCP service account will be created automatically for your organization. This service account will be the external-facing role that your Prequel instance acts as when authenticating to both sources and destinations. If you do not want Prequel to use the generated service account, you can patch the organization with your preferred GCP service account. If you choose to provide your own GCP service account, ensure that the account is used solely by your Prequel instance. Prequel generates and deletes service account keys on the organization's service account throughout its transfer process, and leveraging the same GCP service account for another service makes it very likely that you will cause downtime in that service.