An interactive questionnaire for deploying Rhize across different infrastructure types and cloud platforms. This tool guides users through deployment decisions and generates customized deployment checklists.
✨ Interactive Wizard – Visual questionnaire for infrastructure selection 🔄 Real-time Validation – Dependency checks and conflict detection 📋 Auto-generated Checklists – Markdown, HTML, and JSON outputs 💾 Auto-save Progress – Browser localStorage persistence 🎯 Preset Templates – Quick-start configurations (Quick Start, Production, Enterprise, Edge/IoT) 📱 Responsive Design – Works on mobile, tablet, and desktop 🚀 Static Deployment – Single HTML file, no server required
# Install dependencies
npm install
# Start dev server
npm run dev
# Type check
npm run type-check
# Build for production
npm run build
# Preview production build
npm run preview-
Enable GitHub Pages in repository settings
- Settings → Pages → Source: Deploy from a branch
- Branch:
gh-pages→/root
-
Automated Deployment
- Push to
mainbranch - GitHub Actions automatically builds and deploys
- Site live at:
https://libremfg.github.io/rhize-deployment-wizard/
- Push to
-
Manual Deployment
npm run build # Deploy dist/ folder to your hosting
The wizard guides you through selection of these infrastructure domains (16 total):
Choose your orchestration platform:
- Kubernetes (preferred) – Production-grade container orchestration
- Docker Compose (supported) – Lightweight single-node deployments
- OpenShift (suggested) – Enterprise Kubernetes with Red Hat support
Choose your cloud provider for managed infrastructure (optional):
- Vultr (preferred) – High-performance cloud with excellent value
- Amazon EKS (preferred) – AWS managed Kubernetes service
- Google GKE (preferred) – GCP managed Kubernetes service
- Azure AKS (unsupported) – Limited Rhize expertise
Version control for your configuration:
- GitLab (preferred) – Primary Git hosting with container registry
- GitHub (supported) – Popular Git platform with extensive integrations
- Gitea (unsupported) – Self-hosted lightweight Git service
Automation for building, testing, scanning, and pushing container images:
- GitLab CI/CD (preferred) – Built-in CI/CD with integrated runners
- GitHub Actions (preferred) – Built-in workflow automation for GitHub
- Jenkins (supported) – Self-hosted flexible CI/CD orchestration
- CircleCI (unsupported) – Commercial CI/CD SaaS platform
Deployment automation tool:
- ArgoCD (preferred) – GitOps CD for Kubernetes
- Helm (supported) – Package manager and templating
- Flux (supported) – Lightweight GitOps toolkit
Storage for Docker images:
- GitLab Container Registry (preferred)
- Azure Container Registry (ACR) (supported)
- Amazon ECR (supported)
- Docker Hub (supported)
Persistent block storage options:
- Local Path (suggested) – Development only
- Ceph RBD (supported) – Distributed HA storage
- AWS EBS (preferred) – Cloud managed storage
- Azure Managed Disks (preferred)
- Google Persistent Disk (preferred)
- NVMe Local (supported) – High-performance option
Entry point for external traffic:
- Traefik (preferred) – Modern ingress with MQTT/gRPC support
- NGINX Ingress (supported) – Industry-standard reverse proxy
Observability and telemetry stack:
- LGTM Stack (preferred) – Loki, Grafana, Tempo, Mimir
- Prometheus + Grafana (supported) – Lightweight metrics
- ELK Stack (supported) – Elasticsearch-based logging
- Datadog (suggested) – Commercial SaaS platform
Authentication and authorization:
- Keycloak (preferred) – Open-source identity provider
- Azure AD / Entra ID (supported) – Microsoft cloud identity
- Okta (supported) – Commercial identity platform
Relational database for Keycloak and application data:
- PostgreSQL (preferred) – Recommended relational DB
- MySQL / MariaDB (supported) – Open-source alternative
- Managed CloudSQL (supported) – Cloud provider managed
Message broker for distributed events:
- Redpanda (preferred) – Kafka-compatible, no JVM
- Apache Kafka (supported) – Industry standard
- Solace (suggested) – Enterprise event streaming
Optimized database for sensor and operational data:
- QuestDB (preferred) – Fast time-series optimized for Rhize
- InfluxDB (supported) – Popular time-series database
- TimescaleDB (supported) – PostgreSQL time-series extension
Essential Rhize components (BaaS, ISA95, Admin UI are required):
- BaaS – GraphQL API backend
- ISA95 Engine – Manufacturing operations model
- Admin UI – Web interface for management
- Workflow Engine – BPMN-based orchestration
- TypeScript Host Service – Custom business logic runtime
- Restate – Distributed function orchestrator
Additional capabilities:
- Appsmith – Low-code dashboard builder
- Grafana Dashboards – Pre-built monitoring
- Calendar Service – Shift and maintenance scheduling
- KPI Service – Manufacturing KPI tracking
- Audit Service – Comprehensive audit logging
- BPMN Suite – Visual workflow editor
Domain names and TLS configuration:
- Configure DNS records
- TLS certificate strategy (cert-manager, manual, cloud provider)
Quickly load common deployment configurations:
Minimal viable Rhize for evaluation and testing.
- Single Kubernetes node or small cluster
- Local storage (not HA)
- Prometheus + Grafana monitoring
- Basic services only
Full-featured production deployment with HA and observability.
- Kubernetes with ArgoCD GitOps
- Ceph distributed storage
- LGTM stack (Loki, Grafana, Tempo, Mimir)
- All core services + audit and KPI
Enterprise deployment with managed services and commercial options.
- Azure/AWS/GCP cloud platforms
- Managed databases and registries
- Commercial monitoring (Datadog, etc.)
- Complete feature set with audit and compliance
Lightweight deployment for edge computing.
- Docker Compose or single-node Kubernetes
- Minimal monitoring
- Essential services only
- Optimized for resource-constrained environments
Configuration matching demo3-v4 environment.
- Full Kubernetes deployment
- Includes Appsmith for dashboards
- LGTM observability stack
- All core services
The tool enforces deployment constraints:
✅ Required Domains – Must select at least one option ✅ Single-Select Domains – Only one option allowed (e.g., Deployment Target) ✅ Dependency Checking – Validates option dependencies
- ArgoCD requires Kubernetes
- LGTM requires reliable storage
- Services require proper messaging ✅ Conflict Detection – Warns about incompatible selections ✅ Resource Estimation – Calculates total CPU, memory, storage
- Structured step-by-step deployment guide
- Helm chart commands and versions
- Documentation links
- Copy to clipboard for sharing
- Styled, printable checklist
- Resource requirements summary
- Installation commands
- Can be saved as standalone document
- Machine-readable deployment config
- All selections serialized
- Estimated resources
- Suitable for automation/IaC tools
src/
├── main.ts # Application initialization
├── types/
│ └── index.ts # TypeScript interfaces and WizardState class
├── data/
│ ├── deployment-config.ts # Domain and option definitions
│ └── presets.ts # Preset templates
├── modules/
│ ├── validation.ts # Validation engine
│ ├── renderer.ts # SVG wizard renderer
│ ├── checklist-generator.ts # Output generation (Markdown/HTML/JSON)
│ └── storage.ts # localStorage persistence
└── styles/
└── global.css # Styling and layout
index.html # Entry point
vite.config.ts # Vite configuration
tsconfig.json # TypeScript configuration
Uses a simple observer pattern with localStorage persistence:
const state = new WizardState();
state.selectOption(domainId, optionId);
state.subscribe(() => {
// Re-render on state change
StorageManager.saveSnapshot(state.toJSON());
});-
Update
src/data/deployment-config.ts:{ id: 'new-domain', name: 'New Domain', description: '...', required: true, allowMultiple: false, options: [/* ... */], }
-
Add to presets in
src/data/presets.ts -
Update validation in
src/modules/validation.tsif needed
- Single-file output – All assets inlined for portability
- Tree-shaking – Unused code removed
- CSS splitting disabled – Single stylesheet
- Target ES2020 – Modern browser features
- Terser minification – Maximum compression
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
- Mobile browsers (iOS Safari 14+, Android Chrome)
- Fork and clone the repository
- Create feature branch:
git checkout -b feature/new-domain - Make changes and test locally:
npm run dev - Build and verify:
npm run build - Submit pull request
Proprietary – Rhize Product Team
For questions or issues:
- GitHub Issues: Create an issue
- Documentation: Rhize Docs
- Slack: #rhize-deployment
- Rhize Documentation
- Kubernetes Deployment Guide
- Helm Charts Repository
- K8s Deployment Configs
- roadmap.sh – Inspiration
Generated: Rhize Deployment Wizard v1.0.0