#
Deployment
#
Deployment
This page covers deployment concepts for Curiosity Workspace. The exact deployment model (desktop, VM, containers) may vary, but the production concerns are consistent.
#
Deployment goals
- Reliability: predictable uptime and recoverability
- Security: controlled access, hardened configuration, audited operations
- Scalability: handle data growth and query load
- Reproducibility: promote changes from dev → staging → prod safely
#
Environments
At minimum, maintain:
- Dev: experimentation and rapid iteration
- Staging: pre-production verification with prod-like config
- Prod: restricted access, controlled changes
#
What to version and promote
Treat these as deployable artifacts:
- connector code
- endpoint code
- interface/front-end bundles
- schema migrations and ingestion pipeline changes
- search/index configuration
- NLP pipeline configuration
#
Deployment on OpenShift
Curiosity can be deployed on OpenShift using Docker images. To ensure data persistence, it is recommended to use a StatefulSet with attached persistent storage.
- Prerequisites: A working OpenShift cluster and administrative access.
- Docker Image: Use the official image from Docker Hub. For production, always use a versioned tag (e.g.,
curiosityai/curiosity:12345) instead oflatest. - Storage: Configure a
PersistentVolumeClaim(PVC) and attach it to yourStatefulSetto maintain workspace state across pod restarts. - Configuration: Use environment variables to configure the workspace. Sensitive information like administrator passwords should be stored in OpenShift
Secrets.
#
Operational checklist (baseline)
- Persistent storage with backups
- TLS termination (directly or via a reverse proxy)
- Secrets in a secret manager
- Monitoring and alerting for:
- availability
- ingestion failures
- index rebuild failures
- latency spikes
#
Next steps
- Observe health and performance: Monitoring
- Set permission boundaries early: Permissions