ce.sh
The continuous.engineering connect tool: fuzzy-find and SSM-connect to any onboarded client's cloud resources, with a locally cached inventory that stays fast across dozens of clients.
For continuous.engineering engineers only. Clients granting us access should see Deploy on AWS instead.
curl -fsSL https://grant-access.continuous.engineering/install.sh | bashInstalls ce to ~/.local/bin/ce, checks dependencies, prints next steps.
To update later, either re-run the command above or use ce update (lighter - just re-fetches ce, no dependency re-check; idempotent, so it's a no-op if nothing changed).
Then
ce setup # verify dependencies
ce login # SSO device-code login (needed on SSH/headless hosts
# with no local browser - ce connect/list trigger this
# automatically too, but ce login lets you go first)
ce set client <name> # after a CE admin has run ce onboard for that client
ce connect <text> # fuzzy-pick and connectce connect fuzzy-matches a client, a region, and instance tags/names, in any order, filling in whatever you haven't typed from your saved defaults. Exactly one match connects immediately, no picker needed.
Results are cached per client+region and refresh in the background, so the picker always renders instantly.
Just want to see what's there without connecting? ce list <client> [region] - cache-first, only blocks on a live AWS/GCP/Azure call if the cache is over an hour old (CE_CACHE_TTL_SECONDS to change that) or you pass --force.
AWS instance lists are always per-region - there's no "every instance in this account" API. If you don't know which region(s) a client is actually running in, ce regions <client> [--save] scans every region CE knows about and, with --save, stores the active ones so ce connect/ce list can resolve a region without you specifying one (when there's only one; when there's more than one, it tells you the options instead of guessing).
Prerequisites
aws cli, gcloud cli, az cli, session-manager-plugin, jq, fzf. Run ce setup any time to see what's missing and how to get it.
Getting a client registered
Your local ~/.config/continuous.engineering/clients.json is never shared or synced: a CE admin running ce onboard for a client registers it in your registry automatically, for any provider (--provider aws|gcp|azure). See AWS, GCP, and Azure for each cloud's deploy flow; Azure additionally needs the engineer roster kept current via ce-azure-roster.sh.
Command reference
| Command | Does |
|---|---|
ce setup | Check dependencies, show current config |
ce login [profile] | SSO device-code login (default profile: continuous-admin) |
ce set client|region <value> / ce unset | Set or clear a default |
ce show | Show current defaults and known clients |
ce connect [tokens...] | Fuzzy-pick and connect (--refresh, -c <name>, --tier for GCP) |
ce list [client] [region] | List instances without connecting (--force to bypass the 1h cache) |
ce regions <client> [--save] | Scan all AWS regions for instances, optionally save the active ones |
ce onboard --name <n> --account <id> [--provider aws|gcp|azure] [--remove] | Register a new client (both sides of the AWS trust, profile, local registry) |
ce commands [sync] | List (or refresh) the named-command library used by -c |
ce update | Re-fetch ce from the same source install.sh uses |
Questions: devops@continuous.engineering