Kalzit is in early development. These pages describe what exists today and change as the milestones progress.
First start
As long as no user exists, Kalzit is in setup mode. Only the person who runs the server can finish the setup, because the setup code is written to a file on the server, never to the log.
The setup code
On the first start Kalzit creates a random code and writes it to setup-token.txt in the data
directory (by default data/setup-token.txt). On Linux the file is readable only by the user the
server runs as. The log names the file, not the code:
first start: open Kalzit in the browser and enter the setup code from data/setup-token.txt
The code looks like 3f9a-07c2-… and has six groups of four characters. Dashes, spaces and
upper or lower case do not matter when you type it.
Create the organization and its owner
Open Kalzit in the browser (by default http://localhost:3000) and enter:
- the setup code,
- the name of your first organization,
- your name and email address,
- a password with at least 12 characters.
Kalzit creates the organization, makes you its owner and the server admin, and signs you in.
Then it deletes setup-token.txt; setup mode is over for good. Repeated wrong codes are rate
limited per client address.
The setup screen is part of the UI shell that M0 is building. Until it is in your build, use the API below.
Setup through the API
GET /api/setup answers {"needed": true} while setup is open. To finish it:
curl -X POST http://localhost:3000/api/setup \
-H "Content-Type: application/json" \
-d '{"token": "<setup code>", "orgName": "Example", "name": "Your name", "email": "you@example.com", "password": "<at least 12 characters>"}'
The answer sets the session cookie and returns your user with its organizations.
Automated installs
For scripted installs and tests, set KALZIT_SETUP_TOKEN to a code of your choice before the
first start. Kalzit then uses that code and writes no file. The variable has no effect once a
user exists.
Check that it runs
Two endpoints answer without signing in, for service managers, load balancers and containers:
| Endpoint | Answer |
|---|---|
/healthz |
ok while the process is up. |
/readyz |
ready when the database answers, otherwise status 503. |