README.md in pvcglue-0.1.8 vs README.md in pvcglue-0.1.9

- old
+ new

@@ -1,36 +1,137 @@ -# Basic Usage +# PVC Glue - pvc manager init # only once per machine - pvc manger build # only once - # create or edit configuration - pvc manager push # save the config - pvc <stage> build # anytime the config is changed - pvc <stage> env set KEY=value[, KEY2=value] - pvc <stage> capify - pvc <stage> deploy +Pico Virtual Cloud -# Pvcglue +An opinionated cloud application manager for Rails applications using your own servers. +Currently supported stack: + + * Ubuntu 12.04 (with plans for supporting 14.04) + * Ruby >= 1.9 (multiple versions supported on same server) + * Rails >= 3.2 + * RVM + * Postgresql 9.1 + * Nginx + * Passenger > 4.0 + * Memcached + +# This is a work in progress + +Although this project is being used on productions sites, this should be considered "Alpha" code, as things my change without notice until version 1.0. :) + +# First Time Set Up for Existing Project + +Note: An existing authorized user must perform steps 1-3. + +1. Add the new user's public key to the manager + + pvc manager user /path/to/id_rsa.pub + +2. Add the new user's public key to the project(s) + + pvc manager pull # to ensure the latest data + + Edit the file listed after "Saved as:" add public SSH key of new user to project(s) + + pvc manager push + +3. Update all environments to allow access + + pvc alpha bootstrap + pvc beta bootstrap # if not the same set of servers as alpha + pvc preview bootstrap # if not the same set of servers as alpha/beta + pvc production bootstrap + +4. Configure the manager (only once per developer machine, if set as the default). + + pvc manager configure # only once per developer machine, if set as default + +5. Test. + + pvc alpha c # start a rails console on the alpha web server + +## Common Usage + +Always do a `pvc manager pull` once before making any changes to ensure you have the latest data. (Caching will be improved as time permitts.) + +* Deploy a stage + + pvc <stage> deploy + +* Set an environment variable or variables + + pvc <stage> env set XYZ=123 [ZZZ=321] # this will restart the app + +* Pull down a copy of the production db + + pvc production db pull + +* Restore a db dump to you local development machine + + pvc restore path/to/dump/file.dump + +* edit configuration + + pvc manager pull # to ensure the latest data + + Edit the file listed after "Saved as:" + + pvc manager push + +* update deployment settings after making changes to the configuration + + pvc <stage> capify # must be done on all stages! + + +# Help + Commands: pvc bootstrap -s, --stage=STAGE # bootstrap... pvc build -s, --stage=STAGE # build... pvc c -s, --stage=STAGE # shortcut for console pvc capify -s, --stage=STAGE # update capistrano configuration pvc console -s, --stage=STAGE # open rails console pvc db SUBCOMMAND ...ARGS # db utils + pvc db config # create/update database.yml + pvc db dump # dump + pvc db help [COMMAND] # Describe subcommands or one specific subcommand + pvc db info # info + pvc db pull # pull + pvc db push # push + pvc db restore # restore pvc deploy -s, --stage=STAGE # deploy the app pvc env SUBCOMMAND ...ARGS -s, --stage=STAGE # manage stage environment + pvc env default # reset env to default. Destructive!!! + pvc env help [COMMAND] # Describe subcommands or one specific subcommand + pvc env list # list + pvc env pull # pull + pvc env push # push + pvc env rm # alternative to unset + pvc env set # set environment variable(s) for the stage XYZ=123 [ZZZ=321] + pvc env unset # remove environment variable(s) for the stage XYZ [ZZZ] pvc help [COMMAND] # Describe available commands or one specific c... pvc info # show the pvcglue version and cloud settings pvc m -s, --stage=STAGE # enable or disable maintenance mode pvc maint -s, --stage=STAGE # enable or disable maintenance mode pvc maintenance -s, --stage=STAGE # enable or disable maintenance mode pvc manager SUBCOMMAND ...ARGS # manage manager + pvc manager bootstrap # bootstrap + pvc manager configure # configure + pvc manager help [COMMAND] # Describe subcommands or one specific subcommand + pvc manager info # show manager data + pvc manager pull # pull + pvc manager push # push + pvc manager s # run shell + pvc manager shell # run shell + pvc manager show # show manager data pvc s -s, --stage=STAGE # shell pvc sh -s, --stage=STAGE # run interactive shell on node pvc ssl SUBCOMMAND ...ARGS -s, --stage=STAGE # manage ssl certificates + pvc ssl csr # create new csr + pvc ssl help [COMMAND] # Describe subcommands or one specific subcommand + pvc ssl import # import .key or .crt or both if no extension given (.crt must be 'pre... pvc version # show the version of PVC... https://github.com/radar/guides/blob/master/gem-development.md ## Installation @@ -47,14 +148,10 @@ Or install it yourself as: $ gem install pvcglue -## Usage - -TODO: Write usage instructions here - ## Developing To use locally committed gem, use bundle config local.pvcglue ~/projects/pvcglue @@ -96,6 +193,6 @@ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.