All-in-one development infrastructure
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
etc
.gitignore
LICENSE
Makefile
README.md Remove obsolete tests from README (Close #9) Apr 25, 2018
docker-compose.yml Add persistent volumes Mar 30, 2018
health-monitor.png

README.md

Spaceport

Spaceport is used to run Vostok infrastructure on a single host for development purposes. It contains all Vostok components which are configured to work with each other out-of-the-box.

Use Spaceport with Launchpad to test newly created Vostok-instrumented applications.

Vostok contributors can also use Spaceport to fix bugs or develop new Vostok components.

Installation

Docker (and docker-compose) are prerequisites. Check that you have them in your PATH:

$ docker --version
Docker version 17.12.0-ce, build c97c6d6

$ docker-compose --version
docker-compose version 1.18.0, build 8dd22a9

Clone this repository:

$ git clone https://github.com/vostok/spaceport.git

Usage

Use make to run Spaceport. It will download and run all necessary containers.

Beware. You won't be able to run Spaceport on a very old or weak machine. Mid-2014 MacBook Pro with 8GB RAM shows acceptable performance.

Go to localhost:6300 to check if all components are up and running.

Other commands are also available:

  • make down will stop and remove all containers
  • make pull will pull latest versions of containers and overwrite your changes to containers

If you don't have make, look inside the Makefile for commands.

Web Applications

Spaceport provides several end-user applications.

Scenarios

Test Vostok-instrumented Applications

Use Launchpad to create an application. Make some HTTP requests to your application and explore results in Grafana, Kibana and Contrails.

Fix Bugs and Develop New Vostok Components

Let's say you want to add some features to Contrails. This usually requires working on Contrails API and Contrails Web at the same time.

Clone both Contrails repositories. appsettings.json in API is preconfigured to look for Kafka, Cassandra and other components by their container names. Change these names to localhost, since all Spaceport components are bound to the same ports on localhost. Now you have a working Spaceport with Contrails API replaced with your own application.

When you're done, send a pull request.