/** * `outposts self-deploy` — turn the CURRENT machine into a locally self-hosted * HQ outpost. * * This is the unmanaged path. Unlike a box provisioned through * `outposts provision`, a self-deployed host is not registered with hq-pro: no * console entry, no remote management, no metering. It runs a systemd service * that watches and syncs ALL of the operator's company vaults under the * operator's own identity. * * Node-only: reads `/etc/os-release`, shells out to `systemctl`/`sudo`/`tee`, and * writes into `/usr/local/bin` and `/etc/systemd/system`. */ import { type SelfDeployDependencies } from "./host-deps.js"; /** * Describe the cached session in the confirmation banner. * * Informational only, so a token that cannot be parsed degrades to a generic * phrase rather than surfacing a parse failure — a cache holding a refresh token * is still valid for this setup regardless of whether the id token decodes. */ export declare function hqIdentityFromSession(session: { refreshToken?: string; idToken?: string; }): string; export declare function renderSelfDeploySyncScript(hqRoot: string): string; export declare function renderSelfDeployService(hqRoot: string, user: string): string; /** * Refuse to proceed unless the host is one this installer actually supports, and * a usable HQ session exists. Returns the cached session on success. */ export declare function selfDeployPreflight(deps: SelfDeployDependencies): { refreshToken?: string; idToken?: string; }; /** * Configure this host as a self-hosted outpost. * * Prompts before doing anything, because the consequence is severe and easy to * understate: anyone with root on the machine can subsequently act as the * operator. `--yes` skips the prompt for non-interactive installs. */ export declare function selfDeployOutpost(opts: { yes?: boolean; hqRoot?: string; }, deps: SelfDeployDependencies): Promise; //# sourceMappingURL=self-deploy.d.ts.map