Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Barge Packer for VirtualBox

Builds the following images with Barge OS

  • barge.iso (14MB) : LiveCD image with VirtualBox Guest Addtions
  • barge.box (13MB) : Vagrant box with barge.iso and 40GB HDD

The raw Barge images are at https://github.com/bargees/barge-os.

Features

  • Disable TLS of Docker for simplicity
  • Expose the official IANA registered Docker port 2375
  • Support NFS synced folder
  • Support VirtualBox Shared Folder
  • Support VirtualBox Time Sync
  • Support Docker provisioner

Note) Pay attention to exposing the port 2375 without TLS, as you see the above features.

Requirements to build

Building

$ git clone https://github.com/bargees/barge-packer.git
$ cd barge-packer/virtualbox
$ make

Vagrant up

$ vagrant box add ailispaw/barge
$ vagrant init -m ailispaw/barge
$ vagrant up

Vagrantfile

# A dummy plugin for Barge to set hostname and network correctly at the very first `vagrant up`
module VagrantPlugins
  module GuestLinux
    class Plugin < Vagrant.plugin("2")
      guest_capability("linux", "change_host_name") { Cap::ChangeHostName }
      guest_capability("linux", "configure_networks") { Cap::ConfigureNetworks }
    end
  end
end

Vagrant.configure(2) do |config|
  config.vm.define "barge"

  config.vm.box = "ailispaw/barge"

  config.vm.synced_folder ".", "/vagrant"

  # for NFS synced folder
  # config.vm.network :private_network, ip: "192.168.33.10"
  # config.vm.synced_folder ".", "/vagrant", type: "nfs",
  #   mount_options: ["nolock", "vers=3", "udp", "noatime", "actimeo=1"]

  # for RSync synced folder
  # config.vm.synced_folder ".", "/vagrant", type: "rsync",
  #   rsync__args: ["--verbose", "--archive", "--delete", "--copy-links"]

  config.vm.provision :docker do |d|
    d.pull_images "busybox"
    d.run "simple-echo",
      image: "busybox",
      args: "-p 8080:8080 -v /usr/bin/dumb-init:/dumb-init:ro --entrypoint=/dumb-init",
      cmd: "nc -p 8080 -l -l -e echo hello world!"
  end

  config.vm.network :forwarded_port, guest: 8080, host: 8080
end

License

Copyright (c) 2015-2017 A.I. <ailis@paw.zone>

Licensed under the GNU General Public License, version 2 (GPL-2.0)
http://opensource.org/licenses/GPL-2.0