Get Started
Your first App (Beta)
Publish a small Harbor App with deployApp and open it through inspect.
Beta
Apps are in beta. Use the deployApp authoring global with
hrbr inspect or hrbr exec; do not add legacy Orbit
package imports to new examples.
A Harbor App is a small HTTP surface backed by Harbor execution. Start with one route, publish it, then inspect the opened URL.
Declare the app
deployApp({
id: "helloApp",
title: "Hello App",
access: "workspace_member",
routes: {
"GET /": {
async run() {
return {
status: 200,
headers: { "content-type": "text/html; charset=utf-8" },
body: "<h1>Hello from Harbor</h1>",
}
},
},
},
})Publish
hrbr inspect -f ./hello.app.tsUse hrbr exec -f ./hello.app.ts when you want the publish action
wrapped in a normal execution run.
Open and inspect
hrbr inspect 'return await hrbr.apps.open({ name: "hello-app" })'
hrbr inspect 'return await hrbr.apps.inspect({ name: "hello-app" })'The hosted dashboard shows app activity and invocation records.
Public routes
Use access: "public" only for routes that are collect-only or
read-only. Keep workspace-writing actions behind workspace-member access or a
separate private Function.