v2.31.0-dev 67f96d9

bootstrap.md RawHistoryFolder

Bootstrap Command

Create or update route configuration, attachments, and secrets in one command.

gordon bootstrap

Synopsis

gordon bootstrap <domain> <image> [options]

Arguments

Argument Description
<domain> The route domain to create or update
<image> The image to assign to the route

Options

Option Description
--attachment Add an attachment to the route (repeatable)
--env Set an environment variable for the route (repeatable, KEY=VALUE)
--remote Remote Gordon URL
--token Authentication token for remote

Description

gordon bootstrap is the recommended first-step setup workflow.

  • Creates the route when it does not exist.
  • Updates the route when it already exists.
  • Can attach services and set environment variables as part of the same command.
  • Does not push or deploy the image.

Unlike gordon push, gordon bootstrap does not require the route to exist first. Run gordon push separately after bootstrap to upload and deploy an image.

Examples

# First-time route setup
gordon bootstrap app.example.com myapp:latest

# Then push and deploy the image
gordon push app.example.com --build --no-confirm

# First-time route setup with a database attachment and environment variable
gordon bootstrap app.example.com myapp:latest --attachment postgres:18 --env APP_ENV=production

# Multiple attachments and environment variables
gordon bootstrap app.example.com myapp:latest \
  --attachment postgres:18 \
  --attachment redis:7-alpine \
  --env APP_ENV=production \
  --env LOG_LEVEL=info

# Remote target
gordon bootstrap app.example.com myapp:latest --remote https://gordon.mydomain.com --token $TOKEN

# Push custom attachment image first
gordon attachments push pitlane-pgsql --build

# Then push and deploy the route image
gordon push app.example.com --build --no-confirm

Notes

  • gordon bootstrap is idempotent for route configuration: rerunning it re-applies config instead of failing.
  • Run gordon push after bootstrap to upload and deploy the image.
  • If attachments use custom images that are not available from a public registry, push those attachment images with gordon attachments push before deploying the route image.
source
1# Bootstrap Command
2
3Create or update route configuration, attachments, and secrets in one command.
4
5## gordon bootstrap
6
7### Synopsis
8
9```bash
10gordon bootstrap <domain> <image> [options]
11```
12
13### Arguments
14
15| Argument | Description |
16|----------|-------------|
17| `<domain>` | The route domain to create or update |
18| `<image>` | The image to assign to the route |
19
20### Options
21
22| Option | Description |
23|--------|-------------|
24| `--attachment` | Add an attachment to the route (repeatable) |
25| `--env` | Set an environment variable for the route (repeatable, `KEY=VALUE`) |
26| `--remote` | Remote Gordon URL |
27| `--token` | Authentication token for remote |
28
29### Description
30
31`gordon bootstrap` is the recommended first-step setup workflow.
32
33- Creates the route when it does not exist.
34- Updates the route when it already exists.
35- Can attach services and set environment variables as part of the same command.
36- Does not push or deploy the image.
37
38Unlike `gordon push`, `gordon bootstrap` does not require the route to exist first. Run `gordon push` separately after bootstrap to upload and deploy an image.
39
40### Examples
41
42```bash
43# First-time route setup
44gordon bootstrap app.example.com myapp:latest
45
46# Then push and deploy the image
47gordon push app.example.com --build --no-confirm
48
49# First-time route setup with a database attachment and environment variable
50gordon bootstrap app.example.com myapp:latest --attachment postgres:18 --env APP_ENV=production
51
52# Multiple attachments and environment variables
53gordon bootstrap app.example.com myapp:latest \
54  --attachment postgres:18 \
55  --attachment redis:7-alpine \
56  --env APP_ENV=production \
57  --env LOG_LEVEL=info
58
59# Remote target
60gordon bootstrap app.example.com myapp:latest --remote https://gordon.mydomain.com --token $TOKEN
61
62# Push custom attachment image first
63gordon attachments push pitlane-pgsql --build
64
65# Then push and deploy the route image
66gordon push app.example.com --build --no-confirm
67```
68
69### Notes
70
71- `gordon bootstrap` is idempotent for route configuration: rerunning it re-applies config instead of failing.
72- Run `gordon push` after bootstrap to upload and deploy the image.
73- If attachments use custom images that are not available from a public registry, push those attachment images with `gordon attachments push` before deploying the route image.
74
75## Related
76
77- [CLI Overview](./index.md)
78- [Attachments Commands](./attachments.md)
79- [Routes Commands](./routes.md)
80- [Push Command](./push.md)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close