furan

command module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2019 License: MIT Imports: 1 Imported by: 0

README

Furan

Furan


Scale out Docker builds


Go Report Card

Furan is a horizontally-scalable Docker build microservice (API) that builds and pushes Docker images from a specified GitHub repository to a specified target (registry or S3).

···

What is Furan's advantage?

  • Furan is fast! Optimized for build speed, Furan runs operations in memory instead of disk. Optionally, it can be configured to run all builds within a RAM disk. Furan streams directly from GitHub to a local Docker daemon without temporary files.

  • Furan is stateless! Furan is deployed as an essentially stateless API application, allowing it to be scaled out. Furan does not shell out to execute docker commands. It leverages the Docker Engine API.

  • Furan is hookable! Furan is triggered on demand via GRPC or HTTPS. Builds can be triggered on one node and monitored on any other (allows round-robin load balancing).

  • Furan supports Docker pushs and S3 Deploys! Furan supports pushing to Docker registries (public or private) as well as pre-squashing and deploying tarballs directly to S3.

  • Furan is secure! Furan integrates with Vault for secure storage of service credentials (Docker registries, AWS). Furan supports token and AppID authentication.

  • Furan is instrumented! Furan has full Datadog integration so you can monitor the size of your docker images over time, build durations, build failures and more. Screenshot

API

The native API for Furan is based on GRPC and supports a number of RPC calls. See the protobuf definition for details.

An HTTPS adapter is available for testing convenience.

Docs

CLI

See the help output for full details: furan --help

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
generated
lib
Package lib is a generated protocol buffer package.
Package lib is a generated protocol buffer package.
lib
db
gc
s3
Package lib is a generated protocol buffer package.
Package lib is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL