Thanks to visit codestin.com
Credit goes to github.com

Skip to content

flamingo-stack/openframe-cli

Repository files navigation

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

  • One-command setup: Bootstrap entire OpenFrame environments with openframe bootstrap
  • Multi-mode deployment: Support for OSS tenant, SaaS tenant, and SaaS shared modes
  • Automated cluster creation: Creates K3D clusters with all necessary components
  • ArgoCD integration: Automatic chart installation and application management

πŸ”§ Cluster Management

  • Lifecycle operations: Create, delete, list, and monitor Kubernetes clusters
  • K3D integration: Lightweight Kubernetes for development and testing
  • Status monitoring: Real-time cluster health and resource monitoring
  • Easy cleanup: Remove clusters and associated resources with simple commands

πŸ“¦ Chart & Application Management

  • Helm chart installation: Streamlined chart deployment with dependency management
  • ArgoCD applications: GitOps-based application lifecycle management
  • App-of-apps pattern: Hierarchical application management for complex deployments
  • Synchronization monitoring: Track deployment progress with detailed logging

πŸ›  Development Tools

  • Service intercepts: Local development with Telepresence integration
  • Scaffolding: Generate boilerplate code and configurations
  • Live debugging: Debug services running in Kubernetes from your local environment
  • Hot reload: Rapid development cycles with instant feedback

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
Loading

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:

  • K3D Kubernetes cluster
  • ArgoCD for GitOps deployment
  • Traefik ingress controller
  • Core monitoring and logging components

Core Commands

Command Description Example
openframe bootstrap Create a cluster and deploy OpenFrame openframe bootstrap my-cluster
openframe cluster create Create a Kubernetes 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 list                          # add -o json|yaml for scripts
openframe cluster status dev
openframe cluster delete dev --force

Deploy and manage the platform (modes: oss-tenant, saas-tenant, saas-shared):

openframe app install                           # interactive: pick mode + context
openframe app install dev --deployment-mode oss-tenant --non-interactive
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 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

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.

Technology Stack

OpenFrame CLI integrates with industry-standard tools:

  • Kubernetes: Container orchestration with K3D for development
  • ArgoCD: GitOps continuous deployment
  • Helm: Package management for Kubernetes
  • Telepresence: Local development with remote services
  • Docker: Container runtime and image management
  • Cobra: Modern CLI framework with rich help and completion

Documentation

πŸ“š See the Documentation for comprehensive guides including:

  • Getting Started: Prerequisites, installation, and first steps
  • Development: Local setup, architecture, and contribution guidelines
  • Reference: Technical documentation, API specs, and configuration
  • CLI Tools: Links to external repositories and tools

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

About

A modern CLI tool for managing OpenFrame Kubernetes clusters and development workflows. Provides an interactive, user-friendly alternative to shell scripts with comprehensive cluster lifecycle management.

Resources

License

Contributing

Security policy

Stars

18 stars

Watchers

3 watching

Forks

Packages

 
 
 

Contributors