README
¶
k1space
k1space is a command-line tool designed to streamline the process of creating and managing cloud configurations for Kubernetes clusters created by kubefirst. It provides an interactive interface to configure various cloud providers, generate necessary scripts for cluster provisioning, and manage Kubefirst repositories.
Features
- Support for multiple cloud providers (currently Civo and DigitalOcean)
- Interactive configuration menu for easy setup
- Automatic retrieval of cloud regions and node types
- Generation of configuration files and initialization scripts
- Integration with Kubefirst for Kubernetes cluster provisioning
- Management of Kubefirst repositories (kubefirst, console, kubefirst-api)
- Cluster provisioning capabilities
- Version management and upgrade functionality
Installation
Option 1: Using the install script
You can install k1space using our install script, which will download the latest release and set it up on your system:
curl -fsSL https://raw.githubusercontent.com/ssotops/k1space/master/install.sh | bash
Option 2: Manual installation
- Go to the Releases page of the k1space repository.
- Download the appropriate binary for your operating system and architecture.
- Rename the binary to
k1space(ork1space.exeon Windows). - Make the binary executable (
chmod +x k1spaceon Unix-based systems). - Move the binary to a directory in your PATH.
Usage
To start using k1space, run the following command in your terminal:
k1space
This will launch the interactive menu where you can:
- Manage cloud configurations
- Set up and manage Kubefirst repositories
- Provision Kubernetes clusters
- Perform k1space-specific operations
Follow the on-screen prompts to navigate through the various options and configure your environment.
Configuration
k1space stores its configuration files in the following directory:
~/.ssot/k1space/
This directory contains:
config.hcl: Stores information about available configurationsclouds.hcl: Contains data about cloud providers, regions, and node types- Cloud-specific subdirectories with generated scripts and environment files
Required Environment Variables
Before using k1space to provision clusters, ensure the following environment variables are set:
-
GITHUB_TOKEN: A GitHub personal access token with the necessary scopes. You can Create a GitHub Token with Selected Scopes here. If you want to read more about the scopes that kubefirst uses, you can read more on their public docs here. If that link has expired or changed, visit the Github repository responsible for their public docs. -
Cloud Provider-specific tokens:
- For Civo:
CIVO_TOKEN - For DigitalOcean:
DO_TOKEN
- For Civo:
You can set these environment variables in your shell profile or export them before running k1space:
export GITHUB_TOKEN=your_github_token_here
export CIVO_TOKEN=your_civo_token_here
export DO_TOKEN=your_DO_TOKEN_here
Main Features
Config Management
- Create new cloud configurations
- List existing configurations
- Delete specific configurations
- Delete all configurations
Kubefirst Repository Management
- Clone Kubefirst repositories (kubefirst, console, kubefirst-api)
- Sync repositories to latest changes
- Set up Kubefirst environment
- Run Kubefirst repositories locally
- Revert repositories to main branch
Cluster Management
- Provision new Kubernetes clusters using Kubefirst
- View cluster provisioning logs
k1space Operations
- Upgrade k1space to the latest version
- Print configuration paths
- Display version information
Uninstallation
To uninstall k1space, you can use the provided uninstall script:
curl -fsSL https://raw.githubusercontent.com/ssotops/k1space/master/uninstall.sh | bash
This script will remove the k1space binary and optionally delete the configuration directory.
Documentation
¶
There is no documentation for this package.