Uffizzi Core
Uffizzi CLI API, Models, Services and core libraries
Uffizzi Overview
Uffizzi is the Full-stack Previews Engine that makes it easy for your team to preview code changes before merging—whether frontend, backend or microserivce. Define your full-stack apps with a familiar syntax based on Docker Compose, and Uffizzi will create on-demand test environments when you open pull requests or build new images. Preview URLs are updated when there’s a new commit, so your team can catch issues early, iterate quickly, and accelerate your release cycles.
Getting started with Uffizzi
The fastest and easiest way to get started with Uffizzi is via the fully hosted version available at https://uffizzi.com, which includes free plans for small teams and qualifying open-source projects.
Alternatively, you can self-host Uffizzi via the open-source repositories available here on GitHub. The remainder of this README is intended for users interested in self-hosting Uffizzi or for those who are just curious about how Uffizzi works.
Uffizzi Architecture
Uffizzi consists of the following components:
- Uffizzi App - The primary REST API for creating and managing Previews
- Uffizzi Controller - A smart proxy service that handles requests from Uffizzi App to the Kubernetes API
- Uffizzi CLI (this repository) - A command-line interface for Uffizzi App
- Uffizzi Dashboard - A graphical user interface for Uffizzi App, available as a paid service at https://uffizzi.com
To host Uffizzi yourself, you will also need the following external dependencies:
- Kubernetes (k8s) cluster
- Postgres database
- Redis cache
Installation
Add this line to your application's Gemfile:
gem 'uffizzi_core'
And then execute:
$ bundle
Or install it yourself as:
$ gem install uffizzi_core
Migrations
After adding a new migration, ru the following command:
rake uffizzi_core:install