/vic-old

Integrated containers on vSphere

Primary LanguageGoApache License 2.0Apache-2.0

Build Status

vSphere Integrated Containers

VIC is a container runtime for vSphere, allowing developers familiar with Docker to develop in containers and deploy them alongside traditional VM-based workloads on vSphere clusters, and allowing for these workloads to be managed through the vSphere UI in a way familiar to existing vSphere admins.

Contributing

See CONTRIBUTING for details on submitting changes and the contribution workflow.

Building binaries for development

To build the bootstrap binaries, ensure GOPATH is set, then issue the following.

$ make all

This will install required tools, build the bootstrap binaries tether-windows, tether-linux, rpctool and server binaries docker-server, port-layer-server. The binaries will be created in the ./binaries directory.

To run tests after a successfull build, issue the following.

$ make test

Managing vendor/ directory

To build the VIC dependencies, ensure GOPATH is set, then issue the following. $ make gvt vendor

This will install the gvt utility and retrieve the build dependencies via gvt restore

Building the bootstrap container iso

The bootstrap container iso is the bootable cd image used to boot container VM templates. To build the image using docker, ensure GOPATH is set and docker is installed, then issue the following.

cd bootstrap && ./build.sh docker

Alternatively, the iso image can be built locally. Again, ensure GOPATH is set, but also ensure the following packages are installed.

	curl \
	cpio \
	ssh-client \
	squashfs-tools \
	xorriso \
	git \
	gcc \
	make \
	vim \
	patch \
	rpm \
	busybox-static \
	isolinux \
	syslinux

Package names may vary depending on the distribution being used. Once installed, issue the following.

cd bootstrap && ./build.sh local

The iso image will be created in ./binaries

Building with CI

Merges to this repository will trigger builds with Drone.

To build locally with Drone:

Ensure that you have Docker 1.6 or higher installed. Install the Drone command line tools. Run drone exec from within the root directory of the vic repository.

Starting docker-server

Generate certificate pair

go run `go env GOROOT`/src/crypto/tls/generate_cert.go --host localhost

Start server

binary/docker-server --port=2376 --tls-certificate=cert.pem --tls-key=key.pem

Starting port-layer-server

binary/port-layer-server --port 8080

Testing with docker client

$ DOCKER_API_VERSION=1.21 DOCKER_HOST=tcp://127.0.0.1:2376 docker pull tomcat

License

VIC is available under the Apache 2 license.