Skip to content

airstack/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

     \    _)             |                 |
    _ \    |   __|  __|  __|   _` |   __|  |  /
   ___ \   |  |   \__ \  |    (   |  (       <
 _/    _\ _| _|   ____/ \__| \__,_| \___| _|\_\

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 git@github.com:airstack/airstack.git
cd airstack/base
make build
cd ../nodejs
make build

Installation

git clone git@github.com: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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published