OpenQAOpenQA
Web Interfaces

Environment Manager

Manage all your environment variables directly from the web interface — no need to edit .env files manually.

Overview

The Environment Manager is a web-based interface accessible at /config/env that allows you to configure all OpenQA settings without SSH access or manual file editing.

🔐 Admin Only

The Environment Manager requires authentication and admin privileges. Only users with the admin role can access this page.

Accessing the Environment Manager

After logging in as an admin, navigate to:

bash
1http://localhost:4242/config/env

Or click Environment in the sidebar under the System section.

Variable Categories

Variables are organized into 8 categories for easy navigation:

🤖 LLM Configuration

  • • LLM_PROVIDER (openai, anthropic, ollama)
  • • OPENAI_API_KEY
  • • ANTHROPIC_API_KEY
  • • OLLAMA_BASE_URL
  • • LLM_MODEL

🔒 Security

  • • OPENQA_JWT_SECRET
  • • OPENQA_AUTH_DISABLED
  • • NODE_ENV

🎯 Target Application

  • • SAAS_URL
  • • SAAS_AUTH_TYPE
  • • SAAS_USERNAME
  • • SAAS_PASSWORD

🐙 GitHub Integration

  • • GITHUB_TOKEN
  • • GITHUB_OWNER
  • • GITHUB_REPO
  • • GITHUB_BRANCH

🌐 Web Server

  • • WEB_PORT
  • • WEB_HOST
  • • CORS_ORIGINS

🤖 Agent

  • • AGENT_AUTO_START
  • • AGENT_INTERVAL_MS
  • • AGENT_MAX_ITERATIONS
  • • GIT_LISTENER_ENABLED

💾 Database

  • • DB_PATH

🔔 Notifications

  • • SLACK_WEBHOOK_URL
  • • DISCORD_WEBHOOK_URL

Features

Real-time Validation

Each variable is validated as you type. The interface shows immediate feedback for:

  • Required fields
  • URL format validation
  • API key format (e.g., OpenAI keys must start with sk-)
  • Number ranges
  • Security warnings

API Key Testing

Click the 🧪 button next to testable variables to verify they work:

  • OpenAI API Key — Tests connection to OpenAI API
  • Anthropic API Key — Tests connection to Anthropic API
  • Ollama URL — Tests Ollama server connectivity
  • GitHub Token — Verifies token and shows username
  • Slack/Discord Webhooks — Sends test message
  • Target URL — Checks if URL is accessible

Secret Generation

For OPENQA_JWT_SECRET, click the 🔑 button to generate a cryptographically secure 64-character hex string.

Bulk Save

Make multiple changes and save them all at once with the "Save Changes" button. The interface will indicate if a restart is required for changes to take effect.

API Endpoints

The Environment Manager uses these API endpoints:

bash
1# List all variables
2GET /api/env
3 
4# Get specific variable
5GET /api/env/:key
6 
7# Update single variable
8PUT /api/env/:key
9Content-Type: application/json
10{"value": "new-value"}
11 
12# Update multiple variables
13POST /api/env/bulk
14Content-Type: application/json
15{"variables": {"KEY1": "value1", "KEY2": "value2"}}
16 
17# Test a variable
18POST /api/env/test/:key
19Content-Type: application/json
20{"value": "value-to-test"}
21 
22# Generate secret
23POST /api/env/generate/:key

Security Considerations

  • All endpoints require authentication and admin role
  • Sensitive values are masked in the UI (shown as ••••••••)
  • Password-type inputs for secrets
  • Validation prevents dangerous configurations
  • Changes are written to .env file with proper formatting

⚠️ Production Warning

Never set OPENQA_AUTH_DISABLED=true in production. The interface will prevent this if NODE_ENV=production.