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…

这是什么东西?一个交互式命令行工具,用来管理 OpenFrame Kubernetes 集群和开发流程,涵盖集群的生命周期、通过 ArgoCD 安装图表、服务拦截以及项目脚手架搭建。
它是一个完整的平台,还是只是包着现有工具的一层命令行外壳?它是 OpenFrame 生态的入口,OpenFrame 是一个基于开源替代方案构建的 AI 驱动 MSP 平台。这个命令行工具本身负责编排的是标准工具:K3D、ArgoCD、Helm、Telepresence。
我怎么把它跑起来?下载适合你平台的二进制文件(Linux AMD64、macOS Apple Silicon 或通过 WSL2 的 Windows),把它加到 PATH 里,然后运行 'openframe bootstrap',一条命令就能搭起整套环境。
我需要事先装好 Docker 和 kubectl 吗?需要:Docker 20.10+、kubectl 1.25+、Helm 3.10+ 和 K3D 5.0+。通过 'openframe prerequisites install',这个命令行工具可以帮你检查并自动安装缺的部分。
这东西对机器配置有什么要求?要求挺高:最低 24GB 内存、6 核 CPU 和 50GB 可用磁盘(推荐 32GB、12 核和 100GB)。macOS 版只支持 Apple Silicon,Windows 则要通过 WSL2 来运行。
openframe bootstrap 到底会部署些什么?一个 K3D Kubernetes 集群,通过 ArgoCD 部署公开的 openframe-oss-tenant 图表,外加 Traefik 入口控制器以及核心的监控和日志组件,不需要任何凭证。
它真的是开源的吗?严格来说不是:它采用的是自定义的 Flamingo AI Unified License v1.0,而不是标准的开源许可证,具体允许哪些用途请阅读 LICENSE.md。
对于跑在集群里的服务,它能帮我开发吗?可以。它集成了 Telepresence 来做服务拦截,让跑在 Kubernetes 里的服务可以在你本机上调试,还支持热重载,改完代码马上就能测试。
它能管理真实的云上集群,而不只是本地的 K3D 集群吗?可以。'openframe cluster create' 既支持本地 K3D 集群,也支持 EKS 或 GKE 上的云集群,'cluster list/status' 可以查看它们的状态,还能用 -o json 输出 JSON 格式。
长时间运行的命令执行时界面是什么样的?在交互式终端里,它会显示一个分阶段的清单并标注每阶段的耗时,等待期间还有原地刷新的仪表盘展示各应用的健康状况,长时间的安装完成时还会弹出桌面通知。
在 GitHub Actions 流水线里它表现好吗?很好:bootstrap 的各阶段会折叠成日志组,失败会变成任务注释,还会在 Step Summary 里写入一份摘要。像 --non-interactive、--yes 和 --force 这类参数让每条命令都能在脚本中使用。
命令行工具自我更新时会做什么?'openframe update' 会先用校验和以及 cosign 签名验证每个版本,确认无误后才替换正在运行的二进制文件,并保留上一个版本以便回滚。
Size
106.7 MB
Stars
906
Age
11mo
Commits · 90 Days