UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

1 lines • 2.26 kB
{"version":3,"file":"secrets.cjs","names":[],"sources":["../../../src/services/hosting/secrets.ts"],"sourcesContent":["/**\n * Secrets-vault delivery surface (plan 055 ticket 09). The name rules are the\n * single source of truth — the api shell's store, the CLI, and the delivery\n * helper all enforce the same contract: an operator secret must never collide\n * with the keys the platform composes into `identityEnv` (runtime identity,\n * service port, reconciler-provisioned database URLs).\n */\nimport type { RuntimeDescriptor } from \"./adapter\";\n\nexport const RESERVED_SECRET_NAMES: ReadonlySet<string> = new Set([\n \"PORT\",\n \"API_DATABASE_URL\",\n \"AUTH_DATABASE_URL\",\n]);\nexport const RESERVED_SECRET_PREFIX = \"BOS_\";\nexport const SECRET_NAME_PATTERN = /^[A-Z][A-Z0-9_]*$/;\n\nexport function isReservedSecretName(name: string): boolean {\n return RESERVED_SECRET_NAMES.has(name) || name.startsWith(RESERVED_SECRET_PREFIX);\n}\n\nexport function isValidSecretName(name: string): boolean {\n return SECRET_NAME_PATTERN.test(name) && !isReservedSecretName(name);\n}\n\n/** The runtime identity a descriptor carries in its `identityEnv`. */\nexport function descriptorRuntime(descriptor: RuntimeDescriptor): {\n account?: string;\n gateway?: string;\n} {\n return {\n account: descriptor.identityEnv.BOS_ACCOUNT,\n gateway: descriptor.identityEnv.BOS_GATEWAY,\n };\n}\n\n/**\n * Merge resolved stored secrets into a descriptor's `identityEnv`. The\n * descriptor's own keys always win — stored values can never shadow the\n * platform-composed identity.\n */\nexport function withSecrets(\n descriptor: RuntimeDescriptor,\n stored: Record<string, string>,\n): RuntimeDescriptor {\n return { ...descriptor, identityEnv: { ...stored, ...descriptor.identityEnv } };\n}\n"],"mappings":";;AASA,MAAa,wCAA6C,IAAI,IAAI;CAChE;CACA;CACA;AACF,CAAC;AACD,MAAa,yBAAyB;AACtC,MAAa,sBAAsB;AAEnC,SAAgB,qBAAqB,MAAuB;CAC1D,OAAO,sBAAsB,IAAI,IAAI,KAAK,KAAK,iBAAiC;AAClF;AAEA,SAAgB,kBAAkB,MAAuB;CACvD,OAAO,oBAAoB,KAAK,IAAI,KAAK,CAAC,qBAAqB,IAAI;AACrE;;AAGA,SAAgB,kBAAkB,YAGhC;CACA,OAAO;EACL,SAAS,WAAW,YAAY;EAChC,SAAS,WAAW,YAAY;CAClC;AACF;;;;;;AAOA,SAAgB,YACd,YACA,QACmB;CACnB,OAAO;EAAE,GAAG;EAAY,aAAa;GAAE,GAAG;GAAQ,GAAG,WAAW;EAAY;CAAE;AAChF"}