Profiles

A profile is the desired state of a host in YAML: which packages must be installed, which services must run, what must be in files, which ports are open, who has access, which compose stacks are up. It is not a programming language: no order, no conditions — a flat list of what should be.
yaml
version: 1
name: web-base
packages:
- nginx
- certbot
services:
nginx:
enabled: true
active: true
firewall:
- allow: 80/tcp
- allow: 443/tcp
files:
/etc/nginx/conf.d/gzip.conf: |
gzip on;- Plan: before applying, nkt compares the profile with the host and shows what will change; dangerous items (stop a service, remove a package) are marked.
- Apply — as a job with a log; every item uses the same code as the UI buttons.
- Drift is checked on a schedule (
NKT_DRIFT_INTERVAL) and shown in “Findings”. - Version history, export and import, a format reference in both languages right in the UI (the “?” next to the title).
On the hub
In the hub's “Profiles” section a profile gets a colour and is assigned to a group when the group is created: machines created in the group are built from it and tinted with its colour. See Hub.