Skip to content
This repository has been archived by the owner on Jun 11, 2021. It is now read-only.

Machine Management

Mikhail Zholobov edited this page Dec 6, 2015 · 22 revisions

Suggested End of Q3 3-month MVP:

Tech Architecture

Provider Setup
  1. A graphical picker chooses a provider
  2. DriverSetupStore sets up provider
  3. Set up info (tokens, endpoints, creds, etc.) pulled from settings (interactive?)
  4. (Provider verification?)
  5. VM creation and setup (from Machine)

Design Overview

Provider Support

  • VirtualBox
  • VMWare Fusion (AppCatalyst?)
  • Parallels Desktop for Mac

Outstanding Machine Issues

Existing Work

3-month MVP

  • Providers

  • Local

  • VirtualBox

  • AppCatalyst?

  • XHyve (On hold until kernel panic with vbox installed is fixed. Possibly fixed in vbox 5.x)

  • Hyper-V

  • Parallels Desktop for Mac

  • Working best out of the box (Mac, Windows), backwards compatibility

  • Cloud Providers

  • Choose one that is well-supported, easy to integrate (Digital Ocean)

  • Choose specific Docker Machine parameters for each provider

  • Custom-built experience for each provider, but share the same UI + Look & Feel

  • Add arbitrary key-value parameters

  • Explore other out-of-the-box providers like Xhyve, Hyper-V

  • Advanced section with custom flags read from CLI

  • Default flags from machine

  • Allow tls-san argument during machine creation

  • Docker Machine CLI bindings in Javascript

  • Custom install flow for each provider

  • Machine management in settings panel. Possibly page for machine management (like the Log In page today), or even.

  • Kitematic runs without VBox installed, setup delegated to machine management.

Process

  • Proposal in wiki
  • List of pieces that need to be worked on
  • Issue for each piece that needs to be worked on, with comment thread
  • Bi-weekly meeting

Technical Process

  • Javascript Style Guide
  • Contributors via PRs
  • machine branch