Kedge's command line runs over SSH. Install the optional shortcut to use
kedge in place of ssh kedge.dev:
ssh kedge.dev setup | sh
Your SSH key signs you in. The installer also adds shell completion.
deploy a project
From a project directory:
kedge up --dry-run
kedge up
kedge up --volume /data --members 1
The first command previews the app name and Git push. The second deploys the current branch, initializing the repository and remote when needed. Later runs update the same app. See deploy workflows for branches, previews, GitHub, and rollback.
The optional volume/member flags are deployment settings. Kedge carries them through the Git push and stores them on the app; they do not create a config file. See the configuration reference.
work with an app
kedge apps
kedge status myapp
kedge logs myapp
kedge env myapp LOG_LEVEL=debug
kedge shell myapp
Commands accept an app name or ID. Inside a project directory with a Kedge Git
remote, commands can usually infer the app, so kedge logs is enough.
Logs & metrics covers the streaming and query options.
use SSH directly
The shortcut is optional. These are equivalent:
kedge apps
ssh kedge.dev apps
Raw SSH also accepts Git pushes, piped content, and directory uploads:
echo '# Hello' | ssh kedge.dev
scp -r public/ kedge.dev:my-site/
git push ssh://kedge.dev/$(kedge whoami)/myapp.git main
Only kedge up is local; it packages the Git steps behind a single command.
command reference
Run kedge with no command to see the same list in your terminal.
deploy and run
kedge up [--name <name>] [--dry-run] [--<property> <value>]— Deploy the current directorykedge publish [name] [options]— Deploy content or a prebuilt imagekedge import <git-url> [name]— Deploy a public Git repositorykedge connect— Connect a GitHub repository for automatic deployskedge eval <runtime> [-no-network]— Run stdin once in a disposable runtimekedge sandbox <runtime> [-no-network]— Open a disposable runtime shell
manage apps
kedge apps— List your appskedge status <app>— Inspect an appkedge logs <app> [filter] [options]— Stream an app's logskedge metrics <app> [options]— Show an app's service metricskedge shell [app|-] [ordinal]— Open an app shell or a disposable shell with -kedge members <app> [migrate <ordinal> <region>]— List or migrate stable app memberskedge volumes [rm <volume>]— List or delete retained member volumeskedge fork <app> <new-name>— Copy an app and its current statekedge rollback <app>— Return to the previous deploykedge delete <app-or-glob>...— Delete one or more appskedge expire <app> <deadline|clear>— Schedule or cancel automatic deletion
configure apps
kedge env <app> [KEY=VALUE ...] [options]— View or change environment variableskedge domain <add|list|check|remove> <app> [domain] [options]— Manage an app's custom domainskedge domains <search|buy|list|renew|autorenew> [options]— Search, register, and renew domainskedge db [app-or-database|create|rename|attach|detach|rm] [args]— Open a SQL console or manage named databaseskedge runners [status|enable|disable] [organization|owner/repository]— Manage GitHub Actions runners
account
kedge whoami— Print your account namespacekedge token [name]— Create a personal API tokenkedge billing— View usage and balancekedge version— Show the server versionkedge setup— Install or update the CLI and shell completion