Fetched https://x.ai/cli/install.sh and read it, rather than inferring the layout from docs. Three facts, every one of which the template had wrong: · the CLI installs as 'grok' (with an 'agent' alias) — NOT 'grok-build'. So the drill was checking a command that never existed. · BIN_DIR defaults to $HOME/.grok/bin, and what lands there is a SYMLINK into the versioned download dir — which is exactly why the template's 'find -type f' found nothing. · GROK_BIN_DIR can override the directory. The install was almost certainly succeeding the whole time; the template was hunting for the wrong name, as the wrong file type, in the wrong place. Now it links the known path onto the system PATH, asserts 'grok --version' answers, and dumps what the installer actually left if the upstream layout ever moves. Also corrected: the drill's version check (grok, not grok-build), the agent briefing ('grok login'), the template description, and the README row. The lesson is the repo's oldest one — read the thing, don't reason about it.
11 lines
496 B
Bash
11 lines
496 B
Bash
# The grok template — Debian 13 + xAI's Grok Build CLI, creds-free.
|
|
# KEY="value" only. Parsed against an allowlist, never sourced; there is no
|
|
# key for a network or a security flag, on purpose — the shared box-net
|
|
# profile is the placement contract and no template can weaken it.
|
|
# BOX_USER must match the user user-data.yaml creates.
|
|
BOX_DESCRIPTION="xAI Grok CLI on Debian 13, creds-free"
|
|
BOX_IMAGE="images:debian/13/cloud"
|
|
BOX_USER="grok"
|
|
BOX_CPU="4"
|
|
BOX_MEMORY="8GiB"
|
|
BOX_DISK="60GiB"
|