Skip to content

kubero-dev/kubero-cli

Repository files navigation

kubero-cli

Version Build Status License

A powerful and user-friendly Command Line Interface (CLI) for Kubero, the simplest Platform as a Service (PaaS) for Kubernetes.

Note: Please report any issues in the main repository.


Table of Contents


Features

  • Easy Cluster Deployment: Quickly create Kubernetes clusters on supported providers.
  • App Management: Simplify application deployment and management.
  • Pipeline Integration: Seamlessly integrate CI/CD pipelines.
  • User-Friendly Commands: Intuitive CLI commands for efficient workflows.
  • Dashboard Access: Easy access to the Kubero dashboard for monitoring.

Installation

Supported Platforms

  • macOS
  • Linux

1. Shortcut Installation

Install Kubero CLI with a single command:

curl -fsSL get.kubero.dev | bash

2. Homebrew Installation

If Homebrew is not installed, install it first:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Install Kubero CLI via Homebrew:

brew tap kubero-dev/kubero
brew install kubero-cli

3. Build from Source

For advanced use cases, build and package the binary manually.

Requirements

Steps

  1. Clone the Repository:

    git clone https://github.com/kubero-dev/kubero-cli.git
  2. Navigate to the Project Directory:

    cd kubero-cli
  3. Create a Version Tag (Optional):

    git tag -a v1.0 -m "Version 1.0"
  4. Build and Package the Binary:

    cd cmd
    go build -ldflags "-s -w -X main.version=$(git describe --tags --abbrev=0) -X main.commit=$(git rev-parse --short HEAD) -X main.date=$(date +%Y-%m-%d)" -trimpath -o kubero-cli
    upx kubero-cli
    mv kubero-cli ../kubero
    cd ..
  5. Move the Binary to Your PATH:

    sudo mv kubero /usr/local/bin/
  6. Reload Shell Configuration:

    source "$HOME/.$(basename ${SHELL})rc"
  7. Verify Installation:

    kubero --version

Supported Providers

Kubero CLI currently supports the following cloud providers:

  • Scaleway
  • Linode
  • DigitalOcean
  • Google GKE
  • Kind (local clusters)

Coming Soon

  • Vultr
  • Oracle Cloud OCI/OKE
  • Exoscale
  • Swissflow

Usage

Command Overview

kubero
├── install                # Create a Kubernetes cluster and install Kubero with all required components
├── list                   # List all running clusters
├── login                  # Log in to Kubero and save credentials
├── logout                 # Log out from Kubero and remove saved credentials
├── create                 # Create new app and pipeline configurations
│   ├── app
│   └── pipeline
├── up                     # Deploy apps and pipelines
│   ├── app
│   └── pipeline
├── down                   # Remove apps and pipelines
│   ├── app
│   └── pipeline
├── fetch                  # Sync configurations to local files
│   ├── app
│   └── pipeline
├── dashboard              # Open the Kubero dashboard
├── tunnel                 # Open a tunnel to a NAT-ed cluster
├── instance               # Manage Kubero instances
│   ├── create             # Create an instance configuration
│   ├── delete             # Delete an instance configuration
│   └── select             # Select an active instance
├── config                 # View available configurations
│   ├── addons             # List addons
│   ├── buildpacks         # List buildpacks
│   └── podsizes           # List pod size configurations
└── help                   # Display help for commands

Provider Credentials

Set the appropriate environment variables for your cloud provider before using Kubero CLI.

Scaleway

export SCALEWAY_ACCESS_TOKEN=your_access_token
export SCALEWAY_PROJECT_ID=your_project_id
export SCALEWAY_ORGANIZATION_ID=your_organization_id

Linode

export LINODE_ACCESS_TOKEN=your_access_token

DigitalOcean

export DIGITALOCEAN_ACCESS_TOKEN=your_access_token

Google GKE

export GOOGLE_API_KEY=your_api_key

Development Guide

Enable Development Mode

To enable development mode for testing and debugging, create a VERSION file:

echo "dev" > cmd/kuberoCli/VERSION

Contributing

We welcome contributions from the community! Please check out our Contributing Guidelines for more information.


License

This project is licensed under the MIT License.


Acknowledgments

  • Kubero: The simplest PaaS for Kubernetes.
  • Go: The programming language used for development.
  • Community Contributors: Thank you to all who have contributed to this project.

Thank you for using kubero-cli! If you have suggestions or encounter issues, please open an issue in the main repository.