Dev Clusters

Dev Cluster Quickstart

Create a dev cluster and see your local changes deployed instantly. Similar to a virtual cluster, except you can deploy changes to the cluster without having to commit and push your changes to a remote repository.

Prerequisites

Get started

In this quickstart, we'll use the Uffizzi CLI to create a dev cluster and a background process that will automatically build, test, and deploy changes from your local project directory to the remote cluster.

Clone the quickstart repo

git clone https://github.com/UffizziCloud/quickstart.git && \
cd quickstart

This repo includes:

  • A simple "Hello World" NodeJS application
  • A web.yaml (opens in a new tab) manifest that includes a service, ingress and deployment.
  • A skaffold.yaml file for building and deploying your project files

Create a dev cluster

Make sure you are in the root of the project directory, then run:

uffizzi dev start
# Start creating a cluster
# Checking the cluster status...
# Cluster with name: barrow-indigo was created.
# ...
# Press Ctrl+C to exit
# Watching for changes...

This command will:

  • Start a dev cluster with a auto-generated name
  • Start a skaffold (opens in a new tab) process to build and deploy your project changes. Alternatively, you can start a dev cluster in quiet mode (no output) by running uffizzi dev start -q.
  • Update the current context of your kubeconfig file (so you can use kubectl to manage the cluster)

Now each time you save changes to your files in you local project directory, your application will be auto-deployed.

Open the application

uffizzi dev ingress open

This command will open the application ingress in your default browser. You can read more about Uffizzi-provided ingress here.

Deploy changes

Make a change to the application code, such as:

src/index.js
'use strict';
 
const express = require('express')
const app = express()
 
app.use(express.static('public'));
app.get('/', (req, res) => res.send('I love Uffizzi!'))
 
const port = 8080
app.listen(port, () => console.log(`Example app listening on port ${port}!`))

Stop the dev cluster

If you started the dev cluster in quiet mode (-q, --quiet), then you can stop the background dev process by running:

uffizzi dev stop

Otherwise, you can stop the dev process by pressing Ctrl+C in the terminal window where you started the dev cluster.

Delete the dev cluster

To permanently delete the cluster, including all persistent volumes and the namespace itself, run:

uffizzi dev delete

Remember that your project files are stored locally, so there is no risk in delete the remote dev cluster, unless you have important data stored in the cluster. However, this is not recommended.

Explore the Usage section to learn more about how to use the Uffizzi CLI, or checkout the CLI reference for more information on specific commands.