@reyemtech/nimbus 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +399 -0
- package/dist/cjs/aws/cluster.d.ts +32 -0
- package/dist/cjs/aws/cluster.d.ts.map +1 -0
- package/dist/cjs/aws/cluster.js +214 -0
- package/dist/cjs/aws/cluster.js.map +1 -0
- package/dist/cjs/aws/dns.d.ts +22 -0
- package/dist/cjs/aws/dns.d.ts.map +1 -0
- package/dist/cjs/aws/dns.js +95 -0
- package/dist/cjs/aws/dns.js.map +1 -0
- package/dist/cjs/aws/index.d.ts +10 -0
- package/dist/cjs/aws/index.d.ts.map +1 -0
- package/dist/cjs/aws/index.js +17 -0
- package/dist/cjs/aws/index.js.map +1 -0
- package/dist/cjs/aws/network.d.ts +27 -0
- package/dist/cjs/aws/network.d.ts.map +1 -0
- package/dist/cjs/aws/network.js +262 -0
- package/dist/cjs/aws/network.js.map +1 -0
- package/dist/cjs/aws/secrets.d.ts +26 -0
- package/dist/cjs/aws/secrets.d.ts.map +1 -0
- package/dist/cjs/aws/secrets.js +127 -0
- package/dist/cjs/aws/secrets.js.map +1 -0
- package/dist/cjs/azure/cluster.d.ts +44 -0
- package/dist/cjs/azure/cluster.d.ts.map +1 -0
- package/dist/cjs/azure/cluster.js +143 -0
- package/dist/cjs/azure/cluster.js.map +1 -0
- package/dist/cjs/azure/dns.d.ts +28 -0
- package/dist/cjs/azure/dns.d.ts.map +1 -0
- package/dist/cjs/azure/dns.js +169 -0
- package/dist/cjs/azure/dns.js.map +1 -0
- package/dist/cjs/azure/index.d.ts +10 -0
- package/dist/cjs/azure/index.d.ts.map +1 -0
- package/dist/cjs/azure/index.js +17 -0
- package/dist/cjs/azure/index.js.map +1 -0
- package/dist/cjs/azure/network.d.ts +28 -0
- package/dist/cjs/azure/network.d.ts.map +1 -0
- package/dist/cjs/azure/network.js +176 -0
- package/dist/cjs/azure/network.js.map +1 -0
- package/dist/cjs/azure/secrets.d.ts +37 -0
- package/dist/cjs/azure/secrets.d.ts.map +1 -0
- package/dist/cjs/azure/secrets.js +150 -0
- package/dist/cjs/azure/secrets.js.map +1 -0
- package/dist/cjs/cache/index.d.ts +7 -0
- package/dist/cjs/cache/index.d.ts.map +1 -0
- package/dist/cjs/cache/index.js +8 -0
- package/dist/cjs/cache/index.js.map +1 -0
- package/dist/cjs/cache/interfaces.d.ts +60 -0
- package/dist/cjs/cache/interfaces.d.ts.map +1 -0
- package/dist/cjs/cache/interfaces.js +11 -0
- package/dist/cjs/cache/interfaces.js.map +1 -0
- package/dist/cjs/cluster/index.d.ts +7 -0
- package/dist/cjs/cluster/index.d.ts.map +1 -0
- package/dist/cjs/cluster/index.js +8 -0
- package/dist/cjs/cluster/index.js.map +1 -0
- package/dist/cjs/cluster/interfaces.d.ts +120 -0
- package/dist/cjs/cluster/interfaces.d.ts.map +1 -0
- package/dist/cjs/cluster/interfaces.js +12 -0
- package/dist/cjs/cluster/interfaces.js.map +1 -0
- package/dist/cjs/database/index.d.ts +7 -0
- package/dist/cjs/database/index.d.ts.map +1 -0
- package/dist/cjs/database/index.js +8 -0
- package/dist/cjs/database/index.js.map +1 -0
- package/dist/cjs/database/interfaces.d.ts +93 -0
- package/dist/cjs/database/interfaces.d.ts.map +1 -0
- package/dist/cjs/database/interfaces.js +12 -0
- package/dist/cjs/database/interfaces.js.map +1 -0
- package/dist/cjs/dns/index.d.ts +7 -0
- package/dist/cjs/dns/index.d.ts.map +1 -0
- package/dist/cjs/dns/index.js +8 -0
- package/dist/cjs/dns/index.js.map +1 -0
- package/dist/cjs/dns/interfaces.d.ts +55 -0
- package/dist/cjs/dns/interfaces.d.ts.map +1 -0
- package/dist/cjs/dns/interfaces.js +11 -0
- package/dist/cjs/dns/interfaces.js.map +1 -0
- package/dist/cjs/factories/cluster.d.ts +45 -0
- package/dist/cjs/factories/cluster.d.ts.map +1 -0
- package/dist/cjs/factories/cluster.js +90 -0
- package/dist/cjs/factories/cluster.js.map +1 -0
- package/dist/cjs/factories/dns.d.ts +30 -0
- package/dist/cjs/factories/dns.d.ts.map +1 -0
- package/dist/cjs/factories/dns.js +56 -0
- package/dist/cjs/factories/dns.js.map +1 -0
- package/dist/cjs/factories/index.d.ts +15 -0
- package/dist/cjs/factories/index.d.ts.map +1 -0
- package/dist/cjs/factories/index.js +23 -0
- package/dist/cjs/factories/index.js.map +1 -0
- package/dist/cjs/factories/network.d.ts +40 -0
- package/dist/cjs/factories/network.d.ts.map +1 -0
- package/dist/cjs/factories/network.js +85 -0
- package/dist/cjs/factories/network.js.map +1 -0
- package/dist/cjs/factories/secrets.d.ts +38 -0
- package/dist/cjs/factories/secrets.d.ts.map +1 -0
- package/dist/cjs/factories/secrets.js +67 -0
- package/dist/cjs/factories/secrets.js.map +1 -0
- package/dist/cjs/factories/types.d.ts +75 -0
- package/dist/cjs/factories/types.d.ts.map +1 -0
- package/dist/cjs/factories/types.js +28 -0
- package/dist/cjs/factories/types.js.map +1 -0
- package/dist/cjs/global-lb/glb.d.ts +29 -0
- package/dist/cjs/global-lb/glb.d.ts.map +1 -0
- package/dist/cjs/global-lb/glb.js +220 -0
- package/dist/cjs/global-lb/glb.js.map +1 -0
- package/dist/cjs/global-lb/index.d.ts +8 -0
- package/dist/cjs/global-lb/index.d.ts.map +1 -0
- package/dist/cjs/global-lb/index.js +11 -0
- package/dist/cjs/global-lb/index.js.map +1 -0
- package/dist/cjs/global-lb/interfaces.d.ts +62 -0
- package/dist/cjs/global-lb/interfaces.d.ts.map +1 -0
- package/dist/cjs/global-lb/interfaces.js +11 -0
- package/dist/cjs/global-lb/interfaces.js.map +1 -0
- package/dist/cjs/index.d.ts +28 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +72 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/network/cidr.d.ts +92 -0
- package/dist/cjs/network/cidr.d.ts.map +1 -0
- package/dist/cjs/network/cidr.js +189 -0
- package/dist/cjs/network/cidr.js.map +1 -0
- package/dist/cjs/network/index.d.ts +8 -0
- package/dist/cjs/network/index.d.ts.map +1 -0
- package/dist/cjs/network/index.js +17 -0
- package/dist/cjs/network/index.js.map +1 -0
- package/dist/cjs/network/interfaces.d.ts +60 -0
- package/dist/cjs/network/interfaces.d.ts.map +1 -0
- package/dist/cjs/network/interfaces.js +12 -0
- package/dist/cjs/network/interfaces.js.map +1 -0
- package/dist/cjs/platform/index.d.ts +8 -0
- package/dist/cjs/platform/index.d.ts.map +1 -0
- package/dist/cjs/platform/index.js +11 -0
- package/dist/cjs/platform/index.js.map +1 -0
- package/dist/cjs/platform/interfaces.d.ts +86 -0
- package/dist/cjs/platform/interfaces.d.ts.map +1 -0
- package/dist/cjs/platform/interfaces.js +12 -0
- package/dist/cjs/platform/interfaces.js.map +1 -0
- package/dist/cjs/platform/stack.d.ts +32 -0
- package/dist/cjs/platform/stack.d.ts.map +1 -0
- package/dist/cjs/platform/stack.js +258 -0
- package/dist/cjs/platform/stack.js.map +1 -0
- package/dist/cjs/queue/index.d.ts +7 -0
- package/dist/cjs/queue/index.d.ts.map +1 -0
- package/dist/cjs/queue/index.js +8 -0
- package/dist/cjs/queue/index.js.map +1 -0
- package/dist/cjs/queue/interfaces.d.ts +46 -0
- package/dist/cjs/queue/interfaces.d.ts.map +1 -0
- package/dist/cjs/queue/interfaces.js +11 -0
- package/dist/cjs/queue/interfaces.js.map +1 -0
- package/dist/cjs/secrets/index.d.ts +7 -0
- package/dist/cjs/secrets/index.d.ts.map +1 -0
- package/dist/cjs/secrets/index.js +8 -0
- package/dist/cjs/secrets/index.js.map +1 -0
- package/dist/cjs/secrets/interfaces.d.ts +73 -0
- package/dist/cjs/secrets/interfaces.d.ts.map +1 -0
- package/dist/cjs/secrets/interfaces.js +11 -0
- package/dist/cjs/secrets/interfaces.js.map +1 -0
- package/dist/cjs/storage/index.d.ts +7 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +8 -0
- package/dist/cjs/storage/index.js.map +1 -0
- package/dist/cjs/storage/interfaces.d.ts +63 -0
- package/dist/cjs/storage/interfaces.d.ts.map +1 -0
- package/dist/cjs/storage/interfaces.js +11 -0
- package/dist/cjs/storage/interfaces.js.map +1 -0
- package/dist/cjs/types/cloud-target.d.ts +89 -0
- package/dist/cjs/types/cloud-target.d.ts.map +1 -0
- package/dist/cjs/types/cloud-target.js +73 -0
- package/dist/cjs/types/cloud-target.js.map +1 -0
- package/dist/cjs/types/errors.d.ts +96 -0
- package/dist/cjs/types/errors.d.ts.map +1 -0
- package/dist/cjs/types/errors.js +127 -0
- package/dist/cjs/types/errors.js.map +1 -0
- package/dist/cjs/types/index.d.ts +10 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +33 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/tags.d.ts +53 -0
- package/dist/cjs/types/tags.d.ts.map +1 -0
- package/dist/cjs/types/tags.js +110 -0
- package/dist/cjs/types/tags.js.map +1 -0
- package/dist/cjs/types/validation.d.ts +63 -0
- package/dist/cjs/types/validation.d.ts.map +1 -0
- package/dist/cjs/types/validation.js +158 -0
- package/dist/cjs/types/validation.js.map +1 -0
- package/dist/esm/aws/cluster.d.ts +32 -0
- package/dist/esm/aws/cluster.d.ts.map +1 -0
- package/dist/esm/aws/cluster.js +214 -0
- package/dist/esm/aws/cluster.js.map +1 -0
- package/dist/esm/aws/dns.d.ts +22 -0
- package/dist/esm/aws/dns.d.ts.map +1 -0
- package/dist/esm/aws/dns.js +95 -0
- package/dist/esm/aws/dns.js.map +1 -0
- package/dist/esm/aws/index.d.ts +10 -0
- package/dist/esm/aws/index.d.ts.map +1 -0
- package/dist/esm/aws/index.js +17 -0
- package/dist/esm/aws/index.js.map +1 -0
- package/dist/esm/aws/network.d.ts +27 -0
- package/dist/esm/aws/network.d.ts.map +1 -0
- package/dist/esm/aws/network.js +262 -0
- package/dist/esm/aws/network.js.map +1 -0
- package/dist/esm/aws/secrets.d.ts +26 -0
- package/dist/esm/aws/secrets.d.ts.map +1 -0
- package/dist/esm/aws/secrets.js +127 -0
- package/dist/esm/aws/secrets.js.map +1 -0
- package/dist/esm/azure/cluster.d.ts +44 -0
- package/dist/esm/azure/cluster.d.ts.map +1 -0
- package/dist/esm/azure/cluster.js +143 -0
- package/dist/esm/azure/cluster.js.map +1 -0
- package/dist/esm/azure/dns.d.ts +28 -0
- package/dist/esm/azure/dns.d.ts.map +1 -0
- package/dist/esm/azure/dns.js +169 -0
- package/dist/esm/azure/dns.js.map +1 -0
- package/dist/esm/azure/index.d.ts +10 -0
- package/dist/esm/azure/index.d.ts.map +1 -0
- package/dist/esm/azure/index.js +17 -0
- package/dist/esm/azure/index.js.map +1 -0
- package/dist/esm/azure/network.d.ts +28 -0
- package/dist/esm/azure/network.d.ts.map +1 -0
- package/dist/esm/azure/network.js +176 -0
- package/dist/esm/azure/network.js.map +1 -0
- package/dist/esm/azure/secrets.d.ts +37 -0
- package/dist/esm/azure/secrets.d.ts.map +1 -0
- package/dist/esm/azure/secrets.js +150 -0
- package/dist/esm/azure/secrets.js.map +1 -0
- package/dist/esm/cache/index.d.ts +7 -0
- package/dist/esm/cache/index.d.ts.map +1 -0
- package/dist/esm/cache/index.js +8 -0
- package/dist/esm/cache/index.js.map +1 -0
- package/dist/esm/cache/interfaces.d.ts +60 -0
- package/dist/esm/cache/interfaces.d.ts.map +1 -0
- package/dist/esm/cache/interfaces.js +11 -0
- package/dist/esm/cache/interfaces.js.map +1 -0
- package/dist/esm/cluster/index.d.ts +7 -0
- package/dist/esm/cluster/index.d.ts.map +1 -0
- package/dist/esm/cluster/index.js +8 -0
- package/dist/esm/cluster/index.js.map +1 -0
- package/dist/esm/cluster/interfaces.d.ts +120 -0
- package/dist/esm/cluster/interfaces.d.ts.map +1 -0
- package/dist/esm/cluster/interfaces.js +12 -0
- package/dist/esm/cluster/interfaces.js.map +1 -0
- package/dist/esm/database/index.d.ts +7 -0
- package/dist/esm/database/index.d.ts.map +1 -0
- package/dist/esm/database/index.js +8 -0
- package/dist/esm/database/index.js.map +1 -0
- package/dist/esm/database/interfaces.d.ts +93 -0
- package/dist/esm/database/interfaces.d.ts.map +1 -0
- package/dist/esm/database/interfaces.js +12 -0
- package/dist/esm/database/interfaces.js.map +1 -0
- package/dist/esm/dns/index.d.ts +7 -0
- package/dist/esm/dns/index.d.ts.map +1 -0
- package/dist/esm/dns/index.js +8 -0
- package/dist/esm/dns/index.js.map +1 -0
- package/dist/esm/dns/interfaces.d.ts +55 -0
- package/dist/esm/dns/interfaces.d.ts.map +1 -0
- package/dist/esm/dns/interfaces.js +11 -0
- package/dist/esm/dns/interfaces.js.map +1 -0
- package/dist/esm/factories/cluster.d.ts +45 -0
- package/dist/esm/factories/cluster.d.ts.map +1 -0
- package/dist/esm/factories/cluster.js +90 -0
- package/dist/esm/factories/cluster.js.map +1 -0
- package/dist/esm/factories/dns.d.ts +30 -0
- package/dist/esm/factories/dns.d.ts.map +1 -0
- package/dist/esm/factories/dns.js +56 -0
- package/dist/esm/factories/dns.js.map +1 -0
- package/dist/esm/factories/index.d.ts +15 -0
- package/dist/esm/factories/index.d.ts.map +1 -0
- package/dist/esm/factories/index.js +23 -0
- package/dist/esm/factories/index.js.map +1 -0
- package/dist/esm/factories/network.d.ts +40 -0
- package/dist/esm/factories/network.d.ts.map +1 -0
- package/dist/esm/factories/network.js +85 -0
- package/dist/esm/factories/network.js.map +1 -0
- package/dist/esm/factories/secrets.d.ts +38 -0
- package/dist/esm/factories/secrets.d.ts.map +1 -0
- package/dist/esm/factories/secrets.js +67 -0
- package/dist/esm/factories/secrets.js.map +1 -0
- package/dist/esm/factories/types.d.ts +75 -0
- package/dist/esm/factories/types.d.ts.map +1 -0
- package/dist/esm/factories/types.js +28 -0
- package/dist/esm/factories/types.js.map +1 -0
- package/dist/esm/global-lb/glb.d.ts +29 -0
- package/dist/esm/global-lb/glb.d.ts.map +1 -0
- package/dist/esm/global-lb/glb.js +220 -0
- package/dist/esm/global-lb/glb.js.map +1 -0
- package/dist/esm/global-lb/index.d.ts +8 -0
- package/dist/esm/global-lb/index.d.ts.map +1 -0
- package/dist/esm/global-lb/index.js +11 -0
- package/dist/esm/global-lb/index.js.map +1 -0
- package/dist/esm/global-lb/interfaces.d.ts +62 -0
- package/dist/esm/global-lb/interfaces.d.ts.map +1 -0
- package/dist/esm/global-lb/interfaces.js +11 -0
- package/dist/esm/global-lb/interfaces.js.map +1 -0
- package/dist/esm/index.d.ts +28 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +72 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/network/cidr.d.ts +92 -0
- package/dist/esm/network/cidr.d.ts.map +1 -0
- package/dist/esm/network/cidr.js +189 -0
- package/dist/esm/network/cidr.js.map +1 -0
- package/dist/esm/network/index.d.ts +8 -0
- package/dist/esm/network/index.d.ts.map +1 -0
- package/dist/esm/network/index.js +17 -0
- package/dist/esm/network/index.js.map +1 -0
- package/dist/esm/network/interfaces.d.ts +60 -0
- package/dist/esm/network/interfaces.d.ts.map +1 -0
- package/dist/esm/network/interfaces.js +12 -0
- package/dist/esm/network/interfaces.js.map +1 -0
- package/dist/esm/platform/index.d.ts +8 -0
- package/dist/esm/platform/index.d.ts.map +1 -0
- package/dist/esm/platform/index.js +11 -0
- package/dist/esm/platform/index.js.map +1 -0
- package/dist/esm/platform/interfaces.d.ts +86 -0
- package/dist/esm/platform/interfaces.d.ts.map +1 -0
- package/dist/esm/platform/interfaces.js +12 -0
- package/dist/esm/platform/interfaces.js.map +1 -0
- package/dist/esm/platform/stack.d.ts +32 -0
- package/dist/esm/platform/stack.d.ts.map +1 -0
- package/dist/esm/platform/stack.js +258 -0
- package/dist/esm/platform/stack.js.map +1 -0
- package/dist/esm/queue/index.d.ts +7 -0
- package/dist/esm/queue/index.d.ts.map +1 -0
- package/dist/esm/queue/index.js +8 -0
- package/dist/esm/queue/index.js.map +1 -0
- package/dist/esm/queue/interfaces.d.ts +46 -0
- package/dist/esm/queue/interfaces.d.ts.map +1 -0
- package/dist/esm/queue/interfaces.js +11 -0
- package/dist/esm/queue/interfaces.js.map +1 -0
- package/dist/esm/secrets/index.d.ts +7 -0
- package/dist/esm/secrets/index.d.ts.map +1 -0
- package/dist/esm/secrets/index.js +8 -0
- package/dist/esm/secrets/index.js.map +1 -0
- package/dist/esm/secrets/interfaces.d.ts +73 -0
- package/dist/esm/secrets/interfaces.d.ts.map +1 -0
- package/dist/esm/secrets/interfaces.js +11 -0
- package/dist/esm/secrets/interfaces.js.map +1 -0
- package/dist/esm/storage/index.d.ts +7 -0
- package/dist/esm/storage/index.d.ts.map +1 -0
- package/dist/esm/storage/index.js +8 -0
- package/dist/esm/storage/index.js.map +1 -0
- package/dist/esm/storage/interfaces.d.ts +63 -0
- package/dist/esm/storage/interfaces.d.ts.map +1 -0
- package/dist/esm/storage/interfaces.js +11 -0
- package/dist/esm/storage/interfaces.js.map +1 -0
- package/dist/esm/types/cloud-target.d.ts +89 -0
- package/dist/esm/types/cloud-target.d.ts.map +1 -0
- package/dist/esm/types/cloud-target.js +73 -0
- package/dist/esm/types/cloud-target.js.map +1 -0
- package/dist/esm/types/errors.d.ts +96 -0
- package/dist/esm/types/errors.d.ts.map +1 -0
- package/dist/esm/types/errors.js +127 -0
- package/dist/esm/types/errors.js.map +1 -0
- package/dist/esm/types/index.d.ts +10 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +33 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/tags.d.ts +53 -0
- package/dist/esm/types/tags.d.ts.map +1 -0
- package/dist/esm/types/tags.js +110 -0
- package/dist/esm/types/tags.js.map +1 -0
- package/dist/esm/types/validation.d.ts +63 -0
- package/dist/esm/types/validation.d.ts.map +1 -0
- package/dist/esm/types/validation.js +158 -0
- package/dist/esm/types/validation.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Key Vault implementation.
|
|
3
|
+
*
|
|
4
|
+
* @module azure/secrets
|
|
5
|
+
*/
|
|
6
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
7
|
+
import type { ISecrets, ISecretsConfig } from "../secrets";
|
|
8
|
+
/** Azure-specific secrets options. */
|
|
9
|
+
export interface IAzureSecretsOptions {
|
|
10
|
+
/** Resource group name. Required for Azure. */
|
|
11
|
+
readonly resourceGroupName: pulumi.Input<string>;
|
|
12
|
+
/** Azure AD tenant ID. Required for Key Vault access policies. */
|
|
13
|
+
readonly tenantId: pulumi.Input<string>;
|
|
14
|
+
/** Object ID of the principal that should have access to secrets. */
|
|
15
|
+
readonly objectId?: pulumi.Input<string>;
|
|
16
|
+
/** Key Vault SKU. Default: "standard". */
|
|
17
|
+
readonly sku?: "standard" | "premium";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create an Azure Key Vault for secret management.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const secrets = createAzureSecrets("prod", {
|
|
25
|
+
* cloud: "azure",
|
|
26
|
+
* backend: "azure-key-vault",
|
|
27
|
+
* }, {
|
|
28
|
+
* resourceGroupName: "my-rg",
|
|
29
|
+
* tenantId: "00000000-0000-0000-0000-000000000000",
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* secrets.putSecret("database", { host: "db.example.com", password: dbPassword });
|
|
33
|
+
* const pw = secrets.getSecretRef({ path: "database", key: "password" });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function createAzureSecrets(name: string, config: ISecretsConfig, options: IAzureSecretsOptions): ISecrets;
|
|
37
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/azure/secrets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAc,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGvE,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,GAC5B,QAAQ,CAqGV"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Azure Key Vault implementation.
|
|
4
|
+
*
|
|
5
|
+
* @module azure/secrets
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.createAzureSecrets = createAzureSecrets;
|
|
42
|
+
const azure = __importStar(require("@pulumi/azure-native"));
|
|
43
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
44
|
+
const types_1 = require("../types");
|
|
45
|
+
/**
|
|
46
|
+
* Create an Azure Key Vault for secret management.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const secrets = createAzureSecrets("prod", {
|
|
51
|
+
* cloud: "azure",
|
|
52
|
+
* backend: "azure-key-vault",
|
|
53
|
+
* }, {
|
|
54
|
+
* resourceGroupName: "my-rg",
|
|
55
|
+
* tenantId: "00000000-0000-0000-0000-000000000000",
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* secrets.putSecret("database", { host: "db.example.com", password: dbPassword });
|
|
59
|
+
* const pw = secrets.getSecretRef({ path: "database", key: "password" });
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
function createAzureSecrets(name, config, options) {
|
|
63
|
+
const cloud = Array.isArray(config.cloud) ? (config.cloud[0] ?? "azure") : config.cloud;
|
|
64
|
+
const target = (0, types_1.resolveCloudTarget)(cloud);
|
|
65
|
+
const tags = config.tags ?? {};
|
|
66
|
+
const rgName = options.resourceGroupName;
|
|
67
|
+
// Key Vault names must be 3-24 chars, alphanumeric + hyphens
|
|
68
|
+
const vaultName = name.replace(/[^a-zA-Z0-9-]/g, "-").substring(0, 24);
|
|
69
|
+
const accessPolicies = [];
|
|
70
|
+
if (options.objectId) {
|
|
71
|
+
accessPolicies.push({
|
|
72
|
+
tenantId: options.tenantId,
|
|
73
|
+
objectId: options.objectId,
|
|
74
|
+
permissions: {
|
|
75
|
+
secrets: ["Get", "List", "Set", "Delete"],
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
const vault = new azure.keyvault.Vault(`${name}-kv`, {
|
|
80
|
+
vaultName,
|
|
81
|
+
resourceGroupName: rgName,
|
|
82
|
+
properties: {
|
|
83
|
+
tenantId: options.tenantId,
|
|
84
|
+
sku: {
|
|
85
|
+
family: "A",
|
|
86
|
+
name: options.sku === "premium"
|
|
87
|
+
? azure.keyvault.SkuName.Premium
|
|
88
|
+
: azure.keyvault.SkuName.Standard,
|
|
89
|
+
},
|
|
90
|
+
enableSoftDelete: true,
|
|
91
|
+
softDeleteRetentionInDays: 90,
|
|
92
|
+
enableRbacAuthorization: true,
|
|
93
|
+
accessPolicies,
|
|
94
|
+
},
|
|
95
|
+
tags: { ...tags, Name: `${name}-kv` },
|
|
96
|
+
});
|
|
97
|
+
// Track created secrets for getSecretRef lookups
|
|
98
|
+
const secretResources = new Map();
|
|
99
|
+
return {
|
|
100
|
+
name,
|
|
101
|
+
cloud: target,
|
|
102
|
+
backend: "azure-key-vault",
|
|
103
|
+
nativeResource: vault,
|
|
104
|
+
putSecret(path, data) {
|
|
105
|
+
// Azure Key Vault stores one value per secret, so we JSON-encode multi-key data
|
|
106
|
+
const secretValue = pulumi.all(data).apply((resolved) => JSON.stringify(resolved));
|
|
107
|
+
// Key Vault secret names: alphanumeric + hyphens
|
|
108
|
+
const secretName = path.replace(/[^a-zA-Z0-9-]/g, "-");
|
|
109
|
+
const secret = new azure.keyvault.Secret(`${name}-${secretName}`, {
|
|
110
|
+
secretName,
|
|
111
|
+
vaultName: vault.name,
|
|
112
|
+
resourceGroupName: rgName,
|
|
113
|
+
properties: {
|
|
114
|
+
value: secretValue,
|
|
115
|
+
contentType: "application/json",
|
|
116
|
+
},
|
|
117
|
+
tags: { ...tags, path },
|
|
118
|
+
});
|
|
119
|
+
secretResources.set(path, secret);
|
|
120
|
+
},
|
|
121
|
+
getSecretRef(ref) {
|
|
122
|
+
const secret = secretResources.get(ref.path);
|
|
123
|
+
const { key } = ref;
|
|
124
|
+
if (!secret) {
|
|
125
|
+
// Lookup existing secret by name convention
|
|
126
|
+
const secretName = ref.path.replace(/[^a-zA-Z0-9-]/g, "-");
|
|
127
|
+
const lookup = azure.keyvault.getSecretOutput({
|
|
128
|
+
secretName,
|
|
129
|
+
vaultName: vault.name,
|
|
130
|
+
resourceGroupName: rgName,
|
|
131
|
+
});
|
|
132
|
+
if (key) {
|
|
133
|
+
return lookup.properties.apply((props) => {
|
|
134
|
+
const parsed = JSON.parse(props.value ?? "{}");
|
|
135
|
+
return parsed[key] ?? "";
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return lookup.properties.apply((props) => props.value ?? "");
|
|
139
|
+
}
|
|
140
|
+
if (key) {
|
|
141
|
+
return secret.properties.apply((props) => {
|
|
142
|
+
const parsed = JSON.parse(props.value ?? "{}");
|
|
143
|
+
return parsed[key] ?? "";
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return secret.properties.apply((props) => props.value ?? "");
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/azure/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache interfaces for @reyemtech/nimbus.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts Redis/Memcached/Valkey provisioning — managed services
|
|
5
|
+
* (ElastiCache, Azure Cache, Memorystore) or Helm-based (Bitnami Redis).
|
|
6
|
+
*
|
|
7
|
+
* @module cache/interfaces
|
|
8
|
+
*/
|
|
9
|
+
import type * as pulumi from "@pulumi/pulumi";
|
|
10
|
+
import type { CloudArg, ResolvedCloudTarget } from "../types";
|
|
11
|
+
import type { ISecretRef } from "../secrets";
|
|
12
|
+
/** Supported cache engines. */
|
|
13
|
+
export type CacheEngine = "redis" | "memcached" | "valkey";
|
|
14
|
+
/** Cache deployment mode. */
|
|
15
|
+
export type CacheMode = "managed" | "helm";
|
|
16
|
+
/** Cache architecture. */
|
|
17
|
+
export type CacheArchitecture = "standalone" | "replication" | "cluster";
|
|
18
|
+
/**
|
|
19
|
+
* Cache configuration input.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // Bitnami Redis (ReyemTech pattern)
|
|
24
|
+
* const config: ICacheConfig = {
|
|
25
|
+
* cloud: "aws",
|
|
26
|
+
* engine: "redis",
|
|
27
|
+
* mode: "helm",
|
|
28
|
+
* architecture: "replication",
|
|
29
|
+
* replicas: 2,
|
|
30
|
+
* storageGb: 5,
|
|
31
|
+
* metrics: true,
|
|
32
|
+
* };
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export interface ICacheConfig {
|
|
36
|
+
readonly cloud: CloudArg;
|
|
37
|
+
readonly engine: CacheEngine;
|
|
38
|
+
readonly mode?: CacheMode;
|
|
39
|
+
readonly architecture?: CacheArchitecture;
|
|
40
|
+
readonly replicas?: number;
|
|
41
|
+
/** Instance class for managed caches. */
|
|
42
|
+
readonly instanceClass?: string;
|
|
43
|
+
/** Persistent storage size in GB (for Helm-based). */
|
|
44
|
+
readonly storageGb?: number;
|
|
45
|
+
/** Enable Prometheus metrics exporter. */
|
|
46
|
+
readonly metrics?: boolean;
|
|
47
|
+
readonly tags?: Readonly<Record<string, string>>;
|
|
48
|
+
}
|
|
49
|
+
/** Cache output — the created cache resource. */
|
|
50
|
+
export interface ICache {
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly cloud: ResolvedCloudTarget;
|
|
53
|
+
readonly engine: CacheEngine;
|
|
54
|
+
readonly endpoint: pulumi.Output<string>;
|
|
55
|
+
readonly port: pulumi.Output<number>;
|
|
56
|
+
readonly secretRef?: ISecretRef;
|
|
57
|
+
/** Escape hatch: cloud-native or Helm release resource. */
|
|
58
|
+
readonly nativeResource: pulumi.Resource;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/cache/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE3D,6BAA6B;AAC7B,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,MAAM,CAAC;AAEX,0BAA0B;AAC1B,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,aAAa,GACb,SAAS,CAAC;AAEd;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,iDAAiD;AACjD,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAEhC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cache interfaces for @reyemtech/nimbus.
|
|
4
|
+
*
|
|
5
|
+
* Abstracts Redis/Memcached/Valkey provisioning — managed services
|
|
6
|
+
* (ElastiCache, Azure Cache, Memorystore) or Helm-based (Bitnami Redis).
|
|
7
|
+
*
|
|
8
|
+
* @module cache/interfaces
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/cache/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cluster module — Kubernetes cluster provisioning abstraction.
|
|
3
|
+
*
|
|
4
|
+
* @module cluster
|
|
5
|
+
*/
|
|
6
|
+
export type { INodeTaint, INodePool, IClusterConfig, ICluster, IEksClusterExtensions, IAksClusterExtensions, IGkeClusterExtensions, ProviderClusterExtensions, } from "./interfaces";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cluster/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cluster/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cluster interfaces for @reyemtech/nimbus.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts Kubernetes cluster provisioning across EKS, AKS, and GKE.
|
|
5
|
+
* Supports EKS Auto Mode, AKS virtual nodes, spot instances, and
|
|
6
|
+
* multiple node pool configurations.
|
|
7
|
+
*
|
|
8
|
+
* @module cluster/interfaces
|
|
9
|
+
*/
|
|
10
|
+
import type * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
import type * as k8s from "@pulumi/kubernetes";
|
|
12
|
+
import type { CloudArg, ResolvedCloudTarget } from "../types";
|
|
13
|
+
/** Kubernetes node taint. */
|
|
14
|
+
export interface INodeTaint {
|
|
15
|
+
readonly key: string;
|
|
16
|
+
readonly value: string;
|
|
17
|
+
readonly effect: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Node pool configuration.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const pool: INodePool = {
|
|
25
|
+
* name: "workers",
|
|
26
|
+
* instanceType: "c6a.large",
|
|
27
|
+
* minNodes: 2,
|
|
28
|
+
* maxNodes: 8,
|
|
29
|
+
* spot: true,
|
|
30
|
+
* labels: { "workload-type": "general" },
|
|
31
|
+
* };
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export interface INodePool {
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly instanceType: string;
|
|
37
|
+
readonly minNodes: number;
|
|
38
|
+
readonly maxNodes: number;
|
|
39
|
+
readonly desiredNodes?: number;
|
|
40
|
+
readonly spot?: boolean;
|
|
41
|
+
readonly labels?: Readonly<Record<string, string>>;
|
|
42
|
+
readonly taints?: ReadonlyArray<INodeTaint>;
|
|
43
|
+
/** Node pool mode (AKS concept: "system" vs "user"). Maps to labels on other providers. */
|
|
44
|
+
readonly mode?: "system" | "user";
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Cluster configuration input.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const config: IClusterConfig = {
|
|
52
|
+
* cloud: "aws",
|
|
53
|
+
* version: "1.32",
|
|
54
|
+
* nodePools: [
|
|
55
|
+
* { name: "system", instanceType: "t3.medium", minNodes: 2, maxNodes: 4 },
|
|
56
|
+
* { name: "workers", instanceType: "c6a.large", minNodes: 2, maxNodes: 8, spot: true },
|
|
57
|
+
* ],
|
|
58
|
+
* };
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export interface IClusterConfig {
|
|
62
|
+
readonly cloud: CloudArg;
|
|
63
|
+
readonly version?: string;
|
|
64
|
+
readonly nodePools: ReadonlyArray<INodePool>;
|
|
65
|
+
/** EKS Auto Mode: no explicit node groups, AWS manages node selection. */
|
|
66
|
+
readonly autoMode?: boolean;
|
|
67
|
+
/** AKS: enable Azure Container Instances virtual node. */
|
|
68
|
+
readonly virtualNodes?: boolean;
|
|
69
|
+
/** Optional: attach to an existing network. */
|
|
70
|
+
readonly networkId?: pulumi.Input<string>;
|
|
71
|
+
readonly tags?: Readonly<Record<string, string>>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Cluster output — the created Kubernetes cluster resource.
|
|
75
|
+
*
|
|
76
|
+
* Provides a unified interface regardless of the underlying cloud provider.
|
|
77
|
+
* Use `nativeResource` for cloud-specific operations via escape hatch.
|
|
78
|
+
*/
|
|
79
|
+
export interface ICluster {
|
|
80
|
+
readonly name: string;
|
|
81
|
+
readonly cloud: ResolvedCloudTarget;
|
|
82
|
+
readonly endpoint: pulumi.Output<string>;
|
|
83
|
+
readonly kubeconfig: pulumi.Output<string>;
|
|
84
|
+
readonly version: pulumi.Output<string>;
|
|
85
|
+
readonly nodePools: ReadonlyArray<INodePool>;
|
|
86
|
+
/**
|
|
87
|
+
* Escape hatch: access the cloud-native cluster resource.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const eksCluster = cluster.nativeResource as aws.eks.Cluster;
|
|
92
|
+
* eksCluster.arn.apply(arn => console.log("EKS ARN:", arn));
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
readonly nativeResource: pulumi.Resource;
|
|
96
|
+
/** Pulumi K8s provider for deploying workloads to this cluster. */
|
|
97
|
+
readonly provider: k8s.Provider;
|
|
98
|
+
}
|
|
99
|
+
/** AWS-specific cluster extensions for EKS. */
|
|
100
|
+
export interface IEksClusterExtensions {
|
|
101
|
+
readonly provider: "aws";
|
|
102
|
+
readonly autoMode?: boolean;
|
|
103
|
+
}
|
|
104
|
+
/** Azure-specific cluster extensions for AKS. */
|
|
105
|
+
export interface IAksClusterExtensions {
|
|
106
|
+
readonly provider: "azure";
|
|
107
|
+
readonly virtualNodes?: boolean;
|
|
108
|
+
readonly azureCni?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/** GCP-specific cluster extensions for GKE. */
|
|
111
|
+
export interface IGkeClusterExtensions {
|
|
112
|
+
readonly provider: "gcp";
|
|
113
|
+
readonly autopilot?: boolean;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Discriminated union of provider-specific cluster extensions.
|
|
117
|
+
* Use `provider` field to narrow the type in a switch/case.
|
|
118
|
+
*/
|
|
119
|
+
export type ProviderClusterExtensions = IEksClusterExtensions | IAksClusterExtensions | IGkeClusterExtensions;
|
|
120
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/cluster/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cluster interfaces for @reyemtech/nimbus.
|
|
4
|
+
*
|
|
5
|
+
* Abstracts Kubernetes cluster provisioning across EKS, AKS, and GKE.
|
|
6
|
+
* Supports EKS Auto Mode, AKS virtual nodes, spot instances, and
|
|
7
|
+
* multiple node pool configurations.
|
|
8
|
+
*
|
|
9
|
+
* @module cluster/interfaces
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/cluster/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database interfaces for @reyemtech/nimbus.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts database provisioning — managed services (RDS/Aurora,
|
|
5
|
+
* Azure Database, Cloud SQL) or Kubernetes operators (PXC, CloudNativePG,
|
|
6
|
+
* MariaDB Operator, MongoDB Operator).
|
|
7
|
+
*
|
|
8
|
+
* @module database/interfaces
|
|
9
|
+
*/
|
|
10
|
+
import type * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
import type { CloudArg, ResolvedCloudTarget } from "../types";
|
|
12
|
+
import type { ISecretRef } from "../secrets";
|
|
13
|
+
/** Supported database engines. */
|
|
14
|
+
export type DatabaseEngine = "mysql" | "mariadb" | "postgresql" | "mongodb";
|
|
15
|
+
/** Database deployment mode. */
|
|
16
|
+
export type DatabaseMode = "managed" | "operator";
|
|
17
|
+
/** Available database operators for in-cluster mode. */
|
|
18
|
+
export type DatabaseOperator = "pxc" | "mariadb-operator" | "cloudnative-pg" | "mongodb-operator";
|
|
19
|
+
/** Database backup configuration. */
|
|
20
|
+
export interface IDatabaseBackupConfig {
|
|
21
|
+
readonly enabled: boolean;
|
|
22
|
+
/** Cron schedule (e.g., "0 3 * * *" for daily at 03:00 UTC). */
|
|
23
|
+
readonly schedule?: string;
|
|
24
|
+
readonly retentionDays?: number;
|
|
25
|
+
/** Backup destination (S3 bucket, Azure Blob container, etc.). */
|
|
26
|
+
readonly storageTarget?: string;
|
|
27
|
+
/** Enable point-in-time recovery (PXC: binlog collector, RDS: native PITR). */
|
|
28
|
+
readonly pitr?: boolean;
|
|
29
|
+
/** PITR upload interval in seconds (PXC-specific). Default: 300. */
|
|
30
|
+
readonly pitrIntervalSeconds?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Database configuration input.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Managed Aurora MySQL (DoNotCarry pattern)
|
|
38
|
+
* const config: IDatabaseConfig = {
|
|
39
|
+
* cloud: "aws",
|
|
40
|
+
* engine: "mysql",
|
|
41
|
+
* mode: "managed",
|
|
42
|
+
* instanceClass: "db.t3.medium",
|
|
43
|
+
* replicas: 2,
|
|
44
|
+
* highAvailability: true,
|
|
45
|
+
* };
|
|
46
|
+
*
|
|
47
|
+
* // PXC Operator (ReyemTech pattern)
|
|
48
|
+
* const config: IDatabaseConfig = {
|
|
49
|
+
* cloud: "aws",
|
|
50
|
+
* engine: "mysql",
|
|
51
|
+
* mode: "operator",
|
|
52
|
+
* operator: "pxc",
|
|
53
|
+
* replicas: 3,
|
|
54
|
+
* storageGb: 10,
|
|
55
|
+
* backup: { enabled: true, schedule: "0 3 * * *", retentionDays: 7, pitr: true },
|
|
56
|
+
* };
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export interface IDatabaseConfig {
|
|
60
|
+
readonly cloud: CloudArg;
|
|
61
|
+
readonly engine: DatabaseEngine;
|
|
62
|
+
readonly mode: DatabaseMode;
|
|
63
|
+
/** Required when mode is "operator". */
|
|
64
|
+
readonly operator?: DatabaseOperator;
|
|
65
|
+
readonly version?: string;
|
|
66
|
+
/** Instance class for managed databases (e.g., "db.t3.medium"). */
|
|
67
|
+
readonly instanceClass?: string;
|
|
68
|
+
/** Number of replicas. Default: 1 (managed), 3 (operator). */
|
|
69
|
+
readonly replicas?: number;
|
|
70
|
+
/** Storage size in GB. */
|
|
71
|
+
readonly storageGb?: number;
|
|
72
|
+
readonly highAvailability?: boolean;
|
|
73
|
+
readonly backup?: IDatabaseBackupConfig;
|
|
74
|
+
readonly tags?: Readonly<Record<string, string>>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Database output — the created database resource.
|
|
78
|
+
*
|
|
79
|
+
* Provides a unified connection interface regardless of deployment mode.
|
|
80
|
+
*/
|
|
81
|
+
export interface IDatabase {
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly cloud: ResolvedCloudTarget;
|
|
84
|
+
readonly engine: DatabaseEngine;
|
|
85
|
+
readonly mode: DatabaseMode;
|
|
86
|
+
readonly endpoint: pulumi.Output<string>;
|
|
87
|
+
readonly port: pulumi.Output<number>;
|
|
88
|
+
/** Reference to database credentials in the secrets backend. */
|
|
89
|
+
readonly secretRef: ISecretRef;
|
|
90
|
+
/** Escape hatch: cloud-native or operator CRD resource. */
|
|
91
|
+
readonly nativeResource: pulumi.Resource;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/database/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5E,gCAAgC;AAChC,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,UAAU,CAAC;AAEf,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAE/B,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Database interfaces for @reyemtech/nimbus.
|
|
4
|
+
*
|
|
5
|
+
* Abstracts database provisioning — managed services (RDS/Aurora,
|
|
6
|
+
* Azure Database, Cloud SQL) or Kubernetes operators (PXC, CloudNativePG,
|
|
7
|
+
* MariaDB Operator, MongoDB Operator).
|
|
8
|
+
*
|
|
9
|
+
* @module database/interfaces
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/database/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dns/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dns/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|