Skip to main content
The Kernel discovers services from ServiceDir. A service package is a .plg file. The Kernel scans that directory, reads each package’s info.yaml, and uses the service configuration to decide whether to start it.

Install a service

Arupa does not upload service packages through the management API. To install a service:
  1. Place its .plg package in the configured ServiceDir.
  2. Make sure the Kernel can write to ServiceTempDir, which it uses while loading service packages.
  3. Scan the directory by calling GET /api/service/discovered, or restart Arupa so it scans the directory during startup.
  4. Start the service if its effective Restart setting does not enable automatic startup.
The default directories are:
The package must be a valid service archive with a root-level info.yaml. That metadata must provide the service name, version, runtime type (wasm, grpc, or static), contract version, and, for wasm and grpc services, a command to start. Files that are not .plg packages are ignored during a scan. See Service configuration for automatic startup, execution users, access groups, and service parameters.

Managing services over HTTP

Scanning, starting, stopping, and configuring services over HTTP is part of the Service management capability, not this page — see Service management under Management API for the full endpoint list, including the discovered/running/detail views, the start/stop/restart actions, and per-service configuration and parameters. Like every other management capability, those endpoints only exist once Service is enabled in the [API] table.