Skip to content

tuist/nimbus

Repository files navigation

☁️ Nimbus

Nimbus is a daemon that provisions and manages the infrastructure (runners, cache, and more) for build systems and test runners to operate optimally. It acts as a glue layer between build and test environments (CI systems, agents, developer machines) and cloud infrastructure, enabling teams to run builds, tests, and custom workflows efficiently and safely from anywhere.

📋 Overview

Nimbus provides standalone value as an open-source tool for infrastructure management, while creating a natural pathway to Tuist's managed offerings. Similar to how Grafana Cloud hosts Grafana instances, Tuist can host Nimbus daemons while also supporting self-hosted deployments.

Key features:

  • 🔗 Git Forge Integration: Connects with GitHub, GitLab, Forgejo, and other Git forges
  • ☁️ Multi-Cloud Support: Interfaces with AWS, GCP, Hetzner, and local environments
  • ⚡ Elastic Infrastructure: On-demand provisioning of runners, cache, and supporting infrastructure
  • 🎯 Build Optimization: Designed to help build systems and test runners operate at peak efficiency
  • 🏠 Flexible Deployment: Can be self-hosted or managed by Tuist
  • 🔒 Per-Tenant Isolation: Each tenant runs their own isolated Nimbus daemon process

📦 Installation

mise + UBI (Recommended)

The easiest way to install and run Nimbus is using mise with the UBI backend:

# Install and run the latest version
mise x ubi:tuist/nimbus@latest -- nimbus start

# Or install globally
mise use -g ubi:tuist/nimbus@latest
nimbus start

Docker

docker pull ghcr.io/tuist/nimbus:latest
docker run -p 4000:4000 ghcr.io/tuist/nimbus:latest

Native Binaries

Download pre-built binaries from the latest release:

  • macOS (Apple Silicon): nimbus-macos-aarch64.tar.gz
  • macOS (Intel): nimbus-macos-x86_64.tar.gz
  • Linux (x86_64): nimbus-linux-x86_64.tar.gz
  • Linux (ARM64): nimbus-linux-aarch64.tar.gz

Extract and run:

tar xzf nimbus-*.tar.gz
./nimbus_*/bin/nimbus start

🛠️ Development

This project uses mise for tool version management. Install the required tools with:

mise install

Run tests:

mix test

📚 Documentation

Documentation can be generated with ExDoc:

mix docs

About

An Elixir library to provision environments for CI manually or automatically

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors