README.md in opskeleton-0.4.3 vs README.md in opskeleton-0.4.4
- old
+ new
@@ -1,6 +1,5 @@
-
<img src="https://raw.github.com/narkisr/vagrant-sketching-board/master/images/opskeleton.png" width='100%' hight='100%' alt="" />
# Intro
Opskelaton is an opinionated bootstrap tool for local Sandbox projects.
@@ -18,34 +17,29 @@
[![Build Status](https://travis-ci.org/narkisr/opskeleton.png)](https://travis-ci.org/narkisr/opskeleton)
Usage
=========
-Installing perquisites (on Ubuntu)
+Perquisites (on Ubuntu):
-```bash
- $ sudo aptitude install ruby1.9.1 ruby1.9.1-dev
- # see https://rvm.io/rvm/install/
- $ curl -L https://get.rvm.io | bash -s stable --ruby
+* Vagrant 1.4.x
+* RVM
+* Ruby 1.9.x
- # install vagrant [see](http://docs-v1.vagrantup.com/v1/docs/getting-started/) for latest package
- $ wget http://files.vagrantup.com/packages/64e360814c3ad960d810456add977fd4c7d47ce6/vagrant_x86_64.deb
- $ sudo dpkg -i vagrant_x86_64.deb
-
- # re-launch current terminal session, the following should work
+```bash
$ rvm use system
$ sudo gem install opskeleton
```
Creating out first sandbox
```bash
$ rvm use system
# parameters include name vagrant-box
- $ opsk generate redis ubuntu-12.10
+ $ opsk generate redis ubuntu-13.10
$ cd redis-sandbox
- # bundle installs gems in the background
+ $ bundle install
$ librarian-puppet install
$ vagrant up
```
## Layout
@@ -55,11 +49,11 @@
Folder layout:
<img src="https://raw.github.com/narkisr/vagrant-sketching-board/master/images/opsk-folders.png" width='30%' hight='50%' alt="" />
-## Lifecycle
+## Module lifecycle
Opskelaton defines a simple module life cycle:
1. Internal non reusable modules (usually specific to a client site) go under static-modules
2. If we create a general reusable module which is ready for prime time we pull out to a new git repository.
@@ -67,9 +61,55 @@
Life cycle scheme:
<img src="https://raw.github.com/narkisr/vagrant-sketching-board/master/images/module-lifecycle-black.png" width='30%' hight='50%' alt="" />
+## Packaging
+
+Opskelaton fully supports deployment and portable execution of sandboxes on non Vagrant environments:
+
+```bash
+$ opsk generate foo ubuntu-13.10
+$ cd foo-sandbox
+# The package version file
+$ cat opsk.yaml
+---
+ version: '0.0.1'
+ name: foo
+# post bundle and gem install ..
+$ opsk package
+ create pkg/foo-sandbox-0.0.1
+ create pkg/foo-sandbox-0.0.1/scripts
+ create pkg/foo-sandbox-0.0.1/scripts/lookup.rb
+ chmod pkg/foo-sandbox-0.0.1/scripts/lookup.rb
+ create pkg/foo-sandbox-0.0.1/scripts/run.sh
+ chmod pkg/foo-sandbox-0.0.1/scripts/run.sh
+ create pkg/foo-sandbox-0.0.1/manifests/site.pp
+ exist pkg
+$ ls pkg
+foo-sandbox-0.0.1 foo-sandbox-0.0.1.tar.gz
+```
+The packaging process creates a portable tar file that can be run on any machine with puppet installed via the bundled run.sh:
+
+```bash
+$ tar -xvzf foo-sandbox-0.0.1.tar.gz
+$ cd foo-sandbox-0.0.1
+$ sudo ./run.sh
+```
+
+An external node classifier based runner is also available under scripts/run.sh, this runner expects to get a <hostname>.yaml input file with the required node classes.
+
+
+## Deployment
+
+The packaged tar files can be consumed using any tool and protocol however http is recommended, opsk has built in support for deploying public sandboxes into bintray:
+
+```bash
+$ opsk package
+$ opsk deploy <bintray-repo>
+```
+
+Make sure to [configure](https://github.com/narkisr/bintray-deploy#usage) configure the bintray API key.
# Copyright and license
Copyright [2013] [Ronen Narkis]
Licensed under the Apache License, Version 2.0 (the "License");