Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A next generation open source platform as a service (PaaS)
Go JavaScript Shell CSS Ruby HTML Other
branch: master
Failed to load latest commit information.
Godeps Godeps: Update github.com/flynn/que-go
appliance controller,appliance/postgres: Support deprovisioning resources
blobstore pkg/postgres: Uniqueness error helper.
bootstrap Merge pull request #1536 from flynn/dashboard-login-token-url
cli controller: Remove routes and resources on app deletion
controller controller: Move app deletion tests into integration suite
dashboard dashboard: Add support for login token url param
demo all: Bump Virtualbox resources
discoverd discoverd/testutil: Add etcd client advertise flag
docs docs: Clarify that a firewall is required for security
flannel flannel: Bump to get subnet file race fix
gitreceived gitreceive: Fix error return
host cli: Add limit command for managing resource limits
installer installer: Add links for creating credentials
logaggregator pkg/typeconv: Add typeconv package
pinkerton all: Build static binaries
pkg pkg/httpclient: Don't retry streams when the response is a 404
receiver controller: Move events into single app event stream
router router: Tighten up COOKIE_KEY processing
schema all: Add resource specifications
script script: Only remove Flynn if "yes" is sent on stdin
slugbuilder slugbuilder: Bump buildpacks
slugrunner slugrunner: Don't use a proxy for .discoverd hosts
taffy all: Don’t build bootstrap image
test controller: Move app deletion tests into integration suite
updater updater: Add postgres to system apps to update
util util/packer: Update Ubuntu URL
.gitignore all: Fixed .gitignore to ignore the util/_toolchain directory
CONTRIBUTING.md all: Remove website (docs and schema remain in new locations)
LICENSE all: Update Flynn trademark status
MAINTAINERS MAINTAINERS: Misc updates
Makefile Makefile: Don’t clean up if there is no reason to
README.md all: Update Flynn trademark status
Tupfile.ini all: Replace Makefiles with Tupfiles, update .gitignores
Tuprules.tup all: Build static binaries
Vagrantfile all: Bump Virtualbox resources
dashboard.gemspec dashboard: Fix gemspec require_paths
docs.gemspec all: Remove website (docs and schema remain in new locations)
schema.gemspec all: Remove website (docs and schema remain in new locations)
tup.config tup: Fix default image repository URI

README.md

Welcome to Flynn

Flynn is a next generation open source Platform as a Service (PaaS).

Unlike most PaaS's, Flynn can run stateful services as well as twelve-factor apps. This includes built-in database appliances (just Postgres to start). Flynn is modular so users can easily modify, upgrade, and replace components.

Flynn components are divided into two layers.

Layer 0 is a low-level resource framework inspired by the Google Omega paper. Layer 0 also includes service discovery.

Layer 1 is a set of higher level components that makes it easy to deploy and maintain applications and databases.

You can learn more about the project at the Flynn website.

Status

Flynn is in active development.

Users are encouraged to experiment with Flynn but should assume there are stability, security, and performance weaknesses throughout the project. This warning will be removed when Flynn is ready for production use.

Please report bugs as issues on this repository after searching to see if anyone has already reported the issue.

Getting Started

Run your own cluster

If you want to setup and run your own Flynn cluster (either locally, on dedicated hardware or using a cloud provider) take a look at the Installation Guide.

Deploying applications

Check out the Using Flynn guide for instructions on deploying and scaling applications.

Components

Layer 0

discoverd The Flynn service discovery system.

host The Flynn host service, manages containers on each host and provides the scheduling framework.

Layer 1

blobstore A simple, fast HTTP file service.

bootstrap Bootstraps Flynn Layer 1 from a JSON manifest using the Layer 0 API.

cli Command-line Flynn HTTP API client.

controller Provides management and scheduling of applications running on Flynn via an HTTP API.

gitreceived An SSH server made specifically for accepting git pushes.

postgresql Flynn PostgreSQL database appliance.

receiver Flynn's git deployer.

router Flynn's TCP/HTTP router/load balancer.

slugbuilder Turns a tarball into a Heroku-style "slug" using buildpacks.

slugrunner Runs Heroku-like slugs.

taffy Taffy pulls git repos and deploys them to Flynn.

Contributing

We welcome and encourage community contributions to Flynn.

Since the project is still unstable, there are specific priorities for development. Pull requests that do not address these priorities will not be accepted until Flynn is production ready.

Please familiarize yourself with the Contribution Guidelines before contributing.

There are many ways to help Flynn besides contributing code:

  • Find bugs and file issues.
  • Improve the documentation and website.

Learn more at flynn.io.

Flynn® is a trademark of Prime Directive, Inc.

Something went wrong with that request. Please try again.