Skip to content

mchang6137/quilt

 
 

Repository files navigation

Build Status Go Report Card Code Coverage

Quilt

Deploying applications to the cloud can be painful. Booting virtual machines, configuring networks, and setting up databases, requires massive amounts of specialized knowledge — knowledge that’s scattered across documentation, blog posts, tutorials, and source code.

Quilt aims to make sharing this knowledge simple by encoding it in JavaScript. Just as developers package, share, and reuse application code, Quilt’s JavaScript framework makes it possible to package, share, and reuse the knowledge necessary to run applications in the cloud.

To take this knowledge into production, simply quilt run the JavaScript blueprint of your application. Quilt will set up virtual machines, configure a secure network, install containers, and whatever else is needed to get up and running smoothly on your favorite cloud provider.

Deploy Quickly on...

providers

Install

Install Quilt with npm:

$ npm install -g @quilt/install

Check out more in our Getting Started Guide.

API

Run any container.

let web = new Container('web', 'someNodejsImage');

Load balance traffic.

let webGroup = web.replicate(3);
let webLoadBalancer = new LoadBalancer('web-lb', webGroup); // A load balancer over 3 containers.

Share and import blueprints via npm.

const Redis = require('@quilt/redis');
let redis = new Redis(2, 'AUTH_PASSWORD'); // 2 Redis database replicas.

Set up a secure network.

allow(publicInternet, webGroup, 80); // Open the webservers' port 80 to the public internet.
redis.allowFrom(webGroup, redis.port); // Let the web app communicate with Redis.

Deploy VMs on any supported cloud provider.

let vm = new Machine({
  provider: 'Amazon',
  size: 't2.micro'
});

See full example blueprints and check out our docs.

Quilt CLI

# Deploy your application.
$ quilt run ./someBlueprint.js

# SSH into VMs and containers.
$ quilt ssh <ID>

# Check the status of your deployment.
$ quilt show

This is just a small sample of the Quilt CLI. Check out more handy commands for managing your deployment.

Get Started

We would love to hear if you have any questions, suggestions, or other comments!

Packages

No packages published

Languages

  • Go 87.8%
  • JavaScript 11.1%
  • Other 1.1%