On-Prem Deployment Instructions (AWS)
This guide will help you and your team install Prequel on AWS 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
- 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. - 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 and ensures that there will not be contention between VPCs, networks, or other resources.
Getting HTTPS certs ready
- In the project you created for Prequel, navigate to the AWS Cert Manager and either
Request a certificate
orImport a certificate
you already own. We'll need a certificate here for*.your-domain.com
, since this is how we'll enable TLS/HTTPS for the Prequel deployment.
Grab the ARN of the certificate you created and keep it handy for later.
Setting up the infrastructure.
- Take a look through
variables.tf
and fill in the required values. - Perform a Terraform dry-run and double check that everything looks good.
terraform plan
- 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
- Auth into the cluster we just created
aws eks update-kubeconfig --name clustername --region clusterregion
K8s Cluster Access
Once you've setup the Prequel infrastructure and connected to the EKS cluster, we highly recommend adding additional users/groups to the config map of the cluster. This will ensure that if the original creator of the cluster loses access to the cluster, there will be additional users who can access and manage the cluster.
Accessing and managing the cluster is necessary to support the deployment, maintain Prequel and update the Prequel software. Please see AWS documentation below with information how to add users/groups to the config map.
https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html
Once the users/groups have been added to the config map, you can instruct the new users to use the instructions below to create a new kube config to access the cluster
https://aws.amazon.com/premiumsupport/knowledge-center/eks-cluster-connection/
Deploying Prequel
- Get a hold of the GitHub App Private Key for your deployment. Ask your Prequel contact to send it over.
- Download and rename the file to
privatekey
. It is important that the file name is correct here. Otherwise, the cluster won't come up properly.
mv {download_path} ~/Downloads/privatekey
- Create a kubernetes secret from it.
kubectl create secret generic github-app-private-key --from-file=~/Downloads/privatekey
- Fill in the required values for the Prequel Helm chart.
- Install the Prequel Helm chart.
helm install prequel datafeed-1.1.26.tgz -f prequel/values.yaml
- The cluster should now be up and running. Nice work, we're almost there!
Update your DNS records
- Grab the address of the ingress / LB for the Prequel deployment.
kubectl get ing
and look for the ADDRESS
field.
- In your domain settings, create DNS records for the three hosts used by Prequel. Specifically, for each, create a
CNAME
record which points to the address from the previous step.
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
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.26.tgz --reuse-values --set image.tag={provided_release_tag}
Updated 5 months ago