Ubuntu Autoinstall
01README
Render, validate and publish an Ubuntu Server autoinstall NoCloud seed from typed inputs, over SSH to an artifact-server root or for a CIDATA image. The password is a crypt hash from vault and no output carries a plaintext.
02Behaviors
@randybias/ubuntu-autoinstallv2026.10.17.1ubuntu_autoinstall.ts
fn render()
READ-ONLY. Build and validate user-data, meta-data and vendor-data from the inputs; identical inputs give identical bytes. Returns the tree hash, per-file digests and the command lines; the file bytes are written to the sensitive seed_files resource, not returned.
fn validate()
READ-ONLY. Validate a supplied autoinstall user-data document with the same pipeline and return findings; the document is never rewritten and no value is echoed.
fn cmdline()
READ-ONLY. Emit the kernel and GRUB command lines for an HTTP seed URL, and the plain autoinstall argument for a CIDATA seed.
fn publish_http()
Idempotent. Render, validate and write the seed into an artifact-server bundle over SSH, then set the hostname's ref. The same bundle and ref is a no-op. Returns the seed URL, tree hash and command lines.
fn unpublish()
DESTRUCTIVE. Remove the seed bundle named by the hostname's ref and the ref (the seed carries a password hash); remove it once the host is installed. An absent seed is a clean no-op, and a supplied tree_sha256 must match the ref or the bundle's own hostname.
fn get()
READ-ONLY. Render the inputs, then check the published bundle (presence and per-file SHA-256) and persist the observation as the seed resource.
fn sync()
READ-ONLY. Reconcile the recorded seed with the server; an absent bundle is recorded as not_found and a partial one as mismatch, never as an error.
Resources
render(30d)— A rendered seed's tree hash, per-file hashes and cmdline
seed_files(30d)— The rendered seed file bytes; sensitive
seed(infinite)— Observation of a published seed bundle on the server
03Stats
A
93 / 100
Downloads
2
Archive size
215.4 KB
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License1/2partial
no SPDX license declared
- Verified public repository2/2earned
deno-command1 accepted
Spawns a subprocess with Deno.Command().
- models/_lib/ssh.ts:505 — no reason given
05Platforms
06Labels