Gateway Deployment Guide
This guide will help you deploy the Gateway demo application with PostgreSQL in Kubernetes.
Prerequisites
- Kubernetes cluster
- Helm v3
kubectl
configured to work with your cluster- Access to GitHub Container Registry (ghcr.io)
Setup GitHub Container Registry Secret
Before deploying, create a secret for pulling images from GitHub Container Registry:
kubectl create secret docker-registry ghcr-secret \ --docker-server=ghcr.io \ --docker-username=YOUR_GITHUB_USERNAME \ --docker-password=YOUR_GITHUB_PAT \ --namespace=demo
Replace YOUR_GITHUB_USERNAME
with your GitHub username and YOUR_GITHUB_PAT
with your GitHub Personal Access Token.
Deployment Steps
- Deploy PostgreSQL database:
make install-postgres
- Wait for PostgreSQL to be ready:
kubectl wait --for=condition=ready pod -l app.kubernetes.io/name=postgresql -n demo
- Deploy the Gateway application:
make install-gateway
Verification
- Check if all pods are running:
kubectl get pods -n demo
- Access the API:
The API will be available at:
http://demo-gw.centralmind.ai
Example endpoints:
- GET
/gachi_teams
- List all teams - GET
/gachi_personas
- List all personas
Useful Commands
- Get PostgreSQL password:
make get-password
- Upgrade Gateway configuration:
make upgrade-gateway
- Upgrade PostgreSQL configuration:
make upgrade-postgres
Cleanup
To remove the deployment:
- Uninstall Gateway:
make uninstall-gateway
- Uninstall PostgreSQL:
make uninstall-postgres
Configuration
The deployment uses two main configuration files:
values.gateway.yaml
- Gateway configurationvalues.postgres.yaml
- PostgreSQL configuration
Modify these files to customize your deployment.