Skip to content

Latest commit

 

History

History
135 lines (93 loc) · 3.31 KB

README.md

File metadata and controls

135 lines (93 loc) · 3.31 KB
     \    _)             |                 |
    _ \    |   __|  __|  __|   _` |   __|  |  /
   ___ \   |  |   \__ \  |    (   |  (       <
 _/    _\ _| _|   ____/ \__| \__,_| \___| _|\_\

TODO

  • Samba
    • X add mounts to samba conf
    • X reload samba on conf change
    • clean up smbd.conf on reload
    • truncate smbd logs
  • Tests
    • test successful startup of container
    • test file watching on mounted volume in container
  • CLI dashboard
    • output status of host processes: samba, virtualbox, etc.
    • keyboard support for switching between monitor and log view
    • status of containers
  • Logging
  • Stats
    • use pidusage.js as example for parsing proc data of containers for stats
  • air up
    • add start command to runit script
    • docker run
  • air ssh <container>
  • air down
  • air restart <container>
  • tab completion for container names
  • Install script

Overview

Airstack CLI is similar to Heroku's toolbelt CLI.

It provides a convenient method for fetching containers for dev, configuring and deploying.

Bechmark

Airstack CLI should be intuitive and easy to learn for junior developers and anyone new to Airstack. It should also be powerful enough to develop and manage an entire app cluster of 1,000 nodes.

Focus

For MVP, the CLI focuses on the NodeJS community.

Requirements

NodeJS

Node >=0.10 is required.

Use 0.10.31+ until 0.11 is stable. There seems to be an issue with child_process.exec hanging on 0.11. This issue shows up occasionally when exiting air up. The pgrep exec will sometimes not return results or timeout properly.

  1. Install NVM
  2. nvm use 0.10.30

Boot2Docker

OSX: install package

Linux: manual install

Linux requires VirtualBox for now. Native support will be added once OSX CLI is stable.

Samba

OSX: brew install samba

See samba doc.

Airstack Images

The CLI expects Docker images to already be available in the VM. Normally, the CLI would download the images as needed from the Airstack Docker index. Until the index is stable, simply clone the images repo and manually build each image.

# Make sure boot2docker is first running
boot2docker up

# Clone repo and make images
git clone [email protected]:airstack/airstack.git
cd airstack/base
make build
cd ../nodejs
make build

Installation

git clone [email protected]:airstack/cli.git
cd cli
npm install
npm link

# Install node 0.10.32 to ~/.airstack/package/nodejs
mkdir -p ~/.airstack/package/nodejs
cd ~/.airstack/package/nodejs
wget http://nodejs.org/dist/v0.10.32/node-v0.10.32-darwin-x64.tar.gz
tar -xzf node-v0.10.32-darwin-x64.tar.gz
ln -s ~/.airstack/package/nodejs/node-v0.10.32-darwin-x64 node

# Test
airstack build

# Or
air -h

Resources