Demo Environment¶
The demo environment runs on a dedicated server in the dev account and hosts a stable, customer-facing deployment of the CWIQ Orchestrator. It is deployed exclusively via Ansible — never by CI/CD pipelines.
Server Reference¶
| Attribute | Value |
|---|---|
| Hostname | orchestrator-demo-cwiq-io |
| Tailscale IP | 100.98.55.127 |
| VPC Private IP | 10.1.34.248 |
| Instance ID | i-0ae5796fe8cd748e5 |
| Subnet | 10.1.34.0/24 (gitlab-1a) |
| DNS | orchestrator.demo.cwiq.io |
| SSH — app | ssh cwiq@orchestrator-demo-cwiq-io |
| SSH — admin/Ansible | ssh ec2-user@orchestrator-demo-cwiq-io |
Volumes¶
| Mount | Size | Backup | Contents |
|---|---|---|---|
/ |
30 GB | No | OS |
/data |
100 GB | Daily | PostgreSQL, Redis, Redpanda, SSL certs, app config |
/var/lib/containerd |
50 GB | No | Container images |
Temporal Worker¶
The demo server runs the Temporal workflow worker as a host systemd service (not a Docker container):
| Attribute | Value |
|---|---|
| Service name | cwiq-agent-orchestrator.service |
| User | cwiq-agent-runner |
| Group | cwiq-agents |
| Virtual environment | /opt/cwiq/orchestrator-venv |
| Environment file | /etc/cwiq/cwiq-agent-orchestrator.env |
# Check worker status
systemctl status cwiq-agent-orchestrator
# View recent logs
journalctl -u cwiq-agent-orchestrator --since "30 minutes ago" --no-pager
Environment Configuration¶
Demo uses Pydantic-enforced environment settings:
| Setting | Value |
|---|---|
cwiq_environment |
demo (display name) |
cwiq_server_environment |
staging (Pydantic Literal — must be development/staging/production) |
In Ansible group vars:
Application-level branding is controlled by environment variables (client-agnostic platform):
| Variable | Purpose | Example |
|---|---|---|
DEMO_ORG_NAME |
Seeded organization display name | "Acme Corp" |
DEMO_ORG_SLUG |
URL slug | "acme-corp" |
DEFAULT_EMAIL_DOMAIN |
Email domain for seeded users | "acme.com" |
ADMIN_DEFAULT_PASSWORD |
Root admin password | (from Vault) |
Deployment Method¶
Demo is Ansible-only — never CI/CD
The demo environment is never deployed by GitLab CI/CD pipelines. All deployments (including updates) go through Ansible playbooks run from the ansible server.
CI/CD jobs for non-DEV environments were removed from all project pipelines in February 2026.
# Deploy to demo from ansible server
ssh ansible@ansible-shared-cwiq-io
ansible-helper
ansible-playbook cwiq-orchestrator/playbooks/deploy-orchestrator.yml \
-i inventory/demo/ -v
Full stack deployment uses deploy-full.yml in ansible-playbooks/orchestrator/playbooks/.
Health Check¶
curl -f https://orchestrator.demo.cwiq.io/api/health
curl -s "https://orchestrator.demo.cwiq.io/api/health?detailed=true" | python3 -m json.tool
Related Pages¶
- Dev Account — DEV server on the same account
- Server Inventory — Full server list
- IaC Principles — Ansible-only deployment rule
- Tailscale SSH Access — SSH to demo server