diff --git a/core/installer/app_configs/dodo_app.cue b/core/installer/app_configs/dodo_app.cue
index 56dbdfc..2e1ec57 100644
--- a/core/installer/app_configs/dodo_app.cue
+++ b/core/installer/app_configs/dodo_app.cue
@@ -13,9 +13,9 @@
 	// app-runner registers itself as worker, which later is used by dodo-app server
 	// to ping runners on git push.
 	// TODO(gio): Rethink these variables together with flags in app-runner
-	managerAddr:   string | *""
-	appId:         string | *""
-	sshPrivateKey: string
+	managerAddr: string | *""
+	appId:       string | *""
+	key:         #SSHKey
 	// TODO(gio): this should not be necessary as app.dev.username is autogenerated
 	username?: string
 	if _cluster != _|_ {
@@ -497,16 +497,14 @@
 									containerPort: p.value
 									protocol:      p.protocol
 								}]
-								appDir:   svc.rootDir
-								appId:    input.appId
-								repoAddr: svc.source.repository
-								branch:   svc.source.branch
-								rootDir:  svc.source.rootDir
-								if input.sshPrivateKey != "" {
-									sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
-								}
-								runCfg:      base64.Encode(null, json.Marshal(svc.runConfiguration))
-								managerAddr: input.managerAddr
+								appDir:        svc.rootDir
+								appId:         input.appId
+								repoAddr:      svc.source.repository
+								branch:        svc.source.branch
+								rootDir:       svc.source.rootDir
+								sshPrivateKey: base64.Encode(null, input.key.private)
+								runCfg:        base64.Encode(null, json.Marshal(svc.runConfiguration))
+								managerAddr:   input.managerAddr
 								volumes: [
 									for v in svc.volume {
 										name:      v.name
diff --git a/core/installer/samples/blog.rest b/core/installer/samples/blog.rest
new file mode 100644
index 0000000..0a8606d
--- /dev/null
+++ b/core/installer/samples/blog.rest
@@ -0,0 +1,46 @@
+POST http://appmanager.hgrz-appmanager.svc.cluster.local/api/dodo-app
+Content-Type: application/json
+
+{
+  "id": "blog",
+  "config": {
+    "service": [{
+      "name": "blog",
+      "source": {
+        "repository": "git@github.com:giolekva/dodo-blog.git"
+      },
+      "ingress": [{
+        "auth": {
+          "enabled": true,
+          "noAuthPathPatterns": [
+            "^/_next/.*$",
+            "^/$",
+            "^/entry/.*$"
+          ],
+          "groups": "pr"
+        },
+        "network": "Private",
+        "subdomain": "blog"
+      }],
+      "type": "nextjs:deno-2.0.0",
+      "preBuildCommands": [
+        {
+          "bin": "/usr/bin/deno",
+          "args": [
+            "run",
+            "-A",
+            "npm:prisma",
+            "migrate",
+            "dev"
+          ]
+        }
+      ]
+    }],
+      "postgresql": [
+        {
+          "name": "db",
+          "size": "1Gi"
+        }
+      ]
+  }
+}
\ No newline at end of file
diff --git a/core/installer/canvas-app.cue b/core/installer/samples/canvas.rest
similarity index 100%
rename from core/installer/canvas-app.cue
rename to core/installer/samples/canvas.rest
diff --git a/core/installer/server/appmanager/server.go b/core/installer/server/appmanager/server.go
index 3360ff4..f4b543b 100644
--- a/core/installer/server/appmanager/server.go
+++ b/core/installer/server/appmanager/server.go
@@ -161,9 +161,8 @@
 }
 
 type dodoAppInstallReq struct {
-	Id            string         `json:"id"`
-	SSHPrivateKey string         `json:"sshPrivateKey"`
-	Config        map[string]any `json:"config"`
+	Id     string         `json:"id"`
+	Config map[string]any `json:"config"`
 }
 
 func (s *Server) handleDodoAppInstall(w http.ResponseWriter, r *http.Request) {
@@ -192,9 +191,8 @@
 	appDir := filepath.Join("/dodo-app", req.Id)
 	namespace := "dodo-app-testttt" // TODO(gio)
 	if _, err := s.m.Install(app, req.Id, appDir, namespace, map[string]any{
-		"managerAddr":   "", // TODO(gio)
-		"appId":         req.Id,
-		"sshPrivateKey": req.SSHPrivateKey,
+		"managerAddr": "", // TODO(gio)
+		"appId":       req.Id,
 	}); err != nil {
 		http.Error(w, err.Error(), http.StatusInternalServerError)
 		return
