\ _) | |
_ \ | __| __| __| _` | __| | /
___ \ | | \__ \ | ( | ( <
_/ _\ _| _| ____/ \__| \__,_| \___| _|\_\
- 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
- bind logger on vbox host ip address: https://github.com/airstack/airstack/blob/master/airsdk/base/make/init_share.sh
- pipe container logs to syslog service on host
- 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
- download node v0.11 into ~/.airstack/bin/node
- http://nodejs.org/dist/
- use nvm install as template: https://github.com/creationix/nvm/blob/master/install.sh
Airstack CLI is similar to Heroku's toolbelt CLI.
It provides a convenient method for fetching containers for dev, configuring and deploying.
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.
For MVP, the CLI focuses on the NodeJS community.
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.
- Install NVM
nvm use 0.10.30
OSX: install package
Linux: manual install
Linux requires VirtualBox for now. Native support will be added once OSX CLI is stable.
OSX: brew install samba
See samba doc.
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
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