API Server
Handles REST API requests, authentication, and core business logic
For the complete documentation index, see llms.txt.
This guide is part of the Self-Hosting Overview. If you’re still evaluating whether to self-host, start there.
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:
Prerequisites.
kubectl, helm, and aws-cli installed locallypromptless.<corp>.comProvision Infrastructure.
promptless-doc-store)Configure Container Images. Choose Option A (direct pull) or Option B (private registry)
Create Kubernetes Secrets. Set up database credentials and authentication secrets
Configure values.yaml. Customize deployment settings for your environment
Install Dependencies. Install cert-manager if not already present
Deploy Promptless. Install via Helm chart
Post-Installation. Verify deployment and configure user access
The self-hosted deployment uses a microservices architecture running on Kubernetes:
API Server
Handles REST API requests, authentication, and core business logic
Worker Processes
Processes documentation generation jobs and integrations
Web Dashboard
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 permissionsFollow these steps to install Promptless on your Kubernetes cluster:
Provision Infrastructure. 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, RDSConfigure Container Images. 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 Kubernetes Secrets. Create 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"Configure values.yaml. 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 + GrafanaInstall cert-manager. If 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=trueInstall Promptless. Add 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.yamlPost-Installation Verification. After 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:
Configure User Access. 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"Test Documentation Generation. Verify the system is working by:
Key environment variables for customizing your deployment:
POSTGRES_URL — string, required
PostgreSQL connection string for the application database
JWT_SECRET — string, required
Secret key for JWT token signing and verification
S3_BUCKET — string, required
S3 bucket name for document and asset storage
AWS_REGION — string, required
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 \ -f values.yamlSymptoms: 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:
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:
Kubernetes Deployments
promptless.corp.comAWS Services
External Integrations
Security Features