Add API Server (Go/PocketBase), Web App (Go BFF + Vue), Fly App (Flutter/DJI MSDK), Adobe Plugin, and Docker/Docker AIO deployment configs. Design assets and build artifacts are gitignored. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
21 lines
1.2 KiB
Go
21 lines
1.2 KiB
Go
package plugins
|
|
|
|
// Deferred extension points (deliberately NOT in v1 — the "Management MVP").
|
|
// The contract and manager are shaped so these can be added without a redesign:
|
|
//
|
|
// - Invocation API: the Plugin.Invoke method already exists; a
|
|
// POST /api/admin/plugins/{name}/action endpoint + a normalized request/
|
|
// response envelope would expose it. Add a mapper layer so core logic never
|
|
// depends on a provider's schema.
|
|
// - Resilience: wrap plugin calls with retry/backoff + a circuit breaker, and
|
|
// record per-plugin latency/error/quota metrics for the panel.
|
|
// - Per-tenant credentials: today config is a single global blob per plugin.
|
|
// A (pluginName, orgID/userID) → config store would let users connect their
|
|
// own third-party accounts.
|
|
// - Audit logging: record which plugin accessed what and when.
|
|
// - Sandboxing: the "external" plugin kind is the isolation story — run less
|
|
// trusted plugins as separate processes/containers behind the HTTP contract.
|
|
// - Hot-adding builtin Go code without a rebuild is intentionally unsupported
|
|
// (Go .so plugins are Linux-only and toolchain-fragile); use the external
|
|
// HTTP kind to add plugins at runtime instead.
|