@vibesdotdev/integrations-digitalocean 0.0.0-stage → 1.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +78 -2
  3. package/dist/ai/index.d.ts +4 -0
  4. package/dist/ai/index.d.ts.map +1 -0
  5. package/dist/ai/index.js +4 -0
  6. package/dist/ai/index.js.map +1 -0
  7. package/dist/ai/inference.transport.impl.d.ts +5 -0
  8. package/dist/ai/inference.transport.impl.d.ts.map +1 -0
  9. package/dist/ai/inference.transport.impl.js +54 -0
  10. package/dist/ai/inference.transport.impl.js.map +1 -0
  11. package/dist/ai/provider.plugin.d.ts +6 -0
  12. package/dist/ai/provider.plugin.d.ts.map +1 -0
  13. package/dist/ai/provider.plugin.js +126 -0
  14. package/dist/ai/provider.plugin.js.map +1 -0
  15. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.d.ts +62 -0
  16. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.d.ts.map +1 -0
  17. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.js +73 -0
  18. package/dist/ai/providers/cloud/frontier/digitalocean/config/schemas/index.js.map +1 -0
  19. package/dist/ai/providers/cloud/frontier/digitalocean/index.d.ts +2 -0
  20. package/dist/ai/providers/cloud/frontier/digitalocean/index.d.ts.map +1 -0
  21. package/dist/ai/providers/cloud/frontier/digitalocean/index.js +2 -0
  22. package/dist/ai/providers/cloud/frontier/digitalocean/index.js.map +1 -0
  23. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.d.ts +183 -0
  24. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.d.ts.map +1 -0
  25. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.js +66 -0
  26. package/dist/ai/providers/cloud/frontier/digitalocean/provider.digitalocean.descriptor.js.map +1 -0
  27. package/dist/apps/api-client.d.ts +45 -0
  28. package/dist/apps/api-client.d.ts.map +1 -0
  29. package/dist/apps/api-client.js +47 -0
  30. package/dist/apps/api-client.js.map +1 -0
  31. package/dist/apps/build-spec.d.ts +44 -0
  32. package/dist/apps/build-spec.d.ts.map +1 -0
  33. package/dist/apps/build-spec.js +463 -0
  34. package/dist/apps/build-spec.js.map +1 -0
  35. package/dist/apps/deploy-client.d.ts +42 -0
  36. package/dist/apps/deploy-client.d.ts.map +1 -0
  37. package/dist/apps/deploy-client.js +300 -0
  38. package/dist/apps/deploy-client.js.map +1 -0
  39. package/dist/apps/index.d.ts +5 -0
  40. package/dist/apps/index.d.ts.map +1 -0
  41. package/dist/apps/index.js +4 -0
  42. package/dist/apps/index.js.map +1 -0
  43. package/dist/apps/types.d.ts +204 -0
  44. package/dist/apps/types.d.ts.map +1 -0
  45. package/dist/apps/types.js +13 -0
  46. package/dist/apps/types.js.map +1 -0
  47. package/dist/client/control-plane.d.ts +49 -0
  48. package/dist/client/control-plane.d.ts.map +1 -0
  49. package/dist/client/control-plane.js +85 -0
  50. package/dist/client/control-plane.js.map +1 -0
  51. package/dist/client/do-fetch.d.ts +41 -0
  52. package/dist/client/do-fetch.d.ts.map +1 -0
  53. package/dist/client/do-fetch.js +199 -0
  54. package/dist/client/do-fetch.js.map +1 -0
  55. package/dist/client/errors.d.ts +6 -0
  56. package/dist/client/errors.d.ts.map +1 -0
  57. package/dist/client/errors.js +34 -0
  58. package/dist/client/errors.js.map +1 -0
  59. package/dist/client/factory.d.ts +53 -0
  60. package/dist/client/factory.d.ts.map +1 -0
  61. package/dist/client/factory.js +220 -0
  62. package/dist/client/factory.js.map +1 -0
  63. package/dist/client/helpers.d.ts +5 -0
  64. package/dist/client/helpers.d.ts.map +1 -0
  65. package/dist/client/helpers.js +8 -0
  66. package/dist/client/helpers.js.map +1 -0
  67. package/dist/client/index.d.ts +12 -0
  68. package/dist/client/index.d.ts.map +1 -0
  69. package/dist/client/index.js +10 -0
  70. package/dist/client/index.js.map +1 -0
  71. package/dist/client/paginated.d.ts +19 -0
  72. package/dist/client/paginated.d.ts.map +1 -0
  73. package/dist/client/paginated.js +56 -0
  74. package/dist/client/paginated.js.map +1 -0
  75. package/dist/client/retry.d.ts +34 -0
  76. package/dist/client/retry.d.ts.map +1 -0
  77. package/dist/client/retry.js +53 -0
  78. package/dist/client/retry.js.map +1 -0
  79. package/dist/config/digitalocean.config.descriptor.d.ts +197 -0
  80. package/dist/config/digitalocean.config.descriptor.d.ts.map +1 -0
  81. package/dist/config/digitalocean.config.descriptor.js +59 -0
  82. package/dist/config/digitalocean.config.descriptor.js.map +1 -0
  83. package/dist/credentials/index.d.ts +38 -0
  84. package/dist/credentials/index.d.ts.map +1 -0
  85. package/dist/credentials/index.js +56 -0
  86. package/dist/credentials/index.js.map +1 -0
  87. package/dist/databases/index.d.ts +82 -0
  88. package/dist/databases/index.d.ts.map +1 -0
  89. package/dist/databases/index.js +57 -0
  90. package/dist/databases/index.js.map +1 -0
  91. package/dist/digitalocean-friction.policy.d.ts +29 -0
  92. package/dist/digitalocean-friction.policy.d.ts.map +1 -0
  93. package/dist/digitalocean-friction.policy.js +21 -0
  94. package/dist/digitalocean-friction.policy.js.map +1 -0
  95. package/dist/digitalocean.plugin.d.ts +3 -0
  96. package/dist/digitalocean.plugin.d.ts.map +1 -0
  97. package/dist/digitalocean.plugin.js +27 -0
  98. package/dist/digitalocean.plugin.js.map +1 -0
  99. package/dist/droplets/index.d.ts +106 -0
  100. package/dist/droplets/index.d.ts.map +1 -0
  101. package/dist/droplets/index.js +227 -0
  102. package/dist/droplets/index.js.map +1 -0
  103. package/dist/index.d.ts +35 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +32 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/inference-control-plane/index.d.ts +63 -0
  108. package/dist/inference-control-plane/index.d.ts.map +1 -0
  109. package/dist/inference-control-plane/index.js +93 -0
  110. package/dist/inference-control-plane/index.js.map +1 -0
  111. package/dist/infra/billing.d.ts +26 -0
  112. package/dist/infra/billing.d.ts.map +1 -0
  113. package/dist/infra/billing.js +43 -0
  114. package/dist/infra/billing.js.map +1 -0
  115. package/dist/infra/credentials.d.ts +11 -0
  116. package/dist/infra/credentials.d.ts.map +1 -0
  117. package/dist/infra/credentials.js +15 -0
  118. package/dist/infra/credentials.js.map +1 -0
  119. package/dist/infra/deployment-provider/deploy-secrets.d.ts +10 -0
  120. package/dist/infra/deployment-provider/deploy-secrets.d.ts.map +1 -0
  121. package/dist/infra/deployment-provider/deploy-secrets.js +66 -0
  122. package/dist/infra/deployment-provider/deploy-secrets.js.map +1 -0
  123. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.d.ts +97 -0
  124. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.d.ts.map +1 -0
  125. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.js +242 -0
  126. package/dist/infra/deployment-provider/digitalocean-deployment-provider.impl.js.map +1 -0
  127. package/dist/infra/deployment-provider/image-publish.d.ts +39 -0
  128. package/dist/infra/deployment-provider/image-publish.d.ts.map +1 -0
  129. package/dist/infra/deployment-provider/image-publish.js +146 -0
  130. package/dist/infra/deployment-provider/image-publish.js.map +1 -0
  131. package/dist/infra/deployment-provider.descriptor.d.ts +34 -0
  132. package/dist/infra/deployment-provider.descriptor.d.ts.map +1 -0
  133. package/dist/infra/deployment-provider.descriptor.js +9 -0
  134. package/dist/infra/deployment-provider.descriptor.js.map +1 -0
  135. package/dist/infra/digitalocean-infra.plugin.d.ts +101 -0
  136. package/dist/infra/digitalocean-infra.plugin.d.ts.map +1 -0
  137. package/dist/infra/digitalocean-infra.plugin.js +283 -0
  138. package/dist/infra/digitalocean-infra.plugin.js.map +1 -0
  139. package/dist/infra/doks/clients.d.ts +183 -0
  140. package/dist/infra/doks/clients.d.ts.map +1 -0
  141. package/dist/infra/doks/clients.js +172 -0
  142. package/dist/infra/doks/clients.js.map +1 -0
  143. package/dist/infra/doks/digitalocean.d.ts +34 -0
  144. package/dist/infra/doks/digitalocean.d.ts.map +1 -0
  145. package/dist/infra/doks/digitalocean.js +267 -0
  146. package/dist/infra/doks/digitalocean.js.map +1 -0
  147. package/dist/infra/doks/service-release-schemas.d.ts +1037 -0
  148. package/dist/infra/doks/service-release-schemas.d.ts.map +1 -0
  149. package/dist/infra/doks/service-release-schemas.js +51 -0
  150. package/dist/infra/doks/service-release-schemas.js.map +1 -0
  151. package/dist/infra/doks/service-release.d.ts +415 -0
  152. package/dist/infra/doks/service-release.d.ts.map +1 -0
  153. package/dist/infra/doks/service-release.js +3201 -0
  154. package/dist/infra/doks/service-release.js.map +1 -0
  155. package/dist/infra/doks/worker.d.ts +14 -0
  156. package/dist/infra/doks/worker.d.ts.map +1 -0
  157. package/dist/infra/doks/worker.js +343 -0
  158. package/dist/infra/doks/worker.js.map +1 -0
  159. package/dist/infra/droplet.impl.d.ts +172 -0
  160. package/dist/infra/droplet.impl.d.ts.map +1 -0
  161. package/dist/infra/droplet.impl.js +379 -0
  162. package/dist/infra/droplet.impl.js.map +1 -0
  163. package/dist/infra/functions.impl.d.ts +123 -0
  164. package/dist/infra/functions.impl.d.ts.map +1 -0
  165. package/dist/infra/functions.impl.js +202 -0
  166. package/dist/infra/functions.impl.js.map +1 -0
  167. package/dist/infra/index.d.ts +15 -0
  168. package/dist/infra/index.d.ts.map +1 -0
  169. package/dist/infra/index.js +12 -0
  170. package/dist/infra/index.js.map +1 -0
  171. package/dist/infra/inventory.d.ts +7 -0
  172. package/dist/infra/inventory.d.ts.map +1 -0
  173. package/dist/infra/inventory.js +259 -0
  174. package/dist/infra/inventory.js.map +1 -0
  175. package/dist/infra/kubernetes-log-stream.d.ts +5 -0
  176. package/dist/infra/kubernetes-log-stream.d.ts.map +1 -0
  177. package/dist/infra/kubernetes-log-stream.js +186 -0
  178. package/dist/infra/kubernetes-log-stream.js.map +1 -0
  179. package/dist/infra/kubernetes-logs.d.ts +33 -0
  180. package/dist/infra/kubernetes-logs.d.ts.map +1 -0
  181. package/dist/infra/kubernetes-logs.descriptor.d.ts +14 -0
  182. package/dist/infra/kubernetes-logs.descriptor.d.ts.map +1 -0
  183. package/dist/infra/kubernetes-logs.descriptor.js +28 -0
  184. package/dist/infra/kubernetes-logs.descriptor.js.map +1 -0
  185. package/dist/infra/kubernetes-logs.js +196 -0
  186. package/dist/infra/kubernetes-logs.js.map +1 -0
  187. package/dist/infra/utilization.d.ts +44 -0
  188. package/dist/infra/utilization.d.ts.map +1 -0
  189. package/dist/infra/utilization.js +108 -0
  190. package/dist/infra/utilization.js.map +1 -0
  191. package/dist/kubernetes/authority.d.ts +40 -0
  192. package/dist/kubernetes/authority.d.ts.map +1 -0
  193. package/dist/kubernetes/authority.js +90 -0
  194. package/dist/kubernetes/authority.js.map +1 -0
  195. package/dist/kubernetes/encoding.d.ts +4 -0
  196. package/dist/kubernetes/encoding.d.ts.map +1 -0
  197. package/dist/kubernetes/encoding.js +8 -0
  198. package/dist/kubernetes/encoding.js.map +1 -0
  199. package/dist/kubernetes/index.d.ts +105 -0
  200. package/dist/kubernetes/index.d.ts.map +1 -0
  201. package/dist/kubernetes/index.js +99 -0
  202. package/dist/kubernetes/index.js.map +1 -0
  203. package/dist/kubernetes/transport.d.ts +11 -0
  204. package/dist/kubernetes/transport.d.ts.map +1 -0
  205. package/dist/kubernetes/transport.js +27 -0
  206. package/dist/kubernetes/transport.js.map +1 -0
  207. package/dist/network/index.d.ts +24 -0
  208. package/dist/network/index.d.ts.map +1 -0
  209. package/dist/network/index.js +16 -0
  210. package/dist/network/index.js.map +1 -0
  211. package/dist/registry/index.d.ts +39 -0
  212. package/dist/registry/index.d.ts.map +1 -0
  213. package/dist/registry/index.js +20 -0
  214. package/dist/registry/index.js.map +1 -0
  215. package/dist/schemas/app-deployment.d.ts +1474 -0
  216. package/dist/schemas/app-deployment.d.ts.map +1 -0
  217. package/dist/schemas/app-deployment.js +156 -0
  218. package/dist/schemas/app-deployment.js.map +1 -0
  219. package/dist/schemas/app-platform.d.ts +755 -0
  220. package/dist/schemas/app-platform.d.ts.map +1 -0
  221. package/dist/schemas/app-platform.js +253 -0
  222. package/dist/schemas/app-platform.js.map +1 -0
  223. package/dist/schemas/cache-database.d.ts +210 -0
  224. package/dist/schemas/cache-database.d.ts.map +1 -0
  225. package/dist/schemas/cache-database.js +105 -0
  226. package/dist/schemas/cache-database.js.map +1 -0
  227. package/dist/schemas/control-plane.d.ts +456 -0
  228. package/dist/schemas/control-plane.d.ts.map +1 -0
  229. package/dist/schemas/control-plane.js +123 -0
  230. package/dist/schemas/control-plane.js.map +1 -0
  231. package/dist/schemas/credential-use.d.ts +714 -0
  232. package/dist/schemas/credential-use.d.ts.map +1 -0
  233. package/dist/schemas/credential-use.js +73 -0
  234. package/dist/schemas/credential-use.js.map +1 -0
  235. package/dist/schemas/doks-worker.d.ts +4071 -0
  236. package/dist/schemas/doks-worker.d.ts.map +1 -0
  237. package/dist/schemas/doks-worker.js +330 -0
  238. package/dist/schemas/doks-worker.js.map +1 -0
  239. package/dist/schemas/droplet.d.ts +110 -0
  240. package/dist/schemas/droplet.d.ts.map +1 -0
  241. package/dist/schemas/droplet.js +22 -0
  242. package/dist/schemas/droplet.js.map +1 -0
  243. package/dist/schemas/functions.d.ts +22 -0
  244. package/dist/schemas/functions.d.ts.map +1 -0
  245. package/dist/schemas/functions.js +25 -0
  246. package/dist/schemas/functions.js.map +1 -0
  247. package/dist/schemas/gitea-git-hosting.d.ts +20 -0
  248. package/dist/schemas/gitea-git-hosting.d.ts.map +1 -0
  249. package/dist/schemas/gitea-git-hosting.js +26 -0
  250. package/dist/schemas/gitea-git-hosting.js.map +1 -0
  251. package/dist/schemas/http.d.ts +2594 -0
  252. package/dist/schemas/http.d.ts.map +1 -0
  253. package/dist/schemas/http.js +4548 -0
  254. package/dist/schemas/http.js.map +1 -0
  255. package/dist/schemas/infra-kinds.d.ts +113 -0
  256. package/dist/schemas/infra-kinds.d.ts.map +1 -0
  257. package/dist/schemas/infra-kinds.js +93 -0
  258. package/dist/schemas/infra-kinds.js.map +1 -0
  259. package/dist/schemas/kubernetes-responses.d.ts +457 -0
  260. package/dist/schemas/kubernetes-responses.d.ts.map +1 -0
  261. package/dist/schemas/kubernetes-responses.js +681 -0
  262. package/dist/schemas/kubernetes-responses.js.map +1 -0
  263. package/dist/schemas/kubernetes.d.ts +143 -0
  264. package/dist/schemas/kubernetes.d.ts.map +1 -0
  265. package/dist/schemas/kubernetes.js +68 -0
  266. package/dist/schemas/kubernetes.js.map +1 -0
  267. package/dist/schemas/logs.d.ts +15 -0
  268. package/dist/schemas/logs.d.ts.map +1 -0
  269. package/dist/schemas/logs.js +11 -0
  270. package/dist/schemas/logs.js.map +1 -0
  271. package/dist/schemas/object-storage.d.ts +167 -0
  272. package/dist/schemas/object-storage.d.ts.map +1 -0
  273. package/dist/schemas/object-storage.js +124 -0
  274. package/dist/schemas/object-storage.js.map +1 -0
  275. package/dist/schemas/service-settings.d.ts +9 -0
  276. package/dist/schemas/service-settings.d.ts.map +1 -0
  277. package/dist/schemas/service-settings.js +21 -0
  278. package/dist/schemas/service-settings.js.map +1 -0
  279. package/dist/schemas/utilization.d.ts +57 -0
  280. package/dist/schemas/utilization.d.ts.map +1 -0
  281. package/dist/schemas/utilization.js +58 -0
  282. package/dist/schemas/utilization.js.map +1 -0
  283. package/dist/schemas/worker-status.d.ts +22 -0
  284. package/dist/schemas/worker-status.d.ts.map +1 -0
  285. package/dist/schemas/worker-status.js +14 -0
  286. package/dist/schemas/worker-status.js.map +1 -0
  287. package/dist/schemas/worker.d.ts +125 -0
  288. package/dist/schemas/worker.d.ts.map +1 -0
  289. package/dist/schemas/worker.js +129 -0
  290. package/dist/schemas/worker.js.map +1 -0
  291. package/dist/secrets/app-platform/app-credentials.impl.d.ts +14 -0
  292. package/dist/secrets/app-platform/app-credentials.impl.d.ts.map +1 -0
  293. package/dist/secrets/app-platform/app-credentials.impl.js +237 -0
  294. package/dist/secrets/app-platform/app-credentials.impl.js.map +1 -0
  295. package/dist/secrets/container-registry/image-publish-settings.descriptor.d.ts +11 -0
  296. package/dist/secrets/container-registry/image-publish-settings.descriptor.d.ts.map +1 -0
  297. package/dist/secrets/container-registry/image-publish-settings.descriptor.js +26 -0
  298. package/dist/secrets/container-registry/image-publish-settings.descriptor.js.map +1 -0
  299. package/dist/secrets/doks-secret.descriptor.d.ts +18 -0
  300. package/dist/secrets/doks-secret.descriptor.d.ts.map +1 -0
  301. package/dist/secrets/doks-secret.descriptor.js +35 -0
  302. package/dist/secrets/doks-secret.descriptor.js.map +1 -0
  303. package/dist/secrets/doks-secret.impl.d.ts +98 -0
  304. package/dist/secrets/doks-secret.impl.d.ts.map +1 -0
  305. package/dist/secrets/doks-secret.impl.js +451 -0
  306. package/dist/secrets/doks-secret.impl.js.map +1 -0
  307. package/dist/secrets/index.d.ts +4 -0
  308. package/dist/secrets/index.d.ts.map +1 -0
  309. package/dist/secrets/index.js +4 -0
  310. package/dist/secrets/index.js.map +1 -0
  311. package/dist/secrets/secrets-backend-doks.plugin.d.ts +3 -0
  312. package/dist/secrets/secrets-backend-doks.plugin.d.ts.map +1 -0
  313. package/dist/secrets/secrets-backend-doks.plugin.js +35 -0
  314. package/dist/secrets/secrets-backend-doks.plugin.js.map +1 -0
  315. package/dist/storage/index.d.ts +50 -0
  316. package/dist/storage/index.d.ts.map +1 -0
  317. package/dist/storage/index.js +92 -0
  318. package/dist/storage/index.js.map +1 -0
  319. package/dist/storage/spaces-keys.d.ts +25 -0
  320. package/dist/storage/spaces-keys.d.ts.map +1 -0
  321. package/dist/storage/spaces-keys.js +32 -0
  322. package/dist/storage/spaces-keys.js.map +1 -0
  323. package/package.json +172 -4
@@ -0,0 +1,237 @@
1
+ /**
2
+ * DigitalOcean App credential use builds reference bindings and sends each
3
+ * bound mutation through Secrets authenticated-request. Caller-owned values
4
+ * live only in an operation-scoped by-id store registered for that mutation.
5
+ */
6
+ import { CapabilityError } from '@vibesdotdev/kernel';
7
+ import { BaseRuntimeClient } from '@vibesdotdev/kernel/client';
8
+ import { SecretsStoreDescriptorSchema } from '@vibesdotdev/secrets';
9
+ import { CredentialUseBindingSchema } from '@vibesdotdev/secrets/schemas';
10
+ import { DigitalOceanControlPlaneClient } from "../../client/control-plane.js";
11
+ import { requireApiToken } from "../../credentials/index.js";
12
+ import { buildDigitalOceanAppSpec } from "../../apps/build-spec.js";
13
+ import { AppDeploymentResourceResponseSchema, CreateAppDeploymentResponseSchema } from "../../schemas/http.js";
14
+ import { DigitalOceanSecretCredentialReferenceSchema, DigitalOceanTokenCredentialCandidatesSchema } from "../../schemas/control-plane.js";
15
+ import { DIGITALOCEAN_APP_CREDENTIALS_CLIENT_ID, DigitalOceanAppCredentialMutationRequestSchema, DigitalOceanAppCredentialMutationOutcomeSchema, DigitalOceanAppDeploymentPhaseSchema } from "../../schemas/app-deployment.js";
16
+ const silentLog = { info() { } };
17
+ function operationStoreReadOnly() {
18
+ return new CapabilityError('Operation-scoped App credentials permit reference reads only.', 'UNAVAILABLE', { reason: 'digitalocean-app-operation-store-read-only', retryable: false });
19
+ }
20
+ function createOperationSecretReference(storeId, values, value) {
21
+ const key = storeId + '-value-' + values.size;
22
+ values.set(key, value);
23
+ return DigitalOceanSecretCredentialReferenceSchema.parse({
24
+ source: 'secret',
25
+ store: storeId,
26
+ key
27
+ });
28
+ }
29
+ function registerOperationSecretStore(runtime, storeId, values) {
30
+ const descriptor = SecretsStoreDescriptorSchema.parse({
31
+ id: storeId,
32
+ kind: 'secrets/store',
33
+ backend: 'digitalocean-app-operation',
34
+ selection: 'by-id',
35
+ priority: 100,
36
+ tiers: ['local', 'dev', 'staging', 'production'],
37
+ enabled: true
38
+ });
39
+ return runtime.registerDynamicAsset('secrets/store', descriptor, async () => ({
40
+ impl: {
41
+ id: descriptor.id,
42
+ descriptor,
43
+ async list() {
44
+ return [];
45
+ },
46
+ async get(_tier, key) {
47
+ return values.get(key);
48
+ },
49
+ async getAll() {
50
+ throw operationStoreReadOnly();
51
+ },
52
+ async set() {
53
+ throw operationStoreReadOnly();
54
+ },
55
+ async unset() {
56
+ throw operationStoreReadOnly();
57
+ },
58
+ async setAll() {
59
+ throw operationStoreReadOnly();
60
+ }
61
+ }
62
+ }));
63
+ }
64
+ function appCredentialBinding(key, path, required, store) {
65
+ const reference = store === undefined
66
+ ? DigitalOceanSecretCredentialReferenceSchema.parse({ source: 'secret', key })
67
+ : DigitalOceanSecretCredentialReferenceSchema.parse({ source: 'secret', key, store });
68
+ return CredentialUseBindingSchema.parse({
69
+ kind: 'json-field',
70
+ candidates: [reference],
71
+ path,
72
+ required
73
+ });
74
+ }
75
+ function appCredentialBindings(deployment, appConfig, spec, storeId, operationValues) {
76
+ const bindings = [];
77
+ const groups = [
78
+ { path: 'services', specs: spec.services ?? [], configs: appConfig?.services ?? [] },
79
+ { path: 'workers', specs: spec.workers ?? [], configs: appConfig?.workers ?? [] },
80
+ {
81
+ path: 'jobs',
82
+ specs: spec.jobs ?? [],
83
+ configs: [...(appConfig?.jobs ?? []), ...(appConfig?.cronJobs ?? [])]
84
+ },
85
+ { path: 'static_sites', specs: spec.static_sites ?? [], configs: appConfig?.staticSites ?? [] }
86
+ ];
87
+ for (const group of groups) {
88
+ for (const [componentIndex, component] of group.specs.entries()) {
89
+ const configuredComponent = group.configs.find(({ name }) => name === component.name);
90
+ for (const [envIndex, env] of (component.envs ?? []).entries()) {
91
+ if (env.type !== 'SECRET')
92
+ continue;
93
+ const configuredEnv = configuredComponent?.envs.find(({ key, type }) => key === env.key && type === 'SECRET');
94
+ const requirement = deployment.env.find(({ name, secret }) => name === env.key && secret === true);
95
+ const source = configuredEnv ?? requirement;
96
+ if (source === undefined)
97
+ continue;
98
+ let key;
99
+ let store;
100
+ if (source.value !== undefined) {
101
+ const reference = createOperationSecretReference(storeId, operationValues, source.value);
102
+ key = reference.key;
103
+ store = reference.store;
104
+ }
105
+ else {
106
+ key = source.storeKey ?? ('key' in source ? source.key : source.name);
107
+ }
108
+ bindings.push(appCredentialBinding(key, ['spec', group.path, String(componentIndex), 'envs', String(envIndex), 'value'], requirement === undefined ? false : requirement.required !== false, store));
109
+ }
110
+ }
111
+ }
112
+ for (const [destinationIndex, destination] of (appConfig?.logDestinations ?? []).entries()) {
113
+ const endpoint = destination.endpoint;
114
+ switch (endpoint.kind) {
115
+ case 'datadog':
116
+ bindings.push(appCredentialBinding(endpoint.apiKeyStoreKey, ['spec', 'log_destinations', String(destinationIndex), 'datadog', 'api_key'], false));
117
+ break;
118
+ case 'logtail':
119
+ bindings.push(appCredentialBinding(endpoint.tokenStoreKey, ['spec', 'log_destinations', String(destinationIndex), 'logtail', 'token'], false));
120
+ break;
121
+ case 'opensearch':
122
+ if (endpoint.basicAuthUserStoreKey) {
123
+ bindings.push(appCredentialBinding(endpoint.basicAuthUserStoreKey, ['spec', 'log_destinations', String(destinationIndex), 'open_search', 'basic_auth', 'user'], false));
124
+ }
125
+ if (endpoint.basicAuthPasswordStoreKey) {
126
+ bindings.push(appCredentialBinding(endpoint.basicAuthPasswordStoreKey, ['spec', 'log_destinations', String(destinationIndex), 'open_search', 'basic_auth', 'password'], false));
127
+ }
128
+ break;
129
+ case 'papertrail':
130
+ break;
131
+ }
132
+ }
133
+ return bindings;
134
+ }
135
+ function mutationPhase(app) {
136
+ return app.in_progress_deployment?.phase ?? app.active_deployment?.phase;
137
+ }
138
+ /** Registered owner for DigitalOcean App secret use and mutation. */
139
+ export class DigitalOceanAppCredentialsClient extends BaseRuntimeClient {
140
+ async deploy(input, options = {}) {
141
+ const request = DigitalOceanAppCredentialMutationRequestSchema.parse(input);
142
+ const log = options.credentialLog ?? silentLog;
143
+ const operationStoreId = 'digitalocean-app-operation-' + globalThis.crypto.randomUUID();
144
+ const operationValues = new Map();
145
+ let unregisterStore;
146
+ try {
147
+ const clientOptions = {
148
+ runtime: this.runtime,
149
+ credentialRuntime: this.runtime,
150
+ onCredentialSelected: (provenance) => {
151
+ if (provenance === undefined)
152
+ return;
153
+ log.info(`Using DigitalOcean API token candidate (${provenance.kind}, key ${provenance.reference.key}).`);
154
+ }
155
+ };
156
+ if (options.baseUrl !== undefined)
157
+ clientOptions.baseUrl = options.baseUrl;
158
+ if (options.fetchImpl !== undefined)
159
+ clientOptions.fetchImpl = options.fetchImpl;
160
+ if (options.retry !== undefined)
161
+ clientOptions.retry = options.retry;
162
+ if (options.credentialCandidates !== undefined) {
163
+ clientOptions.credentialCandidates = options.credentialCandidates;
164
+ }
165
+ const spec = buildDigitalOceanAppSpec({
166
+ deployment: request.deployment,
167
+ appConfig: request.appConfig,
168
+ defaultGithub: request.git?.repoCloneUrl
169
+ ? {
170
+ repo: request.git.repoCloneUrl,
171
+ branch: request.git.branch ?? 'main',
172
+ deployOnPush: false
173
+ }
174
+ : undefined,
175
+ regionOverride: request.region,
176
+ includeUnresolvedSecrets: true
177
+ });
178
+ const credentialBindings = appCredentialBindings(request.deployment, request.appConfig, spec, operationStoreId, operationValues);
179
+ const explicitToken = options.token === undefined ? undefined : requireApiToken(options.token);
180
+ const usesSecretsCredentialUse = explicitToken === undefined || credentialBindings.length > 0;
181
+ if (usesSecretsCredentialUse) {
182
+ delete clientOptions.fetchImpl;
183
+ }
184
+ if (explicitToken !== undefined && credentialBindings.length > 0) {
185
+ const reference = createOperationSecretReference(operationStoreId, operationValues, explicitToken.value);
186
+ clientOptions.credentialCandidates = DigitalOceanTokenCredentialCandidatesSchema.parse([{
187
+ reference,
188
+ kind: explicitToken.kind
189
+ }]);
190
+ }
191
+ if (operationValues.size > 0) {
192
+ unregisterStore = registerOperationSecretStore(this.runtime, operationStoreId, operationValues);
193
+ }
194
+ const { runtime, ...runtimeOptions } = clientOptions;
195
+ const client = explicitToken !== undefined && !usesSecretsCredentialUse
196
+ ? new DigitalOceanControlPlaneClient({ ...clientOptions, token: explicitToken })
197
+ : await DigitalOceanControlPlaneClient.fromRuntime(runtime, runtimeOptions);
198
+ const requestOptions = credentialBindings.length > 0 ? { credentialBindings } : {};
199
+ const targetAppId = request.appId ?? request.appConfig?.id;
200
+ let app;
201
+ let forcedDeploymentId;
202
+ let forcedPhase;
203
+ if (targetAppId) {
204
+ options.onLine?.('stdout', `Updating DO App ${targetAppId}...`);
205
+ const updated = await client.put(`/apps/${targetAppId}`, { spec }, requestOptions, AppDeploymentResourceResponseSchema);
206
+ app = updated.app;
207
+ options.onLine?.('stdout', `Forcing fresh deployment (branch HEAD) for ${targetAppId}...`);
208
+ const forced = await client.post(`/apps/${targetAppId}/deployments`, { force_build: true }, {}, CreateAppDeploymentResponseSchema);
209
+ forcedDeploymentId = forced.deployment?.id;
210
+ forcedPhase = forced.deployment?.phase === undefined
211
+ ? undefined
212
+ : DigitalOceanAppDeploymentPhaseSchema.parse(forced.deployment.phase);
213
+ }
214
+ else {
215
+ options.onLine?.('stdout', `Creating DO App '${request.deployment.appId}'...`);
216
+ const created = await client.post('/apps', { spec }, requestOptions, AppDeploymentResourceResponseSchema);
217
+ app = created.app;
218
+ }
219
+ return DigitalOceanAppCredentialMutationOutcomeSchema.parse({
220
+ appId: app.id,
221
+ liveUrl: app.live_url ?? app.default_ingress,
222
+ deploymentId: forcedDeploymentId ?? app.in_progress_deployment?.id ?? app.active_deployment?.id,
223
+ phase: forcedPhase ?? mutationPhase(app)
224
+ });
225
+ }
226
+ finally {
227
+ try {
228
+ unregisterStore?.();
229
+ }
230
+ finally {
231
+ operationValues.clear();
232
+ }
233
+ }
234
+ }
235
+ }
236
+ export { DIGITALOCEAN_APP_CREDENTIALS_CLIENT_ID };
237
+ //# sourceMappingURL=app-credentials.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-credentials.impl.js","sourceRoot":"","sources":["../../../src/secrets/app-platform/app-credentials.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { RuntimeRef } from '@vibesdotdev/kernel';
2
+ import { type DigitalOceanImagePublishSettings } from '../../schemas/app-deployment.ts';
3
+ export declare const DIGITALOCEAN_IMAGE_PUBLISH_SETTINGS_MANIFEST_ID = "digitalocean.image-publish";
4
+ /**
5
+ * Return no settings until the application composes this optional capability.
6
+ * With `appDir`, the unit's config chain (an embedded app's `workspace.config`
7
+ * included) folds over the composition, as `infra.deployment` is read; an app
8
+ * directory outside the bound workspace reads the composition alone.
9
+ */
10
+ export declare function loadDigitalOceanImagePublishSettings(runtime: RuntimeRef, appDir?: string): Promise<DigitalOceanImagePublishSettings | undefined>;
11
+ //# sourceMappingURL=image-publish-settings.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-publish-settings.descriptor.d.ts","sourceRoot":"","sources":["../../../src/secrets/container-registry/image-publish-settings.descriptor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAA0C,KAAK,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAEhI,eAAO,MAAM,+CAA+C,+BAA+B,CAAC;AAE5F;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACzD,OAAO,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAiBvD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Application-composed settings for DigitalOcean Dockerfile image publishing.
3
+ */
4
+ import { ConfigManifest } from '@vibesdotdev/config';
5
+ import { isWithinBoundWorkspace } from '@vibesdotdev/kernel/bootstrap/unit-config';
6
+ import { getVibesClient } from '@vibesdotdev/kernel/client';
7
+ import { DigitalOceanImagePublishSettingsSchema } from "../../schemas/app-deployment.js";
8
+ export const DIGITALOCEAN_IMAGE_PUBLISH_SETTINGS_MANIFEST_ID = 'digitalocean.image-publish';
9
+ /**
10
+ * Return no settings until the application composes this optional capability.
11
+ * With `appDir`, the unit's config chain (an embedded app's `workspace.config`
12
+ * included) folds over the composition, as `infra.deployment` is read; an app
13
+ * directory outside the bound workspace reads the composition alone.
14
+ */
15
+ export async function loadDigitalOceanImagePublishSettings(runtime, appDir) {
16
+ if (!runtime.hasKind('config/manifest') ||
17
+ !runtime.query('config/manifest').withId(DIGITALOCEAN_IMAGE_PUBLISH_SETTINGS_MANIFEST_ID).descriptors().length) {
18
+ return undefined;
19
+ }
20
+ if (appDir !== undefined && runtime.hasContext('runtime/workspace-path') && (await isWithinBoundWorkspace(runtime, appDir))) {
21
+ const config = await getVibesClient('config', runtime);
22
+ return config.readUnit({ id: DIGITALOCEAN_IMAGE_PUBLISH_SETTINGS_MANIFEST_ID, schema: DigitalOceanImagePublishSettingsSchema }, appDir);
23
+ }
24
+ return ConfigManifest.forRuntime(runtime, DIGITALOCEAN_IMAGE_PUBLISH_SETTINGS_MANIFEST_ID).load();
25
+ }
26
+ //# sourceMappingURL=image-publish-settings.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-publish-settings.descriptor.js","sourceRoot":"","sources":["../../../src/secrets/container-registry/image-publish-settings.descriptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sCAAsC,EAAyC,MAAM,iCAAiC,CAAC;AAEhI,MAAM,CAAC,MAAM,+CAA+C,GAAG,4BAA4B,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACzD,OAAmB,EACnB,MAAe;IAEf,IACC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACnC,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,EAC7G,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC7H,MAAM,MAAM,GAAG,MAAM,cAAc,CAAe,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,+CAA+C,EAAE,MAAM,EAAE,sCAAsC,EAAE,EAAE,MAAM,CAAC,CAAC;IACzI,CAAC;IAED,OAAO,cAAc,CAAC,UAAU,CAC/B,OAAO,EACP,+CAA+C,CAC/C,CAAC,IAAI,EAAE,CAAC;AACV,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * `doks-secret` — deliver stored secrets to workloads as a Kubernetes Secret.
3
+ *
4
+ * Routed BY ID (`vibes secrets push --backend doks-secret`), never eligible for
5
+ * generic resolution: this is a delivery target, not somewhere `vibes secrets
6
+ * set` should silently land. The canonical store stays local; this projects it.
7
+ *
8
+ * A caller says which cluster namespace an environment means with
9
+ * `namespace.<environment>`, falling back to `namespace`. With neither, the
10
+ * backend refuses rather than guessing — writing production credentials into
11
+ * the wrong namespace is not a mistake worth being convenient about.
12
+ */
13
+ import type { SecretsStoreDescriptor } from '@vibesdotdev/secrets';
14
+ export declare const DOKS_SECRET_DELIVERY_CLIENT_ID = "digitalocean-doks-secret-delivery";
15
+ export declare const DOKS_SECRET_STORE_ACCESS: unique symbol;
16
+ declare const descriptor: SecretsStoreDescriptor;
17
+ export default descriptor;
18
+ //# sourceMappingURL=doks-secret.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doks-secret.descriptor.d.ts","sourceRoot":"","sources":["../../src/secrets/doks-secret.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,eAAO,MAAM,8BAA8B,sCAAsC,CAAC;AAClF,eAAO,MAAM,wBAAwB,EAAE,OAAO,MAA2C,CAAC;AAE1F,QAAA,MAAM,UAAU,EAAE,sBAmBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `doks-secret` — deliver stored secrets to workloads as a Kubernetes Secret.
3
+ *
4
+ * Routed BY ID (`vibes secrets push --backend doks-secret`), never eligible for
5
+ * generic resolution: this is a delivery target, not somewhere `vibes secrets
6
+ * set` should silently land. The canonical store stays local; this projects it.
7
+ *
8
+ * A caller says which cluster namespace an environment means with
9
+ * `namespace.<environment>`, falling back to `namespace`. With neither, the
10
+ * backend refuses rather than guessing — writing production credentials into
11
+ * the wrong namespace is not a mistake worth being convenient about.
12
+ */
13
+ export const DOKS_SECRET_DELIVERY_CLIENT_ID = 'digitalocean-doks-secret-delivery';
14
+ export const DOKS_SECRET_STORE_ACCESS = Symbol('doks-secret-store-access');
15
+ const descriptor = {
16
+ id: 'doks-secret',
17
+ kind: 'secrets/store',
18
+ name: 'DOKS Kubernetes Secret',
19
+ description: 'Projects stored secrets into a Kubernetes Secret on a DOKS cluster, read by workloads through an ordinary secretKeyRef',
20
+ tags: ['remote', 'kubernetes', 'delivery-target'],
21
+ enabled: true,
22
+ backend: 'doks-secret',
23
+ tiers: ['dev', 'staging', 'production'],
24
+ // Below every general-purpose backend: only an explicit --backend reaches it.
25
+ priority: 1,
26
+ // A delivery target, named by id; never a scope-selected read store (rc05 §2.3).
27
+ selection: 'by-id',
28
+ // `config` is a flat string map by contract, so a per-environment namespace
29
+ // is spelled `namespace.<environment>`; `namespace` is the fallback.
30
+ config: {
31
+ secretName: 'vibes-secrets'
32
+ }
33
+ };
34
+ export default descriptor;
35
+ //# sourceMappingURL=doks-secret.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doks-secret.descriptor.js","sourceRoot":"","sources":["../../src/secrets/doks-secret.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,CAAC,MAAM,8BAA8B,GAAG,mCAAmC,CAAC;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAkB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAE1F,MAAM,UAAU,GAA2B;IAC1C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACV,wHAAwH;IACzH,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC;IACjD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,EAAE,CAAC;IACX,iFAAiF;IACjF,SAAS,EAAE,OAAO;IAClB,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,EAAE;QACP,UAAU,EAAE,eAAe;KAC3B;CACD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * `secrets/store` backed by a Kubernetes Secret on a DOKS cluster.
3
+ *
4
+ * `vault-secrets-operator` was installed on `exemplar-staging` to do exactly
5
+ * this and, measured 2026-09-08, held **zero** CRs across every namespace — a
6
+ * Vault, an injector and an operator running for 383 days, delivering nothing.
7
+ * Meanwhile the two realm federators got their signing keys by hand, and the
8
+ * key the manifests claimed came from `vibes secrets` had never been in the
9
+ * store at all.
10
+ *
11
+ * So the delivery step becomes a backend: `vibes secrets push --backend
12
+ * doks-secret` writes the store's values into a Kubernetes Secret that
13
+ * workloads read with an ordinary `secretKeyRef`. No operator, no second
14
+ * source of truth, no CRD.
15
+ *
16
+ * Values are never logged, returned in an error, or placed in argv. Kubernetes
17
+ * Secrets carry them to workloads; build jobs can read registry credentials from
18
+ * their mounted `.npmrc` or `.bunfig.toml` files.
19
+ */
20
+ import { type KindContext, type VibesRuntime } from '@vibesdotdev/kernel';
21
+ import { BaseRuntimeClient, type RuntimeClientDescriptor } from '@vibesdotdev/kernel/client';
22
+ import { type DigitalOceanDoksWorkerCredentialDeliveryOwner, type DigitalOceanDoksWorkerCredentialLease, type DigitalOceanDoksWorkerPlan } from '../schemas/doks-worker.ts';
23
+ import type { StoreOperationContext } from '@vibesdotdev/secrets';
24
+ import type { SecretEntry, SecretsStoreDescriptor } from '@vibesdotdev/secrets';
25
+ import { DOKS_SECRET_STORE_ACCESS } from './doks-secret.descriptor.ts';
26
+ import { type KubernetesApi } from '../kubernetes/authority.ts';
27
+ export declare function createDoksSecretStore(runtime: VibesRuntime, descriptor: SecretsStoreDescriptor, options?: {
28
+ api?: KubernetesApi;
29
+ }): {
30
+ id: string;
31
+ descriptor: {
32
+ id: string;
33
+ kind: "secrets/store";
34
+ backend: string;
35
+ tiers: ("local" | "dev" | "staging" | "production")[];
36
+ name?: string | undefined;
37
+ description?: string | undefined;
38
+ tags?: string[] | undefined;
39
+ enabled?: boolean | undefined;
40
+ hardware?: string[] | undefined;
41
+ selection?: "scope" | "by-id" | undefined;
42
+ managedCredentialValues?: true | undefined;
43
+ priority?: number | undefined;
44
+ config?: Record<string, string> | undefined;
45
+ };
46
+ list(environment: string, operationContext?: StoreOperationContext): Promise<SecretEntry[]>;
47
+ get(environment: string, key: string, operationContext?: StoreOperationContext): Promise<string | undefined>;
48
+ set(environment: string, key: string, value: string, operationContext?: StoreOperationContext): Promise<void>;
49
+ unset(environment: string, key: string, operationContext?: StoreOperationContext): Promise<void>;
50
+ getAll(environment: string, operationContext?: StoreOperationContext): Promise<Record<string, string>>;
51
+ setAll(environment: string, secrets: Record<string, string>, operationContext?: StoreOperationContext): Promise<void>;
52
+ admitWorkerCredentials: (input: DigitalOceanDoksWorkerPlan) => Promise<void>;
53
+ prepareWorkerCredentials: (input: DigitalOceanDoksWorkerPlan) => Promise<DigitalOceanDoksWorkerPlan>;
54
+ revokeWorkerCredentials: (input: DigitalOceanDoksWorkerCredentialLease) => Promise<void>;
55
+ };
56
+ /**
57
+ * Runtime-owned DOKS Secret capability. The store loader and DOKS worker
58
+ * execution resolve this same BaseRuntimeClient instance, so store connection
59
+ * reuse and credential delivery share one owner without widening secrets/store.
60
+ */
61
+ export interface DoksSecretStoreAccess {
62
+ [DOKS_SECRET_STORE_ACCESS](): ReturnType<typeof createDoksSecretStore>;
63
+ }
64
+ export declare class DigitalOceanDoksSecretRuntimeClient extends BaseRuntimeClient<VibesRuntime> implements DigitalOceanDoksWorkerCredentialDeliveryOwner, DoksSecretStoreAccess {
65
+ #private;
66
+ constructor(descriptor: RuntimeClientDescriptor, context: KindContext<VibesRuntime>);
67
+ [DOKS_SECRET_STORE_ACCESS](): {
68
+ id: string;
69
+ descriptor: {
70
+ id: string;
71
+ kind: "secrets/store";
72
+ backend: string;
73
+ tiers: ("local" | "dev" | "staging" | "production")[];
74
+ name?: string | undefined;
75
+ description?: string | undefined;
76
+ tags?: string[] | undefined;
77
+ enabled?: boolean | undefined;
78
+ hardware?: string[] | undefined;
79
+ selection?: "scope" | "by-id" | undefined;
80
+ managedCredentialValues?: true | undefined;
81
+ priority?: number | undefined;
82
+ config?: Record<string, string> | undefined;
83
+ };
84
+ list(environment: string, operationContext?: StoreOperationContext): Promise<SecretEntry[]>;
85
+ get(environment: string, key: string, operationContext?: StoreOperationContext): Promise<string | undefined>;
86
+ set(environment: string, key: string, value: string, operationContext?: StoreOperationContext): Promise<void>;
87
+ unset(environment: string, key: string, operationContext?: StoreOperationContext): Promise<void>;
88
+ getAll(environment: string, operationContext?: StoreOperationContext): Promise<Record<string, string>>;
89
+ setAll(environment: string, secrets: Record<string, string>, operationContext?: StoreOperationContext): Promise<void>;
90
+ admitWorkerCredentials: (input: DigitalOceanDoksWorkerPlan) => Promise<void>;
91
+ prepareWorkerCredentials: (input: DigitalOceanDoksWorkerPlan) => Promise<DigitalOceanDoksWorkerPlan>;
92
+ revokeWorkerCredentials: (input: DigitalOceanDoksWorkerCredentialLease) => Promise<void>;
93
+ };
94
+ admitWorkerCredentials(plan: DigitalOceanDoksWorkerPlan): Promise<void>;
95
+ prepareWorkerCredentials(plan: DigitalOceanDoksWorkerPlan): Promise<DigitalOceanDoksWorkerPlan>;
96
+ revokeWorkerCredentials(lease: DigitalOceanDoksWorkerCredentialLease): Promise<void>;
97
+ }
98
+ //# sourceMappingURL=doks-secret.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doks-secret.impl.d.ts","sourceRoot":"","sources":["../../src/secrets/doks-secret.impl.ts"],"names":[],"mappings":"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"}