diff options
author | elijah <elijah@riseup.net> | 2012-10-09 00:01:55 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2012-10-09 00:01:55 -0700 |
commit | 578ac2f5dc7432317d7a022bed9d869ab89ee45c (patch) | |
tree | 3cf8d27c2e8059df33e33e9c39146e0b3db29599 /cli/DEVNOTES | |
parent | 105fe22c2de06310e48c4827b47d38d18750ed32 (diff) | |
download | leap_cli-578ac2f5dc7432317d7a022bed9d869ab89ee45c.tar.gz leap_cli-578ac2f5dc7432317d7a022bed9d869ab89ee45c.tar.bz2 |
initial code commit
Diffstat (limited to 'cli/DEVNOTES')
-rw-r--r-- | cli/DEVNOTES | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/cli/DEVNOTES b/cli/DEVNOTES new file mode 100644 index 0000000..eceac87 --- /dev/null +++ b/cli/DEVNOTES @@ -0,0 +1,97 @@ +Features to add +========================== + +templates +-------------------- + +templates for nodes and services stored in leap_platform + +commands: + + leap add-service # menu of services, adding copies the template + leap add-node # you pick a service, then it copies template + +deploy +--------------------- + +not yet working + + leap bootstrap + leap dryrun + leap deploy + +key management +------------------------- + +not yet working + + leap add-ssh-keypair + leap add-x509-keypair + +hiera logic +------------------------ + +leap_platform should be able insert ruby logic in the generation of hiera .yml files. for example, so say that a webapp node should get a list of all the couchdb nodes its config. + +this code might look like this + + node['couchdb_ips'] = @nodes[:services => :couchdb].map(&:ip_address) + +or + + node['couchdb_ips'] = @services[:couchdb].nodes.map(&:ip_address) + +maybe see http://blog.bigbinary.com/2008/10/17/under-the-hood-how-named-scope-works.html + + +json validation +------------------------ + +json validation +http://www.kuwata-lab.com/kwalify/ruby/users-guide.html + + +useful liberaries +================================ + +user interaction + + readline + highline + terminal-tables + rainbow + http://stackoverflow.com/questions/9577718/what-ruby-libraries-should-i-use-for-building-a-console-based-application + +testing + + aruba -- test for cli + +help + + gem-man -- install man pages with gems + ronn -- write man pages in markdown + +push examples + + https://github.com/net-ssh/net-ssh + + https://github.com/seattlerb/rake-remote_task + http://docs.seattlerb.org/rake-remote_task/ + https://github.com/seattlerb/rake-remote_task/blob/master/lib/rake/remote_task.rb + + https://github.com/davidwinter/sooty + push puppet with rake/remote_task + https://github.com/davidwinter/sooty/blob/master/lib/sooty.rb + + calling rsync from ruby + https://github.com/RichGuk/rrsync/blob/master/rrsync.rb + http://rubyforge.org/projects/six-rsync/ + + https://github.com/automateit/automateit + + http://www.jedi.be/blog/2009/11/17/shell-scripting-dsl-in-ruby/ + + parallel shell + https://github.com/delano/rye + https://github.com/adamwiggins/rush + |