Development Setup
This guide will help you set up a local development environment for contributing to the Intelligent Command Center.
Prerequisites
Section titled “Prerequisites”Required Software
Section titled “Required Software”- Node.js v20.x or v22.x
- pnpm v8.x or higher
- Docker and Docker Compose
- Kubernetes (minikube, kind, or Docker Desktop with Kubernetes)
- Helm v3.x
- Git
Optional but Recommended
Section titled “Optional but Recommended”- kubectl - Kubernetes CLI
- PostgreSQL client - For database debugging
- Redis/Valkey CLI - For cache debugging
Repository Setup
Section titled “Repository Setup”1. Clone the Repository
Section titled “1. Clone the Repository”git clone https://github.com/platformatic/intelligent-command-center.gitcd intelligent-command-center
2. Install Dependencies
Section titled “2. Install Dependencies”pnpm install
3. Environment Configuration
Section titled “3. Environment Configuration”Create a .env
file in the root directory:
cp .env.example .env
Edit the .env
file with your local configuration:
# Database connections (local PostgreSQL)PLT_ACTIVITIES_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_activitiesPLT_CLUSTER_MANAGER_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_cluster_managerPLT_CONTROL_PLANE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_control_planePLT_USER_MANAGER_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_user_managerPLT_SCALER_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_scalerPLT_COMPLIANCE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_compliancePLT_CRON_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_cronPLT_COLD_STORAGE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_cold_storagePLT_TRAFFICANTE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_trafficante
# Valkey/Redis connectionsPLT_APPLICATIONS_VALKEY_CONNECTION_STRING=redis://localhost:6379/0PLT_ICC_VALKEY_CONNECTION_STRING=redis://localhost:6379/1
# Development OAuth (optional)PLT_GITHUB_OAUTH_CLIENT_ID=your_github_client_idPLT_GITHUB_OAUTH_CLIENT_SECRET=your_github_client_secret
# Local URLsVITE_API_BASE_URL=http://localhost:3000VITE_SERVER_URL=http://localhost:3000PLT_MAIN_URL=http://localhost:3000
# Development modeNODE_ENV=developmentPLT_LOG_LEVEL=debug
Local Services Setup
Section titled “Local Services Setup”1. PostgreSQL Setup
Section titled “1. PostgreSQL Setup”Using Docker Compose, in ICC root just run: docker compose up -d
This will create all necessary databases and run migrations.
3. Kubernetes Setup
Section titled “3. Kubernetes Setup”[!TODO]
Running ICC Locally
Section titled “Running ICC Locally”[!TODO]
Running Tests
Section titled “Running Tests”# Run all testspnpm test