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:- Place its
.plgpackage in the configuredServiceDir. - Make sure the Kernel can write to
ServiceTempDir, which it uses while loading service packages. - Scan the directory through the API, or restart Arupa so it scans the directory during startup.
- Start the service if its effective
Restartsetting does not enable automatic startup.
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.
Management API
All service management endpoints are under/api/services and require an
authenticated user. They return the standard JSON response shape used by
Arupa: success, message, and data.
List service state
ServiceDir before returning the result,
so the list always reflects the current contents of that directory; there is
no separate scan endpoint. The response includes the configured
service_dir and service_temp_dir, a discovered list, and a running
list. Discovered entries include package metadata, effective configuration,
and lifecycle status. Running entries include the routes and transports
registered by each running service.
Start, stop, or restart a service
Use the same request body for all three actions:startstarts a previously scanned service by name.stopunloads a running service and removes its live host bindings, including every transport and route it registered.restartstops the running instance, then loads the latest scanned package for that service name.
name field is required. These actions do not accept a package path; the
service must already be present in the scan results.
A static service has no process to start or stop in the operating-system
sense, but it still goes through the same lifecycle: starting it registers
its declared transports and routes, and stopping it removes them.
Read service directory configuration
service_dir and service_temp_dir.
Update service directory configuration
service_dir takes effect for scanning immediately. Changing
service_temp_dir is reported with temp_dir_requires_restart: true because
the service manager initializes its extraction directory when it starts.
Authentication and access
Every endpoint in this page uses the Kernel’s authentication middleware. An unauthenticated request is rejected before the handler runs. You can add a group restriction for these paths withRoute.Allow; see Access
control.