@yadurajfleetos/cli
v0.25.0
Published
Fleet OS command-line interface for deploying and orchestrating services on user-owned hardware
Maintainers
Readme
Fleet OS CLI (fleet)
The command-line interface for Fleet OS — git-push deploys onto hardware you already own.
Installation
Via npm (Global)
npm install -g @yadurajfleetos/cliRun Directly via npx
npx @yadurajfleetos/cli --helpBuild and Install from Source
git clone https://github.com/YadurajManu/fleet-os.git fleet-os
cd fleet-os/cli
npm install
npm run build
npm linkQuick Start
1. Sign In
# Hosted control plane (default: https://fleetapi.plastikworld.xyz)
fleet auth login
# Self-hosted control plane
fleet auth login --api https://fleetapi.example.com
# Sign out (clears httpOnly session cookies)
fleet auth logout2. Pair a Machine
fleet nodes pairRun the generated curl -fsSL ... | sh command on the machine you want to add to your fleet.
3. Check Fleet Status & Health
fleet status
fleet doctor4. Deploy a Service
# Validate manifest
fleet validate
# Apply services to fleet
fleet apply
# Plan and deploy a service
fleet changes web
fleet deploy web --message "Update home page"
# After editing local files, repeat to deploy the new snapshot.
# No GitHub push is required. The current release stays online during the build.
fleet changes web
fleet deploy web
fleet deployments web
# Roll back to previous healthy deployment
fleet rollback web5. Follow Live Logs
# Stream logs in real-time via SSE
fleet logs web --followCommand Reference
| Command | Description |
| :--- | :--- |
| fleet auth login | Sign in and save secure local session |
| fleet auth logout | Sign out and clear httpOnly session cookies |
| fleet config show | Show active control plane and selected fleet |
| fleet use <fleet> | Choose default fleet |
| fleet nodes pair | Generate single-use pairing token for a new node |
| fleet nodes | List nodes, status, and resource usage |
| fleet status | One-screen overview of fleet health |
| fleet doctor | Diagnostic health check across cluster |
| fleet diagnose <q> | AI-powered root-cause analysis |
| fleet apply [file] | Apply fleet.yaml manifest |
| fleet deploy <svc> [--message <text>] | Preview the local snapshot, confirm, upload it, then build and roll out |
| fleet changes <svc> | Compare the included local files with the last successful release without uploading |
| fleet updates | Show server revision, node agent versions, CLI version, and safe update steps |
| fleet nodes upgrade <name> on\|off\|inherit | Opt in one agent, pause it, or return to the fleet policy |
| fleet deployments <svc> | Show local snapshot or Git identity, changed-file counts, status, node and image digest |
| fleet domains [svc] | Show the permanent Fleet URL, attached domains, and verification state |
| fleet domains add <svc> <host> | Add a Fleet alias or print the TXT and A/CNAME records for a custom domain |
| fleet domains check <svc> [host] | Verify ownership, routing, and HTTPS readiness |
| fleet domains primary <svc> <host> | Change the URL used by fleet open; pass the permanent Fleet host to restore it |
| fleet domains rm <svc> <host> | Remove an additional domain without removing the permanent Fleet URL |
| fleet logs <svc> --follow | Live SSE stream of container logs |
| fleet logs <svc> | Read the current log tail |
| fleet restart <svc> | Restart a service |
| fleet rollback <svc> | Roll back to previous deployment |
| fleet reschedule <svc> | Force scheduler to migrate service |
| fleet where <svc> | Explain scheduler placement and candidate scores |
| fleet tune | Compare allocated RAM vs actual memory consumed |
| fleet events | Unified cluster event timeline |
| fleet backup <svc> | Create on-demand persistent volume snapshot |
| fleet backups <svc> | List volume backups |
| fleet restore <svc> [id] | Restore volume snapshot |
| fleet secrets | List configured secret keys |
| fleet secrets set <KEY> | Securely store a credential |
| fleet import [file] | Convert a docker-compose.yml into fleet.yaml |
| fleet init [--ai] | Scan repository and scaffold fleet.yaml |
| fleet validate [file] | Lint and validate fleet.yaml placement rules |
| fleet open <svc> | Open public service endpoint in browser |
License
MIT License.
Pairing and terminal presentation
Run fleet for compact onboarding, fleet --help for the full reference, and
fleet nodes pair --help for target-machine setup. Native Windows pairing uses
PowerShell rather than requiring Git Bash:
fleet nodes pair --target windows --shell powershell
fleet nodes pair --target macos
fleet nodes pair --target linuxRun the generated Windows command as Administrator under the Docker Desktop account, with Docker Desktop in Linux-container mode. The installer verifies the download checksum and installs a Windows Service; the originating CLI confirms the paired node's fresh heartbeat. This requires the matching control-plane release and published Windows agent binary/checksum. See installation details.
Use --no-animation, --ascii, and --color auto|always|never to adapt output.
Automatic colors respect NO_COLOR; CI and redirected output never animate.
Terminal fonts and backgrounds stay under your control.
