openframe-cli README

The project's README from github.com/flamingo-stack/openframe-cli. As one markdown file: README.md.

OpenFrame

License

OpenFrame CLI

OpenFrame CLI is a modern, interactive command-line tool for managing OpenFrame Kubernetes clusters and development workflows. It provides seamless cluster lifecycle management, chart installation with ArgoCD, and developer-friendly tools for service intercepts and scaffolding.

OpenFrame Preview Webinar

What is OpenFrame CLI?

OpenFrame CLI is part of the broader OpenFrame ecosystem - an AI-powered MSP platform that replaces expensive proprietary software with open-source alternatives enhanced by intelligent automation. The CLI serves as the entry point for developers and operators to bootstrap, manage, and develop on OpenFrame environments.

Key Features

🚀 Complete Environment Bootstrapping

🔧 Cluster Management

📦 Chart & Application Management

🛠 Development Tools

Architecture Overview

graph TB
    subgraph "CLI Commands"
        Bootstrap[openframe bootstrap]
        Cluster[openframe cluster]
        App[openframe app]
        Dev[openframe dev]
    end
    
    subgraph "Core Services"
        ClusterSvc[Cluster Management]
        ChartSvc[Chart Installation]
        DevSvc[Development Tools]
    end
    
    subgraph "External Tools"
        K3D[K3D Clusters]
        Helm[Helm Charts]
        ArgoCD[ArgoCD Apps]
        Telepresence[Service Intercepts]
    end
    
    subgraph "Target Environment"
        K8s[Kubernetes]
        Apps[Applications]
        Services[Microservices]
    end
    
    Bootstrap --> ClusterSvc
    Bootstrap --> ChartSvc
    Cluster --> ClusterSvc
    App --> ChartSvc
    Dev --> DevSvc
    
    ClusterSvc --> K3D
    ChartSvc --> Helm
    ChartSvc --> ArgoCD
    DevSvc --> Telepresence
    
    K3D --> K8s
    Helm --> Apps
    ArgoCD --> Apps
    Telepresence --> Services

Quick Start

Get OpenFrame CLI up and running in 5 minutes!

System Requirements

Resource Minimum Recommended
RAM 24GB 32GB
CPU Cores 6 cores 12 cores
Disk Space 50GB free 100GB free

Prerequisites

Before installation, ensure you have:

Installation

Choose your platform and install OpenFrame CLI:

Linux (AMD64)

curl -fsSL https://github.com/flamingo-stack/openframe-cli/releases/latest/download/openframe-cli_linux_amd64.tar.gz | tar -xz
sudo mv openframe /usr/local/bin/
chmod +x /usr/local/bin/openframe

macOS (Apple Silicon)

curl -fsSL https://github.com/flamingo-stack/openframe-cli/releases/latest/download/openframe-cli_darwin_arm64.tar.gz | tar -xz
sudo mv openframe /usr/local/bin/
chmod +x /usr/local/bin/openframe

Windows (WSL2)

  1. Download: https://github.com/flamingo-stack/openframe-cli/releases/latest/download/openframe-cli_windows_amd64.zip
  2. Extract and move openframe.exe to a directory in your PATH
  3. Open WSL2 terminal and verify access

Bootstrap Your Environment

Create a complete OpenFrame environment with a single command:

# Verify installation
openframe --version

# Bootstrap complete environment
openframe bootstrap

# Check cluster status
openframe cluster status

The bootstrap process creates:

Core Commands

Command Description Example
openframe bootstrap Create a cluster and deploy OpenFrame openframe bootstrap my-cluster
openframe cluster create Create a k3d or cloud (EKS/GKE) cluster openframe cluster create dev --nodes 1
openframe cluster list List clusters openframe cluster list -o json
openframe cluster status Show cluster status openframe cluster status dev
openframe cluster delete Delete a cluster openframe cluster delete dev --force
openframe app install Install ArgoCD + app-of-apps openframe app install -c k3d-dev
openframe app upgrade Re-sync or move to a new ref openframe app upgrade -c k3d-dev --sync
openframe app status Report platform readiness openframe app status -c k3d-dev
openframe app access Show ArgoCD sign-in details openframe app access -c k3d-dev
openframe app uninstall Remove the app (keep the cluster) openframe app uninstall -c k3d-dev --yes
openframe prerequisites Check/install required tools openframe prerequisites install
openframe update Self-update the CLI openframe update check

Usage Examples

Cluster lifecycle:

openframe cluster create dev --type k3d --nodes 1 --skip-wizard
openframe cluster create my-gke --type gke --project my-project --region us-central1 --skip-wizard  # cloud (billed!)
openframe cluster create my-eks --type eks --region us-east-1 --skip-wizard  # cloud (billed!)
openframe cluster list                          # add -o json|yaml for scripts
openframe cluster status dev
openframe cluster delete dev --force

Deploy and manage the platform (OSS tenant deployment):

openframe app install                           # interactive: pick context
openframe app install dev --non-interactive     # reuse existing openframe-helm-values.yaml
openframe app install -c k3d-dev --ref v1.3.0   # deploy a specific release tag
openframe app status  -c k3d-dev                # -o json|yaml supported
openframe app status  -c k3d-dev --watch        # live view, refreshes in place (Ctrl+C to exit)
openframe app status  -c k3d-dev --interactive  # k9s-style TUI: navigate apps, inspect, trigger syncs
openframe app access  -c k3d-dev                # ArgoCD URL + admin credentials
openframe app upgrade -c k3d-dev --sync         # force ArgoCD to re-sync current ref
openframe app upgrade -c k3d-dev --ref v1.4.0   # move to a new release tag
openframe app uninstall -c k3d-dev --yes

Keep the CLI up to date (each release is checksum- and cosign-verified before it replaces the running binary; the previous version is kept for rollback):

openframe update            # update to the latest release
openframe update check      # report availability only (-o json|yaml)
openframe update v1.4.0     # switch to a specific release (up or down)
openframe update rollback   # revert to the previous version, offline

Terminal Output

On an interactive terminal the CLI renders live surfaces: a stage checklist with per-stage timings during bootstrap, an in-place dashboard during the application wait (progress bar, per-app health, slowest-apps timing), download progress bars, and a desktop notification when a long install finishes. Long operations under --verbose, --plain, or redirected output switch to timestamped sequential log lines that carry the same information (ready deltas, pending apps with their health).

Output controls:

In GitHub Actions, bootstrap stages fold into log groups, failures surface as job annotations, and the closing summary lands in the job's Step Summary.

Non-interactive flags (--non-interactive, --yes, --force, --skip-wizard) make every command scriptable; prompts are also skipped automatically in CI or when stdin is not a terminal. See Terminal output reference for the full behavior matrix.

Technology Stack

OpenFrame CLI integrates with industry-standard tools:

Documentation

📚 See the Documentation for comprehensive guides including:

Community and Support

OpenFrame is built by the community for the community:

Note: We don't use GitHub Issues or Discussions. All support and community interaction happens in the OpenMSP Slack community.

License

This project is licensed under the Flamingo AI Unified License v1.0 - see the LICENSE.md file for details.


Built with 💛 by the Flamingo team

openframe-cli (flamingo-stack/openframe-cli)

Searching Database…

What is this?An interactive command-line tool for managing OpenFrame Kubernetes clusters and development workflows — cluster lifecycle, chart installs via ArgoCD, service intercepts and scaffolding.
Is this a full platform, or just a CLI wrapper around existing tools?It is the entry point to the OpenFrame ecosystem, an AI-powered MSP platform built on open-source alternatives. The CLI itself orchestrates standard tools: K3D, ArgoCD, Helm, Telepresence.
How do I get it running?Download the binary for your platform (Linux AMD64, macOS Apple Silicon or Windows via WSL2), put it on your PATH, then run 'openframe bootstrap' to spin up a whole environment in one command.
Do I need Docker and kubectl already installed?Yes: Docker 20.10+, kubectl 1.25+, Helm 3.10+ and K3D 5.0+. The CLI can check and install the missing ones for you via 'openframe prerequisites install'.
What kind of machine does this thing need?A beefy one: minimum 24GB RAM, 6 CPU cores and 50GB free disk (32GB, 12 cores and 100GB recommended). macOS builds are Apple Silicon only, and Windows runs it through WSL2.
What exactly does openframe bootstrap deploy?A K3D Kubernetes cluster with the public openframe-oss-tenant chart deployed through ArgoCD, plus the Traefik ingress controller and core monitoring and logging components — no credentials needed.
Is it actually open source?Not in the usual sense: it ships under the custom Flamingo AI Unified License v1.0 rather than a standard open-source license, so read LICENSE.md to see what usage it permits.
How does it help me develop services that live inside the cluster?It integrates Telepresence for service intercepts, so a service running in Kubernetes can be debugged from your local machine, with hot reload for fast edit-test cycles.
Can it manage real cloud clusters, not just local K3D ones?Yes — 'openframe cluster create' supports both local K3D clusters and cloud clusters on EKS or GKE, and 'cluster list/status' report on them, with JSON output via -o json.
What does it look like while a long command runs?On an interactive terminal it renders a stage checklist with per-stage timings, an in-place dashboard with per-app health during waits, and a desktop notification when a long install finishes.
Does it behave well in GitHub Actions pipelines?Yes: bootstrap stages fold into log groups, failures become job annotations and a summary lands in the Step Summary. Flags like --non-interactive, --yes and --force make every command scriptable.
What happens when the CLI updates itself?'openframe update' verifies each release with checksums and cosign signatures before replacing the running binary, and keeps the previous version for rollback.
Size
106.7 MB
Stars
907
Age
11mo
Commits · 90 Days