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…

Что это такое?Интерактивный инструмент командной строки для управления Kubernetes-кластерами OpenFrame и процессом разработки — жизненный цикл кластеров, установка чартов через ArgoCD, перехват сервисов и создание заготовок проектов.
Это полноценная платформа или просто обёртка CLI над существующими инструментами?Это точка входа в экосистему OpenFrame — MSP-платформу с ИИ, построенную на open-source-альтернативах. Сам CLI оркестрирует стандартные инструменты: K3D, ArgoCD, Helm, Telepresence.
Как его запустить?Скачайте бинарник для своей платформы (Linux AMD64, macOS Apple Silicon или Windows через WSL2), добавьте его в PATH, затем выполните 'openframe bootstrap' — и вся окружение поднимется одной командой.
Нужно ли заранее ставить Docker и kubectl?Да: Docker 20.10+, kubectl 1.25+, Helm 3.10+ и K3D 5.0+. Чего-то не хватает — CLI сам проверит и установит через 'openframe prerequisites install'.
Какой компьютер для этого нужен?Достаточно мощный: минимум 24 ГБ оперативной памяти, 6 ядер CPU и 50 ГБ свободного места на диске (рекомендуется 32 ГБ, 12 ядер и 100 ГБ). Сборки под macOS — только Apple Silicon, а на Windows всё работает через WSL2.
Что именно разворачивает openframe bootstrap?Kubernetes-кластер K3D с публичным чартом openframe-oss-tenant, развёрнутым через ArgoCD, плюс ingress-контроллер Traefik и базовые компоненты мониторинга и логирования — учётные данные не нужны.
Это вообще open source?Не в привычном смысле: проект распространяется под нестандартной лицензией Flamingo AI Unified License v1.0, а не под обычной open-source-лицензией, так что загляните в LICENSE.md, чтобы понять, какое использование она разрешает.
Чем это поможет мне разрабатывать сервисы, которые живут внутри кластера?Он интегрирует Telepresence для перехвата сервисов: сервис, работающий в Kubernetes, можно отлаживать с локальной машины, а hot reload ускоряет цикл «правка — проверка».
А управлять настоящими облачными кластерами он умеет, а не только локальными K3D?Да — 'openframe cluster create' поддерживает и локальные кластеры K3D, и облачные кластеры на EKS или GKE, а 'cluster list/status' показывает их состояние, с выводом в JSON через -o json.
Как это выглядит, пока выполняется долгая команда?В интерактивном терминале он показывает чек-лист этапов с таймингами по каждому, встроенную панель со здоровьем приложений во время ожидания и шлёт уведомление на рабочий стол, когда долгая установка завершится.
Он нормально ведёт себя в пайплайнах GitHub Actions?Да: этапы bootstrap сворачиваются в log groups, ошибки превращаются в аннотации задачи, а сводка попадает в Step Summary. Флаги вроде --non-interactive, --yes и --force делают любую команду пригодной для скриптов.
Что происходит, когда CLI обновляет сам себя?'openframe update' проверяет каждый релиз по контрольным суммам и подписям cosign, прежде чем заменить работающий бинарник, и сохраняет предыдущую версию для отката.
Size
106.7 MB
Stars
907
Age
11mo
Commits · 90 Days