Skip to content
heavy lifting in clojure
Find file
New pull request
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


core libs for s3, ec2, ssh.

build upon the core is remote repl and cluster capabilities.

in a couple cases, we use an erlang convention of the ! syntax representing "reomote" (on another process) execution.
the first argument to ! in erlang is the pid, wheras in our api, it is an open ssh session or socket.
there is no ! operator or fn, we just use the ! suffix convention to communicate remote execution.

remote shell execution.
(sh! session "tar -xzf repl.tar.gz")

remote repl evaluation.
(eval! socket (execute (workflow some-cascading-workflow)))

TODO: add examples for usages.

the persistent shell session using jsch ChannelShell is shaky at best, although exec works fine.
eval! may be simpler if we could use LineNumberingPushbackReader see comment in remote_repl.clj
stuff to poll and pull info from hadoop tracker url into repl

== Usage: crane.ec2

  (ns crane.demo
    (:use crane.ec2))

  (def my-ec2
    (ec2 {:key "somekey" :secretkey "somesecret/key"}))
  (def basic-fedora "ami-3c47a355")
  (run-instances my-ec2 
    {:instance-type (instance-types :m1.small)
     :image basic-fedora
     :instances 1
     :key-name "gsg-keypair"
     :group "default"})
Something went wrong with that request. Please try again.