Skip to content
/ vagrant Public

Vagrantfile, multi-machine - AWS, Google or VirtualBox + Docker

Notifications You must be signed in to change notification settings

crahen/vagrant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vagrant

Configure

~/.vagrant.d/Vagrantfile:

Run vagrant-bootstrap.sh and add your credentials to your personal Vagrantfile.

# Amazon Credentials - used to provision AWS Cloud environments
AMAZON_ACCESS_KEY_ID = "XXX"
AMAZON_SECRET_ACCESS_KEY = "XXX"
AMAZON_SSH_KEYPAIR_NAME = "vagrant"
AMAZON_SSH_PRIVATE_KEY = "~/.aws/vagrant.pem"

# Amazon Resources
AMAZON_REGION = "us-west-2"
AMAZON_SECURITY_GROUP = "sg-8669e0e3"
AMAZON_SUBNET = "subnet-73407707"


# Google Credentials - used to provision Google Cloud environments
GOOGLE_PROJECT_ID = "XXX"
GOOGLE_SERVCE_ACCOUNT_EMAIL = "XXX"
GOOGLE_SERVCE_ACCOUNT_KEY = "~/.google/vagrant.p12"

# Google Resources
GOOGLE_ZONE = 'us-central2-a'


# Vagrant SSH Credentials - used to SSH into environments created by Vagrant
VAGRANT_SSH_USERNAME = "vagrant"
VAGRANT_SSH_KEY = "~/.ssh/id_vagrant"

~/.ssh/config:

Enable X11 forwarding in SSH.

Host *
  ForwardX11 yes

Vagrant w/ X11 Support

Create a VM

vagrant up vbox
vagrant up ec2 --provider=aws
vagrant up gce --provider=google

SSH into VM w/ X11 forwarding

vagrant ssh vbox -- -Y
vagrant ssh ec2 --  -Y
vagrant ssh gce --  -Y

Tear down VM

vagrant destroy vbox
vagrant destroy ec2
vagrant destroy gce

Vagrant + Xpra

Create X11 session

vagrant ssh vbox -- -Y xpra start :$SESSION
vagrant ssh ec2 --  -Y xpra start :$SESSION
vagrant ssh gce --  -Y xpra start :$SESSION

Attach to X11 session

vagrant ssh vbox -- -Y xpra attach :$SESSION
vagrant ssh ec2 --  -Y xpra attach :$SESSION
vagrant ssh gce --  -Y xpra attach :$SESSION

Destroy X11 session

vagrant ssh vbox -- -Y xpra stop :$SESSION
vagrant ssh ec2 --  -Y xpra stop :$SESSION
vagrant ssh gce --  -Y xpra stop :$SESSION

Vagrant + Docker w/ Xpra

Lifetime of a docker container connected to an X11 session that's run in the vagrant managed client. The X11 session from the client can be attached and detached from the host X11 session.

DISPLAY=:$SESSION
XAUTH=/tmp/Xauthority-$SESSION
XSOCK=/tmp/.X11-unix/X$SESSION
xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge -
SESSION=99
TAG=xclock
CMD=xclock

Start an X11 session

vagrant ssh vbox -- -Y xpra start :$SESSION
vagrant ssh ec2 --  -Y xpra start :$SESSION
vagrant ssh gce --  -Y xpra start :$SESSION

Start container

vagrant ssh vbox -- -Y docker run -e DISPLAY=:$DISPLAY -e XAUTHORITY=$XAUTH -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -i -t $TAG $CMD
vagrant ssh ec2 --  -Y docker run -e DISPLAY=:$DISPLAY -e XAUTHORITY=$XAUTH -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -i -t $TAG $CMD
vagrant ssh gce --  -Y docker run -e DISPLAY=:$DISPLAY -e XAUTHORITY=$XAUTH -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -i -t $TAG $CMD

Attach to X11 session

vagrant ssh vbox -- -Y xpra attach :$SESSION
vagrant ssh ec2 --  -Y xpra attach :$SESSION
vagrant ssh gce --  -Y xpra attach :$SESSION

Stop / kill a docker container

vagrant ssh vbox -- -Y docker stop|kill $CONTAINER
vagrant ssh ec2 --  -Y docker stop|kill $CONTAINER
vagrant ssh gce --  -Y docker stop|kill $CONTAINER

Stop session

vagrant ssh vbox -- -Y xpra stop :$SESSION
vagrant ssh ec2 --  -Y xpra stop :$SESSION
vagrant ssh gce --  -Y xpra stop :$SESSION

About

Vagrantfile, multi-machine - AWS, Google or VirtualBox + Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages