Giter VIP home page Giter VIP logo

coreos-osx's Introduction

CoreOS VM for OS X

CoreOS VM for OS X App has a new home, it is now under https://github.com/TheNewNormal organisation

CoreOS VM for OS X (coreos-machine) is a Mac Status bar App which works like a wrapper around the corectl command line tool (it makes easier to control xhyve based VMs).

It includes Docker Registry v2 (Go based and compiled for OS X)

It supports only a standalone CoreOS VM, cluster one (Vagrant based) is at CoreOS Cluster for OS X.

New v1.1.0 is based on corectl which brings more stablity to the App. App got renamed from CoreOS GUI to CoreOS. Mac user home folder is automaticly mounted to VM.

CoreOS-OSX

How to install CoreOS VM for OS X

Requirements

  • OS X 10.10.3 Yosemite or later
  • Mac 2010 or later for this to work.
  • If you want to use this App with any other VirtualBox based VM, you need to use newest versions of VirtualBox 4.3.x or 5.0.x.

####Download:

###Install:

Open downloaded dmg file and drag the App e.g. to your Desktop. Start the CoreOS OSX and Initial setup of CoreOS OSX will run.

TL;DR

  • App's files are installed to ~/coreos-osx folder
  • CoreOS ISO files are stored under ~/.coreos folder
  • Docker registry runs on 192.168.64.1:5000 and images are stored under ~/coreos-osx/registry
  • Mac user home folder is automaticly mounted to VM: /Users/my_user:/Users/my_user
  • OS X fleetctl and docker clients are installed to ~/coreos-osx/bin and preset in OS shell to be used from there

The install will do the following:

  • All dependent files/folders will be put under coreos-osx folder in the user's home folder e.g /Users/someuser/coreos-osx
  • Mac user home folder is automaticly mounted to VM: /Users/my_user can be accessed on VM via the same /Users/my_user, it is very handy for using docker mounted volumes
  • User's Mac password will be stored in OS X Keychain, it will be used to pass to sudo command which needs to be used starting the VM, this allows to avoid using sudo for corectl to start a VM.
  • ISO images are stored under ~/.coreos/images That allows to share the same images between different corectl based Apps and also speeds up this App VMs reinstall
  • user-data file will have fleet, etcd, and Docker Socket for the API enabled
  • Will download latest CoreOS ISO image and run corectl to initialise VM with docker 2375 port pre-set for docker OS X client
  • Will download and install fleetctl and docker OS X clients to ~/coreos-osx/bin/
  • A small shell script rkt will be installed to ~/coreos-osx/bin/ which allows to call via ssh remote rkt binary on CoreOS VM
  • A small shell script etcdctl will be installed to ~/coreos-osx/bin/ which allows to call via ssh remote etcdctl binary on CoreOS VM
  • docker-exec script (docker exec -it $1 bash -c 'export TERM=xterm && bash') will be installed into ~/coreos-osx/bin/ too, which allows to enter container with just a simple command: docker-exec container_name
  • Also docker2aci binary will be installed to ~/coreos-osx/bin/, which allows to convert docker images to rkt aci images
  • Will install Fleet-UI and DockerUI via unit files
  • Via assigned static IP (it will be shown in first boot and will survive VM's reboots) you can access any port on CoreOS VM
  • user-data file enables docker flag --insecure-registry to access insecure registries.
  • Root persistant disk will be created and mounted to / so data will survive VM reboots.

How it works

Just start CoreOS OSX GUI application and you will find a small icon with the CoreOS logo with hin the Status Bar.

  • There you can Up, Halt, Reload CoreOS VM
  • SSH to core-01 (vagrant ssh) will open VM shell
  • Under Up OS Shell will be opened when VM boot finishes up and it will have such environment pre-set:
DOCKER_HOST=tcp://192.168.64.xxx:2375
ETCDCTL_PEERS=http://192.168.64.xxx:2379
FLEETCTL_ENDPOINT=http://192.168.64.xxx:2379
FLEETCTL_DRIVER=etcd
Path to `~/coreos-osx/bin` where docker and fleetctl binaries, rkt, etcdclt 
and docker-exec shell scripts are stored
  • OS Shell opens OS Shell with the same enviroment preset as Up
  • Updates/Check updates for OS X fleetctl and docker clients will update fleet and docker OS X clients to the same versions as CoreOS VM runs.
  • Updates/Fetch latest CoreOS ISO will download the lasted CoreOS ISO file for the currently set release channel.
  • Fleet-UI dashboard will show running fleet units and etc
  • DockerUI will show all running containers and etc
  • Put your fleet units into ~/coreos-osx/my_fleet folder and they will be automaticly started on each VM boot.
  • You can upload your saved/exported docker images place in ~/coreos-osx/docker_images folder via Upload docker images
  • Local Docker Registry v2 (Go based and compiled for OS X) is running on 192.168.64.1:5000, which gets started/stopped on each VM Up/Halt.
  • This App has as much automation as possible to make easier to use CoreOS on OS X, e.g. you can change CoreOS release channel and reload VM as root persistant disk for VM will be created and mounted to / so data will survive VM reboots.

Credits

Other CoreOS VM based Apps

coreos-osx's People

Contributors

rimusz avatar benolee avatar dghubble avatar ggoodman avatar michaelbeil avatar

Watchers

James Cloos avatar karlitxo avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.