Deployment
AWS
Deployment

Prerequisites

Before beginning the deployment process, ensure you have the following:

  1. An AWS account with appropriate permissions
  2. AWS CLI installed and configured
  3. Git installed
  4. Node.js and npm (for Pulumi)
  5. Pulumi CLI installed

Instructions

Follow these steps to deploy Pontus on AWS:

Clone the repository

Visit our GitHub repository (opens in a new tab) and clone the repository. This repository contains the Pulumi code for deploying Pontus on AWS.

git clone https://github.com/PontusLabs/Aws-Infra-Example.git

Install Pulumi

Follow the official guide (opens in a new tab) to install Pulumi. Pulumi is a tool for creating, deploying, and managing infrastructure on AWS and is open source. The underlying code compiles into Terraform.

brew install pulumi

Set up required configuration

Configuration is required in two places: Pulumi config and a .env file.

Pulumi Configuration

Use pulumi config set to configure these values:

pulumi config set aws:region us-east-1
pulumi config set aws:accessKey <your-access-key>
pulumi config set aws:secretKey <your-secret-key>
POSTGRES_USER="your_postgres_username"
POSTGRES_PASSWORD="your_postgres_password"
POSTGRES_DB="your_database_name"
MQ_USER="your_mq_username"
MQ_PASSWORD="your_mq_password"
DEEPINFRA_API_KEY="your_deepinfra_api_key"  # OPTIONAL
JWT_SECRET_KEY=your_jwt_secret_key
LICENSE="your_license_key"
DOMAIN="your_domain.com"
PULUMI_CONFIG_PASSPHRASE=your_pulumi_config_passphrase

Replace all "your_*" placeholders with your actual values. Note that the DEEPINFRA_API_KEY is optional and often used for testing. We use AWS Bedrock for production.

Set up AWS Bedrock in AWS Console

  1. Open the AWS Management Console and navigate to the AWS Bedrock service.
  2. Please create access to the following models:
    • Llama 3.1 70B Instruct (meta.llama3-1-70b-instruct-v1:0)
    • Claude 3.5 Sonnet (anthropic.claude-3-5-sonnet-20240620-v1:0) optional
  3. In certain cases, we will need to create a custom model. Please contact our team for assistance.

Deploy

Once you've set up the required configuration, you can deploy using:

pulumi up

Additional Notes

  • Keep your LICENSE key secure. This is required for using Pontus.
  • The DOMAIN value should be the domain where you plan to host your Pontus instance.
  • The PULUMI_CONFIG_PASSPHRASE is used to encrypt sensitive config values. Keep this secure and don't lose it, as you'll need it for future Pulumi operations.
  • For information about BEDROCK setup, please contact our support team.

If you need any clarification on these configuration values or assistance with the deployment process, please don't hesitate to reach out to our support team.