API Server
Handles REST API requests, authentication, and core business logic
Warning
Enterprise Only: This deployment guide is exclusively for Enterprise customers. Self-hosting requires an Enterprise license and access to our private Helm chart repository. Contact us to discuss your self-hosting requirements and get access.
This guide provides the complete installation checklist for deploying Promptless on Kubernetes using Helm charts. Everything is parameterized through values.yaml—you should never need to edit the Helm chart itself.
This is the happy-path installation checklist for prospects:
kubectl, helm, and aws-cli installed locallypromptless.<corp>.compromptless-doc-store)Choose Option A (direct pull) or Option B (private registry)
Set up database credentials and authentication secrets
Customize deployment settings for your environment
Install cert-manager if not already present
Install via Helm chart
Verify deployment and configure user access
The self-hosted deployment uses a microservices architecture running on Kubernetes:
Handles REST API requests, authentication, and core business logic
Processes documentation generation jobs and integrations
User interface for project management and configuration
Before installing Promptless, ensure you have the following:
promptless-doc-store)promptless.corp.com)Create the following IAM roles with scoped policies:
promptless-api: Access to Bedrock, S3, and Secrets Managerpromptless-worker: Background job processing permissionspromptless-dashboard: Web interface permissionsTip
We can provide Terraform modules to provision the baseline infrastructure. Contact our support team at help@gopromptless.ai for infrastructure templates and IAM policy examples.
Follow these steps to install Promptless on your Kubernetes cluster:
Set up the baseline AWS infrastructure. You can use the Terraform modules we provide or create resources manually.
Required Resources:
promptless-doc-storepromptless-api, promptless-worker, promptless-dashboard with scoped policies for Bedrock, S3, RDSTip
Contact our support team for Terraform modules and infrastructure templates.
Choose your container image strategy:
Option A: Direct Pull (Recommended)
# Allow EKS to pull directly from our public registry# No additional configuration needed - images pulled from:# public.ecr.aws/promptless/*Option B: Private Registry
# Import images to your private ECR and configure values.yaml:image: registry: <account-id>.dkr.ecr.<region>.amazonaws.comCreate a secret containing your database credentials and other sensitive configuration:
kubectl create secret generic promptless-secrets \ --from-literal=POSTGRES_URL="postgresql://user:password@host:5432/promptless" \ --from-literal=JWT_SECRET="your-jwt-secret-key" \ --from-literal=OIDC_CLIENT_SECRET="your-oidc-client-secret"Create a values.yaml file with your deployment configuration:
global: domain: promptless.corp.acme.com
auth: provider: oidc oidcIssuerURL: https://sso.acme.com
llm: provider: bedrock model: anthropic.claude-3-sonnet-20240229-v1:0
observability: mode: cloudwatch
integrations: github: enabled: true apiBaseURL: https://github.acme.com/api/v3
# Resource configurationapi: replicas: 2 resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m"Authentication Providers:
oidc: OpenID Connect (recommended for enterprise)saml: SAML 2.0oauth: OAuth 2.0 with various providersLLM Providers:
bedrock: AWS Bedrock (recommended)openai: OpenAI APIanthropic: Anthropic Claude APIlocal: Self-hosted modelsObservability:
cloudwatch: AWS CloudWatchdatadog: DataDogprometheus: Prometheus + GrafanaIf you don’t already have cert-manager installed:
helm repo add jetstack https://charts.jetstack.iohelm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --set installCRDs=trueAdd the Promptless Helm repository and install:
# Add Helm repositoryhelm repo add promptless https://charts.promptless.comhelm repo update
# Install Promptlesshelm upgrade --install promptless promptless/server \ --namespace promptless \ --create-namespace \ -f values.yamlThe installation typically takes 3-5 minutes. Monitor the deployment with:
kubectl get pods -n promptless -wAfter installation, verify your deployment:
# Check pod statuskubectl get pods -n promptless
# Verify database migrations succeededkubectl logs -l app=promptless-api -n promptless
# Check service endpointskubectl get services -n promptlessVerification Checklist:
Set up user access through your identity provider:
auth: provider: oidc oidcIssuerURL: https://sso.acme.com groupMappings: - idpGroup: "promptless-admins" role: "admin" - idpGroup: "promptless-users" role: "user"Verify the system is working by:
Success
If documentation generation completes successfully, your installation is ready for production use!
Key environment variables for customizing your deployment:
PostgreSQL connection string for the application database
Secret key for JWT token signing and verification
S3 bucket name for document and asset storage
AWS region for Bedrock and other AWS services
The Promptless Helm chart supports extensive customization through values.yaml:
global: domain: promptless.example.com environment: production imageRegistry: public.ecr.aws/promptlessauth: provider: oidc oidcIssuerURL: https://auth.example.com sessionTimeout: 24h mfaRequired: trueapi: replicas: 2 resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m"integrations: github: enabled: true apiBaseURL: https://api.github.com slack: enabled: true linear: enabled: trueKeep your Promptless installation up to date:
# Update Helm repositoryhelm repo update
# Upgrade to latest versionhelm upgrade promptless promptless/server \ --namespace promptless \Warning
Always review the changelog before upgrading and test in a staging environment first.
Symptoms: Pods stuck in Pending or CrashLoopBackOff state
Solutions:
kubectl describe nodeskubectl get secrets -n promptlesskubectl logs <pod-name> -n promptlessSymptoms: API server logs show database connection errors
Solutions:
Symptoms: Users cannot log in or receive authentication errors
Solutions:
Symptoms: Jobs fail or documents are not generated
Solutions:
If you encounter issues not covered in this guide:
Our support team typically responds within 1 business hour for self-hosted deployments.
Self-hosted Promptless supports various compliance requirements:
Contact our team to discuss specific compliance requirements for your deployment.
The following diagram illustrates a typical EKS + Bedrock deployment architecture with self-hosted GitHub Enterprise and Slack integrations:
promptless.corp.com