A tool for deploying local Kubernetes clusters that are Platformatic-ready.
Contents:
- Clone repository
git clone [email protected]:platformatic/desk.git 
- Install dependencies
npm install - The preinstallscript checks for system dependencies and will fail if any are missing. The output will be on screen.
 
- The 
- Add Github PAT to .env
cp .env.sample .env 
Profiles are a simpler way to share a particular cluster configuration. Full documentation is available in profiles/README.md.
Profiles can be specified in multiple ways:
- 
By name (default behavior): Uses profiles from the profiles/directorydesk cluster up --profile lite 
- 
By relative path: Specify a profile relative to your current directory desk cluster up --profile ./my-custom-profile.yaml desk cluster up --profile ../configs/production.yaml 
- 
By absolute path: Specify a full path to a profile file desk cluster up --profile /home/user/desk-profiles/custom.yaml 
This allows you to maintain custom profiles outside the desk repository and share them across teams or projects.
Start up a cluster:
desk cluster up --profile <name>Shut down a cluster:
desk cluster down --profile <name>Get status:
desk cluster status --profile <name>View all available profiles:
desk profile listCreate a new profile using the wizard:
Warning
Not implemented yet
desk profile wizardCache a profile for offline use:
Warning
Not implemented yet
desk profile cache <profile-name>Simplify deployment of wattpro applications into local cluster.
Deploy a directory into Kubernetes:
desk deploy --profile <name> --dir ./my-watt-projectDeploy an existing image into Kubernetes:
Warning
Not implemented yet
desk deploy --profile <name> --image some-prebuilt-app:latestDeploy with an environment file:
Warning
Not implemented yet
desk deploy --profile <name> --dir ./my-watt-project --envfile ./my-watt-project/.envUse DEBUG=plt-desk* to view debug statements. The output can be narrowed down
to:
- cluster specific: DEBUG=plt-desk:cluster
The development profile enables hot reloading for ICC and Machinist services using local repositories.
First uncomment/set the ICC_REPO and MACHINIST_REPO variables on .env, then:
desk cluster up --profile developmentThis profile:
- Mounts your local ICC and Machinist repositories into the Kubernetes cluster
- Runs services with pnpm run devfor hot reloading
- Sets DEV_K8S=trueto enable Platformatic DB service file watching
- Uses the same base image (node:22.20.0-alpine) as production for native module compatibility
When code changes are made in the local repositories, the services will automatically reload.
Test out the installation script from ICC:
desk cluster up --profile liteAfter this command completes, the install script command will be output. The path is relative to the ICC directory so copy and paste the command and run from the ICC directory.