Modules & addon sources¶
Two related but distinct concerns, both in instance.py /
addon_source.py:
Modules — the catalog of installable modules, and which ones are assigned to a given instance.
Addon sources — where custom addon code actually comes from (a Git repo) before it can be installed. See Architecture for why these are separate: adding a Git source is not the same step as installing it on an instance.
GET /api/modules¶
Public catalog of installable modules (name, description, category).
GET /api/instances/<id>/modules¶
Modules currently assigned to a specific instance.
POST /api/instances/<id>/modules¶
Assign a module to an instance:
{ "module_id": 7 }
Addon sources (addon_source.py)¶
Route |
Method |
Purpose |
|---|---|---|
|
|
List the tenant’s configured addon sources |
|
|
Register a new source (e.g. a Git repo URL + branch) |
|
|
Update a source’s configuration |
|
|
Trigger a pull/sync from the remote |
|
|
Remove a source |
Registering an addon source (Git ADD) does not install it on any instance —
that’s a separate, customer-triggered step per the redesigned custom-addon
architecture (per-tenant addons-<subdomain> PVC on Kubernetes, or a
per-tenant addons/ directory on Docker). See
Architecture for the full flow.