Docs
CLI

cluz init and up

Write clusterz.yaml from your repository, then make or update the app and deploy it in one step.

CommandWhat it does
cluz initWrite clusterz.yaml from what Clusterz finds by reading the repository.
cluz upMake or update the app from clusterz.yaml, and deploy it.

init

cluz init
cluz init --repo https://github.com/acme/shop --branch develop
cluz init --team acme --project api

cluz init reads the repository (the origin remote unless --repo is set) and writes every service of the app, each from its folder or its own repository and with its type, and the database it needs. A front end is the web and the other services that listen on a port are apis. When several listen and none is a front end, it asks which one is the web. Check the file and commit it. cluz up and every push then read it.

--force replaces an existing clusterz.yaml.

With --project it links the current directory to an app that exists instead, by writing .clusterz.json, so the commands that act on an app target it. Commit .clusterz.json so everyone working in the repository targets the same app. cluz up links the directory to the app it makes.

up

cluz up --dry-run    # show what would be made
cluz up --wait       # make or update the app, then build and deploy it
cluz up --set API_KEY=k-123 --dry-run

cluz up reads clusterz.yaml in the current directory, or, without one, the plan Clusterz proposes for the repository. It makes the app, its database and its variables in the order they need, builds it, runs the release command, and moves traffic, as one call. A step that fails leaves nothing half made.

A variable the file marks required takes --set KEY=VALUE the first time for the web, or --set service.KEY=VALUE for another service. An app with no web names the service every time. --branch builds a branch other than the file's. --timeout bounds how long --wait waits, 30 minutes by default.

The file's fields are in the project file.

On this page