Skip to content
Pre-release. HostCraft is in testing and not yet for sale. These docs describe the current build and may change. Join the waitlist to hear when it launches.

App API

Source: daemon/proto/hostcraft/v1/apps.proto

AppService runs Node.js and Python applications as systemd units behind a site's reverse proxy. REST: /api/v1/apps.

Method REST route Permission Streaming
ListApps GET /api/v1/apps AppRead unary
CreateApp POST /api/v1/apps AppCreate unary
ListRuntimes GET /api/v1/apps/runtimes AppRead unary
GetApp GET /api/v1/apps/{id} AppRead unary
UpdateApp PATCH /api/v1/apps/{id} AppUpdate unary
DeleteApp DELETE /api/v1/apps/{id} AppDelete unary
StartApp POST /api/v1/apps/{id}/start AppControl unary
StopApp POST /api/v1/apps/{id}/stop AppControl unary
RestartApp POST /api/v1/apps/{id}/restart AppControl unary
GetAppLogs GET /api/v1/apps/{id}/logs AppRead unary
NPMInstall POST /api/v1/apps/{id}/npm-install AppCommand unary
NPMRun POST /api/v1/apps/{id}/npm-run AppCommand unary
PipInstall POST /api/v1/apps/{id}/pip-install AppCommand unary

/hostcraft.v1.AppService/ListApps

/hostcraft.v1.AppService/CreateApp

/hostcraft.v1.AppService/ListRuntimes

/hostcraft.v1.AppService/GetApp

/hostcraft.v1.AppService/UpdateApp

/hostcraft.v1.AppService/DeleteApp

/hostcraft.v1.AppService/StartApp

/hostcraft.v1.AppService/StopApp

/hostcraft.v1.AppService/RestartApp

/hostcraft.v1.AppService/GetAppLogs

/hostcraft.v1.AppService/NPMInstall

/hostcraft.v1.AppService/NPMRun

/hostcraft.v1.AppService/PipInstall

Field Type Number Description
id string 1 -
account_id string 2 -
name string 3 -
runtime string 4 node | python
runtime_version string 5 -
app_root string 6 -
entry_file string 7 -
mode string 8 production | development
port int64 9 -
env map<string, string> 10 -
site_id string 11 -
enabled bool 12 -
unit string 13 -
status AppStatus 14 GetApp only
created_at google.protobuf.Timestamp 15 -
updated_at google.protobuf.Timestamp 16 -
Field Type Number Description
id string 1 -
script string 2 NPMRun: package.json script name
requirements string 3 PipInstall: requirements file, default requirements.txt
Field Type Number Description
command string 1 -
output string 2 -
exit_code int64 3 -
success bool 4 -
Field Type Number Description
id string 1 -
Field Type Number Description
logs string 1 -
Field Type Number Description
unit string 1 -
active_state string 2 -
sub_state string 3 -
started_at google.protobuf.Timestamp 4 -
listening bool 5 -
Field Type Number Description
account_id string 1 -
name string 2 -
runtime string 3 -
runtime_version string 4 -
app_root string 5 -
entry_file string 6 -
mode string 7 -
env map<string, string> 8 -
site_id string 9 -
Field Type Number Description
app App 1 -
workflow_id string 2 -
Field Type Number Description
id string 1 -
Field Type Number Description
id string 1 -
lines int64 2 default 200, max 2000
Field Type Number Description
id string 1 -
Field Type Number Description
account_id string 1 -
Field Type Number Description
apps repeated App 1 -

No fields.

Field Type Number Description
runtimes repeated RuntimeInfo 1 -
Field Type Number Description
ok bool 1 -
Field Type Number Description
runtime string 1 -
version string 2 -
full string 3 -
binary string 4 -
Field Type Number Description
id string 1 -
runtime_version optional string 2 -
entry_file optional string 3 -
mode optional string 4 -
env map<string, string> 5 replaces the environment when non-empty
site_id optional string 6 -

WorkflowAccepted is the body of every 202 response that only starts a workflow saga. Follow progress with WorkflowService.StreamWorkflow.

Field Type Number Description
workflow_id string 1 -