This commit is contained in:
@@ -19,6 +19,17 @@
|
||||
* pieced-tts-talk).
|
||||
* - channel — messaging integration.
|
||||
* - skill — ClawHub skill install.
|
||||
*
|
||||
* Custom provisioning (Threema):
|
||||
* The `threema` channel sets `requiresSecrets: false` because its
|
||||
* credentials are platform-issued, not customer-entered. Enabling
|
||||
* threema goes through a dedicated endpoint
|
||||
* (/api/tenants/:name/threema) that mints token + HMAC secret from
|
||||
* the central pieced-threema-gateway relay and writes them to OpenBao
|
||||
* at secret/data/tenants/<name>/threema-relay before the package is
|
||||
* added to spec.packages. Disabling reverses both steps. The
|
||||
* `customProvisioning` flag here tells the package-card UI to use
|
||||
* that endpoint instead of the standard /secrets+PATCH dance.
|
||||
*/
|
||||
|
||||
export interface PackageSecretField {
|
||||
@@ -38,6 +49,14 @@ export interface PackageDef {
|
||||
instructionsKey?: string;
|
||||
disclaimerKey?: string;
|
||||
category: PackageCategory;
|
||||
/**
|
||||
* When true, enabling/disabling this package goes through
|
||||
* /api/tenants/:name/<id> (POST/DELETE) instead of the generic
|
||||
* /secrets+PATCH flow. The handler at that path does platform-side
|
||||
* provisioning (mint credentials, register with sibling services, etc.)
|
||||
* that the customer is not aware of.
|
||||
*/
|
||||
customProvisioning?: boolean;
|
||||
}
|
||||
|
||||
export const PACKAGE_CATALOG: PackageDef[] = [
|
||||
@@ -121,6 +140,21 @@ export const PACKAGE_CATALOG: PackageDef[] = [
|
||||
disclaimerKey: "packages.discord.disclaimer",
|
||||
category: "channel",
|
||||
},
|
||||
{
|
||||
id: "threema",
|
||||
name: "Threema",
|
||||
descriptionKey: "packages.threema.description",
|
||||
// No customer-entered secrets. The token + hmac secret are minted
|
||||
// server-side by the relay's /admin/tokens endpoint when the
|
||||
// package is enabled, and stored in OpenBao by the portal. The
|
||||
// `customProvisioning` flag steers the PackageCard UI through the
|
||||
// dedicated /api/tenants/:name/threema endpoint instead.
|
||||
requiresSecrets: false,
|
||||
customProvisioning: true,
|
||||
instructionsKey: "packages.threema.instructions",
|
||||
disclaimerKey: "packages.threema.disclaimer",
|
||||
category: "channel",
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SKILLS
|
||||
|
||||
Reference in New Issue
Block a user