diff --git a/slapos/recipe/slaprunner/__init__.py b/slapos/recipe/slaprunner/__init__.py
index ecaa4c6a74978b465a8a18965845c8d0552d5bff..3c74cb5b21bde688d1163612fcff06280a629428 100644
--- a/slapos/recipe/slaprunner/__init__.py
+++ b/slapos/recipe/slaprunner/__init__.py
@@ -62,17 +62,24 @@ class Recipe(BaseSlapRecipe):
         ipv6_address=ipv6,
         proxy_host=ipv4,
         proxy_port=proxy_port,
-        proxy_database=os.path.join(workdir, 'proxy.db')
+        proxy_database=os.path.join(workdir, 'proxy.db'),
+	git=self.options['git'],
+	ssh_client=self.options['ssh_client'],
+	public_key=self.options['public_key'],
+	private_key=self.options['private_key']
     )
     config_file = self.createConfigurationFile('slapos.cfg',
         self.substituteTemplate(pkg_resources.resource_filename(__name__,
           'template/slapos.cfg.in'), configuration))
     self.path_list.append(config_file)
     
-    execute_arguments = dict(path = os.environ['PATH'],
-        launch_args = [self.options['slaprunner'].strip(), config_file])
+    environment = dict(
+        PATH=os.path.dirname(self.options['git']) + ':' + os.environ['PATH'],
+        GIT_SSH=self.options['ssh_client']
+    )
+    launch_args = [self.options['slaprunner'].strip(), config_file, '--debug']
     self.path_list.extend(zc.buildout.easy_install.scripts([('slaprunner',
-      'slapos.recipe.slaprunner.execute', 'execute')], self.ws, sys.executable,
-      self.wrapper_directory, arguments=execute_arguments))
+      'slapos.recipe.librecipe.execute', 'executee')], self.ws, sys.executable,
+      self.wrapper_directory, arguments=[launch_args, environment]))
     self.setConnectionDict(dict(url='http://[%s]:%s' % (ipv6, runner_port)))
     return self.path_list
diff --git a/slapos/recipe/slaprunner/template/slapos.cfg.in b/slapos/recipe/slaprunner/template/slapos.cfg.in
index af7bc2425ed5bd8c91fc9f9075dd0f1c49b928d2..5dc00060eccae8c5842ae6500da3459e4bb9e200 100644
--- a/slapos/recipe/slaprunner/template/slapos.cfg.in
+++ b/slapos/recipe/slaprunner/template/slapos.cfg.in
@@ -23,3 +23,11 @@ ipv6_address = %(ipv6_address)s
 host = %(proxy_host)s
 port = %(proxy_port)s
 database_uri = %(proxy_database)s
+
+[sshkeys_authority]
+ssh_client = %(ssh_client)s
+public_key = %(public_key)s
+private_key = %(private_key)s
+
+[gitclient]
+git = %(git)s
diff --git a/software/slaprunner/instance.cfg b/software/slaprunner/instance.cfg
index bed9cc3b73be9f67d4c74e62444c29edd4562de2..f9427ba5b784e6b1a80dd1c813a584f300376d98 100644
--- a/software/slaprunner/instance.cfg
+++ b/software/slaprunner/instance.cfg
@@ -1,6 +1,9 @@
 [buildout]
 parts =
   instance
+  sshkeys-authority
+  sshkeys-dropbear
+  dropbear-client
 
 eggs-directory = ${buildout:eggs-directory}
 develop-eggs-directory = ${buildout:develop-eggs-directory}
@@ -12,4 +15,51 @@ slapgrid_sr = ${buildout:directory}/bin/slapgrid-sr
 slapgrid_cp = ${buildout:directory}/bin/slapgrid-cp
 slapproxy = ${buildout:directory}/bin/slapproxy
 supervisor = ${buildout:directory}/bin/slapgrid-supervisorctl
+git = ${git:location}/bin/git
+ssh_client = $${sshkeys-dropbear:wrapper}
+public_key = $${sshkeys-dropbear:public-key}
+private_key = $${sshkeys-dropbear:private-key}
 
+
+[sshkeys-directory]
+recipe = slapos.cookbook:mkdirectory
+requests = $${directory:sshkeys}/requests/
+keys = $${directory:sshkeys}/keys/
+
+[sshkeys-authority]
+recipe = slapos.cookbook:sshkeys_authority
+request-directory = $${sshkeys-directory:requests}
+keys-directory = $${sshkeys-directory:keys}
+wrapper = $${directory:services}/sshkeys_authority
+keygen-binary = ${dropbear:location}/bin/dropbearkey
+
+[sshkeys-dropbear]
+<= sshkeys-authority
+recipe = slapos.cookbook:sshkeys_authority.request
+name = dropbear
+type = rsa
+executable = $${dropbear-client:wrapper}
+public-key = $${dropbear-client:identity-file}.pub
+private-key = $${dropbear-client:identity-file}
+wrapper = $${rootdirectory:bin}/dbclient
+
+[dropbear-client]
+recipe = slapos.cookbook:dropbear.client
+dbclient-binary = ${dropbear:location}/bin/dbclient
+identity-file = $${directory:ssh}/id_rsa
+wrapper = $${rootdirectory:bin}/dbclient_raw
+home = $${rootdirectory:etc}/ssh/
+force-host-key = True
+
+[rootdirectory]
+recipe = slapos.cookbook:mkdirectory
+etc = $${buildout:directory}/etc/
+var = $${buildout:directory}/var/
+srv = $${buildout:directory}/srv/
+bin = $${buildout:directory}/bin/
+
+[directory]
+recipe = slapos.cookbook:mkdirectory
+sshkeys = $${rootdirectory:srv}/sshkeys
+services = $${rootdirectory:etc}/run/
+ssh = $${rootdirectory:etc}/ssh/
diff --git a/software/slaprunner/software.cfg b/software/slaprunner/software.cfg
index 192bc722adc21e2faef81f2ee18ef782e8430535..f2590b8bdf73247de7dad589a73b6aed91b76549 100644
--- a/software/slaprunner/software.cfg
+++ b/software/slaprunner/software.cfg
@@ -1,12 +1,23 @@
 [buildout]
+extensions =
+  buildout-versions
+
 extends =
   ../../stack/flask.cfg
   ../../stack/shacache-client.cfg
+  ../../component/dropbear/buildout.cfg
+  ../../component/git/buildout.cfg
+
+develop = 
+  ${:parts-directory}/slapos.cookbook
 
 parts =
   template
+  slapos.cookbook
+  check-local-eggs
   eggs
   instance-recipe-egg
+  dropbear
 
 find-links +=
   http://www.nexedi.org/static/packages/source/slapos.buildout/
@@ -27,7 +38,25 @@ recipe = slapos.recipe.template
 url = ${:_profile_base_location_}/instance.cfg
 output = ${buildout:directory}/template.cfg
 mode = 0644
-md5sum = e2cbd8fe7b8e4c7e92a19cd775de0aa6
+md5sum = cd69efd5c3a7e9adca7387b9a401590a
+
+[slapos.cookbook]
+# use official egg from pypi when it is released
+recipe = plone.recipe.command
+stop-on-error = true
+commit = ce891b5070073d4dac9e21b089b8e662c7a9e0bd
+repository = http://git.erp5.org/repos/slapos.git
+location = ${buildout:parts-directory}/${:_buildout_section_name_}
+git-binary = ${git:location}/bin/git
+command = export GIT_SSL_NO_VERIFY=true; (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit}) || (rm -fr ${:location}; exit 1)
+update-command =
+
+[check-local-eggs]
+recipe = plone.recipe.command
+stop-on-error = true
+update-command = ${:command}
+command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
+depends = ${instance-recipe:egg}
 
 [eggs]
 eggs +=
@@ -37,79 +66,102 @@ eggs +=
 
 [versions]
 # Use SlapOS patched zc.buildout
-zc.buildout = 1.5.3-dev-SlapOS-010
+zc.buildout = 1.6.0-dev-SlapOS-003
 
 # Pinned to old version (2.4 does not compile well everywhere)
 pycrypto = 2.3
 
 Jinja2 = 2.6
-Werkzeug = 0.8.1
-apache-libcloud = 0.5.2
+Werkzeug = 0.8.2
+apache-libcloud = 0.7.1
+async = 0.6.1
 buildout-versions = 1.7
+gitdb = 0.5.4
 hexagonit.recipe.cmmi = 1.5.0
-meld3 = 0.6.7
-slapos.cookbook = 0.31
+meld3 = 0.6.8
+plone.recipe.command = 1.1 
 slapos.libnetworkcache = 0.11
 slapos.recipe.template = 2.2
-slapos.toolbox = 0.8
+slapos.toolbox = 0.16
+smmap = 0.8.2
 
 # Required by:
-# slapos.core==0.18
+# slapos.core==0.21
 Flask = 0.8
 
 # Required by:
-# slapos.cookbook==0.31
+# slapos.toolbox==0.16
+GitPython = 0.3.2.RC1
+
+# Required by:
+# slapos.cookbook==0.39-dev
 PyXML = 0.8.4
 
+# Required by:
+# slapos.toolbox==0.16
+atomize = 0.1.1
+
+# Required by:
+# slapos.toolbox==0.16
+feedparser = 5.1
+
 # Required by:
 # hexagonit.recipe.cmmi==1.5.0
 hexagonit.recipe.download = 1.5.0
 
 # Required by:
-# slapos.cookbook==0.31
-# slapos.core==0.18
+# slapos.cookbook==0.39-dev
+inotifyx = 0.2.0
+
+# Required by:
+# slapos.cookbook==0.39-dev
+# slapos.core==0.21
 # xml-marshaller==0.9.7
-lxml = 2.3.1
+lxml = 2.3.3
 
 # Required by:
-# slapos.cookbook==0.31
+# slapos.cookbook==0.39-dev
 netaddr = 0.7.6
 
 # Required by:
-# slapos.core==0.18
+# slapos.core==0.21
 netifaces = 0.6
 
 # Required by:
-# slapos.toolbox==0.8
+# slapos.toolbox==0.16
 paramiko = 1.7.7.1
 
 # Required by:
-# slapos.toolbox==0.8
-psutil = 0.3.0
+# slapos.toolbox==0.16
+psutil = 0.4.1
 
 # Required by:
-# slapos.cookbook==0.31
-# slapos.core==0.18
-# zc.buildout==1.5.3-dev-SlapOS-010
+# slapos.cookbook==0.39-dev
+# slapos.core==0.21
+# slapos.libnetworkcache==0.11
+# slapos.toolbox==0.16
+# supervisor==3.0a12
+# zc.buildout==1.6.0-dev-SlapOS-003
 # zc.recipe.egg==1.3.2
+# zope.interface==3.8.0
 setuptools = 0.6c12dev-r88846
 
 # Required by:
-# slapos.cookbook==0.31
-slapos.core = 0.18
+# slapos.cookbook==0.39-dev
+slapos.core = 0.21
 
 # Required by:
-# slapos.core==0.18
-supervisor = 3.0a10
+# slapos.core==0.21
+supervisor = 3.0a12
 
 # Required by:
-# slapos.cookbook==0.31
+# slapos.cookbook==0.39-dev
 xml-marshaller = 0.9.7
 
 # Required by:
-# slapos.cookbook==0.31
+# slapos.cookbook==0.39-dev
 zc.recipe.egg = 1.3.2
 
 # Required by:
-# slapos.core==0.18
-zope.interface = 3.8.0
\ No newline at end of file
+# slapos.core==0.21
+zope.interface = 3.8.0