Development Environment

Build Status Docker Hub

This repository contains Dockerfiles for development machines, and a Vagrantfile for a local CoreOS instance. This repository is a part of an automated build, published to the Docker Hub.

Dependencies

Install

Installation is really simple, just run:

$ ./install.sh <profile>

This creates a vagrant wrapper script gainmaster and places it in /usr/local/bin, which should be on your path.

Wrapper script

By using a wrapper script we can simplify the proccess of building and accessing the inner development machine. We created a wrapper script so that you:

  • Don't have to save the profile name in your environment
  • Get easy access to the inner development machin
  • Can access the machine from wherever you are in the terminal

If you don't want to use the wrapper, you must have $GAINMASTER_PROFILE in your environment.

To manualy access the development machine, first get into CoreOS with vagrant ssh, then enter development machine with sudo machinectl login gainmaster. Alternatively you can access it with: ssh -p 2200 <profile>@127.0.0.1

DNS

To take full use of the internal DNS you should add it as a static DNS resolver on your host.

  • 192.168.11.100
  • 8.8.8.8
  • 8.8.4.4

Usage

  • gainmaster coreos -> SSH into CoreOS machine (vagrant ssh)
  • gainmaster login -> SSH into developer machine inside of CoreOS
  • gainmaster start -> Start CoreOS and developer machine (vagrant up)
  • gainmaster stop -> Stop CoreOS and developer machin (vagrant halt)
  • gainmaster stop-force -> Same as taking the power out of CoreOS (vagrant halt --force)
  • gainmaster destroy -> Destroys CoreOS (vagrant destroy)
  • gainmaster status -> Get CoreOS status (Running / Not running)

References

These resources have been helpful when creating this repository: