Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kelda/blimp

Blimp: Develop with Docker Compose in the cloud
https://github.com/kelda/blimp

developer-tools development-environment devops docker docker-compose golang

Last synced: 8 days ago
JSON representation

Blimp: Develop with Docker Compose in the cloud

Awesome Lists containing this project

README

        

# Blimp CLI

[![Build Status](https://circleci.com/gh/kelda/blimp.svg?style=svg)](https://circleci.com/gh/kelda/blimp)
[![Go Report Card](https://goreportcard.com/badge/github.com/kelda/blimp?)](https://goreportcard.com/report/github.com/kelda/blimp)
[![Slack](https://kelda.io/img/slack-badge.svg)](http://slack.kelda.io)

This repository contains the CLI for [Blimp](https://kelda.io/blimp).
Blimp lets you develop in the cloud, reducing CPU and RAM usage on your laptop.
It supports the same
[configuration](https://docs.docker.com/compose/compose-file) and
[workflows](https://devcenter.heroku.com/articles/local-development-with-docker-compose)
as [Docker Compose](https://docs.docker.com/compose/).

This repository is also used for issue tracking and feature requests.

## How it Works

* The containers run in a remote Kubernetes cluster. [compose-go](https://github.com/compose-spec/compose-go) parses
compose files into a standard format, which is then deployed by the Blimp
Cloud.
* [Localhost network tunnels](https://docs.docker.com/compose/compose-file/#ports) are implemented over [gRPC streams](https://github.com/kelda/blimp/blob/master/_proto/blimp/node/v0/controller.proto#L10).
* [Bind volumes](https://docs.docker.com/compose/compose-file/#volumes) are
implemented with [Syncthing](https://syncthing.net/). The Syncthing
connection is also tunnelled over the gRPC stream.

## Installation

`blimp` has been tested on Mac, Linux, and Windows WSL.

```shell
curl -fsSL 'https://raw.githubusercontent.com/kelda/blimp/master/scripts/install.sh' | sh
```

## Example

```
# Download the example.
git clone https://github.com/kelda/node-todo
cd node-todo

# Pick a username.
mkdir -p ~/.blimp && echo 'username: your_user' > ~/.blimp/auth.yaml

# Boot the docker-compose.yml.
blimp up

# You can now interact with your containers as if they were running locally.
# Edit files.
vim app/routes.js

# Access the app.
curl localhost:8080
```

## Documentation

* [Design principles](https://kelda.io/blimp/docs/#/home?id=design-principles) (be
light, require zero setup, and require zero workflow changes)
* [Release notes](https://kelda.io/blimp/docs/release-notes/) for past Blimp versions.
* [Basic usage analytics](https://kelda.io/blimp/docs/#/security?id=what-analytics-does-the-blimp-cli-collect)
are collected by default ([you can opt out](https://kelda.io/blimp/docs/#/security?id=what-analytics-does-the-blimp-cli-collect)).
* [The Kelda Slack](https://slack.kelda.io) is the best way to reach the maintainers.

## Contributing

Contributions are very much welcome! Check out the [contribution
guide](CONTRIBUTING.md) to get started.