Skip to main content
Provider-neutral host contract operations.
Subcommands: stackkit host attach-conformance, stackkit host conformance, stackkit host delivery, stackkit host environment, stackkit host gpu-check, stackkit host migrate-browser-ca, stackkit host preflight, stackkit host prepare, stackkit host reboot, stackkit host remediate, stackkit host security, stackkit host ssh, stackkit host updates

stackkit host attach-conformance

Attach exact host evidence to Inventory before plan generation.

stackkit host conformance

Produce a provider-neutral conformance receipt on this host.

stackkit host delivery

Manage this node’s sealed host delivery recipient. Sealed host delivery brings Wallet items, backup targets and SSH access to this node. A delivering authority seals each value to this node’s recipient key (HPKE, pkg/hostdelivery); only this node opens it into its own custody. Techstack and Guard carry ciphertext and references only.
Subcommands: stackkit host delivery detach, stackkit host delivery recipient, stackkit host delivery status

stackkit host delivery detach

Stop host delivery to this node and list the delivered secrets to rotate. Detach this node from host delivery: every delivered secret is marked as needing rotation, retired recipient keys are destroyed, and no delivery opens until the node is re-enrolled with ‘host delivery recipient --rotate’. The result lists the references and versions to rotate where they came from; it never contains a value. Values already in local custody stay usable here.
Examples

stackkit host delivery recipient

Prove this node’s recipient key, pin the delivering authority, or rotate the key. Print a statement, signed by the local Owner key, that binds this node’s recipient key and its generation to this Site and node and echoes the caller’s challenge. The private key never leaves local custody. --authority-key pins the delivering authority’s Ed25519 public key for the current generation; Wallet items and SSH access open only when signed by it. A pinned key is never replaced in place. --rotate re-enrolls the node under the next generation (and with --authority-key pins a new authority): the previous key still opens deliveries issued before the rotation for at most their 15-minute lifetime and is then destroyed. Rotation also ends a detach.
Examples

stackkit host delivery status

Show the recipient generation, pinned authority, detach state and delivered references. Report this node’s recipient generation and fingerprint, retired generations still openable, the pinned delivering authority, whether the node is detached, and every delivered secret by reference and version, with its rotation mark. No value is read.

stackkit host environment

Observe whether this host looks like a home network or a public server. Detect the network environment of this machine. This is observation, not kit selection. Installers and init use it to ask before authoring local home addresses on a VPS, or Cloud Kit on a LAN host. STACKKIT_NETWORK_ENV=home|vps|cloud|unknown overrides live detection.
Examples

stackkit host gpu-check

Prove the NVIDIA GPU under a short real CUDA load. Run NVIDIA’s CUDA vectorAdd sample in a container on the GPU (Docker CDI device nvidia.com/gpu=all), then read the kernel log for NVRM Xid errors and ask nvidia-smi again. nvidia-smi listing the GPU is not proof that it works: a GPU on a weak power supply or a marginal link, typical for a Thunderbolt eGPU, answers at idle and falls off the bus (Xid 79) as soon as CUDA draws power. This check refuses then and names the cause. It changes nothing on the host except pulling the pinned sample image. Run it as root so the kernel log can be read.
Examples

stackkit host migrate-browser-ca

Migrate this node’s authenticated legacy CA to the browser-capable policy. Explicitly migrate legacy Basement CA signing keys while preserving the Owner signing key, PocketID identities, runtime secrets, ingress leaf keys, addresses and volumes. Retain an already current root. Apply and verify the current native plan before --complete. Clients must approve a changed public root through the existing client-trust handoff.

stackkit host preflight

Check whether this host can run the selected StackKit. Measure this host and compare it against the floor the kit declares. Preflight performs read-only probes only: it never installs, starts, or configures anything. Apply runs the same admission before it mutates the host.
Examples

stackkit host prepare

Prepare this host before Cloud Kit apply. Provision the Cloud execution-channel account and SSH key custody required before host-security disables root login. Cloud Kit installers and apply call this automatically. The command exists for diagnostics and for converging a workspace after manual interruption. It mints or reuses the workspace-custodied key under .stackkit/cloud-host-security/execution-channel/ and installs the matching public key on the execution-channel Linux account.
Examples

stackkit host reboot

Schedule a reboot of this node. Schedule a reboot of this node after a short delay and return immediately. The returned boot_id_before identifies the current boot, so a caller can tell the node came back by reading a different boot ID. The command refuses a node that runs the Techstack control plane, a node where apt or dpkg holds its lock or a host update runs, and a node that cannot boot unattended (volumes in /etc/crypttab that need a passphrase, or no apt). When the delay ends a guard checks again, waits up to 15 minutes for any package operation to finish, and requests the reboot while holding the dpkg locks. A node that stays busy is not rebooted; its boot ID stays the same.
Examples

stackkit host remediate

Show or carry out fixes for what host preflight found. List the fixes that answer this host’s preflight findings, or carry one out. Without --apply nothing is changed: the command measures the host and prints what each fix would do, whether it can be undone, and whether it needs root. With --apply <id> --yes the named fix runs, and the check that justified it is measured again afterwards so the result states what actually changed rather than that something was attempted.
Examples

stackkit host security

Verify and repair the host security baseline with versioned evidence. Observe this node against the StackKits host security baseline, and restore what drifted without cutting the management path. ‘verify’ never changes the host. It produces stackkit.host-security-evidence/v1 for the firewall, sshd, brute-force protection, automatic and pending security updates, reboot state, kernel parameters, exposed listeners and certificate expiry, and for the SSH CA trust and host certificate delivered to this node (‘host ssh apply’) once they are recorded. Every control is compliant, drifted, unknown or an owner-approved exception, and the evidence expires: a stale observation is unknown, and an unknown control never counts as compliant. It works on its own (Standard Mode, no account) and through the pinned CLI when Techstack manages the deployment (--mode advanced).
Subcommands: stackkit host security repair, stackkit host security status, stackkit host security verify

stackkit host security repair

Restore drifted baseline controls without cutting the management path. Plan, or with --apply carry out, the restoration of drifted controls. Without --apply nothing is changed: the command measures the host and prints what each repair would do. With --apply only the named (--control) or drifted controls are touched, and every change is checked first:
A control that cannot be observed, or that the owner approved an exception for, is not touched. A Cloud site’s firewall and root login are restored by ‘stackkit apply’. Each step records the control before and after, and a repeated repair of a compliant control changes nothing.
Examples

stackkit host security status

Read the stored evidence as it stands now, without observing the host. Read the evidence ‘verify’ last recorded in this workspace and judge it at the current time. Evidence past its freshness budget is unknown: an old observation proves nothing about the host now.

stackkit host security verify

Observe the host security baseline and write versioned evidence. Observe every baseline control on this node and produce stackkit.host-security-evidence/v1. Nothing on the host is changed. Most controls need root to be observed; one that cannot be observed is reported unknown with the reason, not as a failure. The evidence is written to .stackkit/host-security-evidence.json in the workspace unless --no-record is given, and it expires after --freshness.
Examples

stackkit host ssh

SSH certificate access delivered to this node.
Subcommands: stackkit host ssh apply

stackkit host ssh apply

Apply a sealed SSH CA trust, revocation or host certificate delivery from stdin. Read one sealed ssh-ca-trust, ssh-ca-revoke or ssh-host-certificate envelope on stdin, signed by the pinned delivering authority, and apply it to this server’s sshd:
sshd is reloaded only after ‘sshd -t’ accepts the new configuration; a change that fails is rolled back. The applied state is recorded in owner custody, so ‘host security verify’ reports drift and ‘host security repair’ reinstalls it.
Examples

stackkit host updates

Plan and apply operating-system package updates on this node. Plan and apply operating-system package updates on this Debian or Ubuntu node. The container runtime (docker.io, docker-ce*, containerd*, runc) is held: it is listed in the plan but never installed by apply, because upgrading it restarts every workload. Apply never removes packages, never runs autoremove, and never reboots; use ‘stackkit host reboot’ for that.
Subcommands: stackkit host updates apply, stackkit host updates plan

stackkit host updates apply

Install exactly the reviewed update plan. Install exactly the package set a reviewed ‘stackkit host updates plan’ reported. The pending set is simulated again first; when its digest differs from --plan-digest nothing is installed (plan_stale). apt runs non-interactively in a transient systemd unit (kombify-host-update-*), keeping existing configuration files, so a CLI or agent timeout stops only the wait and never dpkg. The result records every package’s version before and after and whether the node now requires a reboot.
Examples

stackkit host updates plan

Refresh the package index and show the pending updates. Refresh the package index and show what ‘stackkit host updates apply’ would install. The result lists every pending package with its current and new version, the held container-runtime packages, packages apt keeps back, whether a reboot is likely (kernel, C library or systemd), and dpkg problems. plan_digest binds the exact package set; apply refuses when it no longer matches.
Examples