/ccmanager

CloudControl instance manager ☁️ 🧰 📺

Primary LanguageGoMIT LicenseMIT

CCmanager ☁️ 🧰 📺 - CloudControl instance manager

If you're using CloudControl to manage the infrastructure of multiple projects, switching between different projects can be cumbersome.

CCmanager is a TUI for managing multiple CloudControl instances. Currently, it expects that all instances are managed using docker compose in one or multiple subdirectories.

asciicast

Requirements

The current implementation only supports Docker with the Docker Compose v2 API.

Usage

If you're placing all docker-compose files under directories like $HOME/CloudControl/project1, $HOME/CloudControl/project2, you can set CCMANAGER_BASEPATH to $HOME/CloudControl.

If you're using multiple directories, CCMANAGER_BASEPATH supports a list of directories separated by ,.

Afterwards, run CCmanager by placing the binary somewhere in your path and run

ccmanager

CCmanager will load and show you the status of all found instances. Select an instance and use these keyboard shortcuts:

  • enter: Start a CloudControl shell
  • c: Open CloudControlCenter, the CloudControl status web interface
  • L: Show the log of the instance
  • r: Restart the instance
  • d: Stop the instance
  • s: Start the instance
  • n: Show an information screen about the instance

You can use / to filter the list of instances. For more shortcuts, press h.

Development

CCmanager is based on Go, Bubbletea, Bubbles, Lipgloss.

The Docker adapter is based on the official Docker Client API and Docker Compose v2.

It adheres to the Go standard project layout.