Kelda
Formerly known as 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.
Kelda, formerly Quilt, aims to make sharing this knowledge simple by encoding it in JavaScript. Just as developers package, share, and reuse application code, Kelda’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 kelda run
the JavaScript blueprint of
your application. Kelda 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.
Kelda is currently in beta.
Deploy Quickly on...
Install
Install Kelda with npm:
$ npm install -g @kelda/install
Check out more in our Quick Start tutorial.
API
Run any container.
let web = new Container('web', 'someNodejsImage');
Load balance traffic.
let webContainers = [];
for (i = 0; i < 3; i += 1) {
webContainers.push(new Container('web', 'someNodejsImage'));
}
let webLoadBalancer = new LoadBalancer('web-lb', webContainers); // A load balancer over 3 containers.
Share and import blueprints via npm.
const Redis = require('@kelda/redis');
let redis = new Redis(2, 'AUTH_PASSWORD'); // 2 Redis database replicas.
Set up a secure network.
allow(publicInternet, webContainers, 80); // Open the webservers' port 80 to the public internet.
redis.allowFrom(webContainers); // Let the web app communicate with Redis.
Deploy VMs on any supported cloud provider.
let vm = new Machine({
provider: 'Amazon',
size: 't2.micro'
});
For more examples, have a look at the blueprints in the blueprint library and check out our docs.
Kelda CLI
# Deploy your application.
$ kelda run ./someBlueprint.js
# SSH into VMs and containers.
$ kelda ssh <ID>
# Check the status of your deployment.
$ kelda show
This is just a small sample of the Kelda CLI. Check out more handy commands for managing your deployment.
Get Started
- Get started with our tutorial
- Check out our docs
- Contribute to the project
- Learn more on our website
- Get in touch!
We would love to hear if you have any questions, suggestions, or other comments!