@reyemtech/nimbus 0.1.0 → 1.0.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/README.md +71 -311
- package/dist/cjs/aws/dns.d.ts.map +1 -1
- package/dist/cjs/aws/dns.js +3 -1
- package/dist/cjs/aws/dns.js.map +1 -1
- package/dist/cjs/aws/index.d.ts +1 -0
- package/dist/cjs/aws/index.d.ts.map +1 -1
- package/dist/cjs/aws/index.js +3 -1
- package/dist/cjs/aws/index.js.map +1 -1
- package/dist/cjs/aws/network.d.ts.map +1 -1
- package/dist/cjs/aws/network.js +3 -1
- package/dist/cjs/aws/network.js.map +1 -1
- package/dist/cjs/aws/state.d.ts +32 -0
- package/dist/cjs/aws/state.d.ts.map +1 -0
- package/dist/cjs/aws/state.js +209 -0
- package/dist/cjs/aws/state.js.map +1 -0
- package/dist/cjs/azure/cluster.d.ts.map +1 -1
- package/dist/cjs/azure/cluster.js +15 -5
- package/dist/cjs/azure/cluster.js.map +1 -1
- package/dist/cjs/azure/dns.d.ts.map +1 -1
- package/dist/cjs/azure/dns.js +3 -1
- package/dist/cjs/azure/dns.js.map +1 -1
- package/dist/cjs/azure/index.d.ts +1 -0
- package/dist/cjs/azure/index.d.ts.map +1 -1
- package/dist/cjs/azure/index.js +3 -1
- package/dist/cjs/azure/index.js.map +1 -1
- package/dist/cjs/azure/network.d.ts.map +1 -1
- package/dist/cjs/azure/network.js +9 -3
- package/dist/cjs/azure/network.js.map +1 -1
- package/dist/cjs/azure/secrets.d.ts.map +1 -1
- package/dist/cjs/azure/secrets.js +6 -2
- package/dist/cjs/azure/secrets.js.map +1 -1
- package/dist/cjs/azure/state.d.ts +30 -0
- package/dist/cjs/azure/state.d.ts.map +1 -0
- package/dist/cjs/azure/state.js +115 -0
- package/dist/cjs/azure/state.js.map +1 -0
- package/dist/cjs/cache/interfaces.d.ts +12 -0
- package/dist/cjs/cache/interfaces.d.ts.map +1 -1
- package/dist/cjs/cli/templates.d.ts +67 -0
- package/dist/cjs/cli/templates.d.ts.map +1 -0
- package/dist/cjs/cli/templates.js +752 -0
- package/dist/cjs/cli/templates.js.map +1 -0
- package/dist/cjs/cli.d.ts +15 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +209 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/cluster/interfaces.d.ts +28 -0
- package/dist/cjs/cluster/interfaces.d.ts.map +1 -1
- package/dist/cjs/database/interfaces.d.ts +15 -0
- package/dist/cjs/database/interfaces.d.ts.map +1 -1
- package/dist/cjs/dns/interfaces.d.ts +11 -0
- package/dist/cjs/dns/interfaces.d.ts.map +1 -1
- package/dist/cjs/factories/cluster.d.ts +4 -3
- package/dist/cjs/factories/cluster.d.ts.map +1 -1
- package/dist/cjs/factories/cluster.js +46 -11
- package/dist/cjs/factories/cluster.js.map +1 -1
- package/dist/cjs/factories/dns.d.ts +3 -2
- package/dist/cjs/factories/dns.d.ts.map +1 -1
- package/dist/cjs/factories/dns.js +44 -9
- package/dist/cjs/factories/dns.js.map +1 -1
- package/dist/cjs/factories/index.d.ts +1 -0
- package/dist/cjs/factories/index.d.ts.map +1 -1
- package/dist/cjs/factories/index.js +3 -1
- package/dist/cjs/factories/index.js.map +1 -1
- package/dist/cjs/factories/network.d.ts +4 -3
- package/dist/cjs/factories/network.d.ts.map +1 -1
- package/dist/cjs/factories/network.js +46 -11
- package/dist/cjs/factories/network.js.map +1 -1
- package/dist/cjs/factories/secrets.d.ts +4 -3
- package/dist/cjs/factories/secrets.d.ts.map +1 -1
- package/dist/cjs/factories/secrets.js +45 -10
- package/dist/cjs/factories/secrets.js.map +1 -1
- package/dist/cjs/factories/state.d.ts +33 -0
- package/dist/cjs/factories/state.d.ts.map +1 -0
- package/dist/cjs/factories/state.js +96 -0
- package/dist/cjs/factories/state.js.map +1 -0
- package/dist/cjs/factories/types.d.ts +22 -0
- package/dist/cjs/factories/types.d.ts.map +1 -1
- package/dist/cjs/factories/types.js +18 -0
- package/dist/cjs/factories/types.js.map +1 -1
- package/dist/cjs/global-lb/glb.d.ts.map +1 -1
- package/dist/cjs/global-lb/glb.js +23 -9
- package/dist/cjs/global-lb/glb.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/network/cidr.d.ts +34 -0
- package/dist/cjs/network/cidr.d.ts.map +1 -1
- package/dist/cjs/network/cidr.js +34 -0
- package/dist/cjs/network/cidr.js.map +1 -1
- package/dist/cjs/network/interfaces.d.ts +16 -0
- package/dist/cjs/network/interfaces.d.ts.map +1 -1
- package/dist/cjs/platform/interfaces.d.ts +1 -1
- package/dist/cjs/platform/interfaces.d.ts.map +1 -1
- package/dist/cjs/platform/stack.d.ts.map +1 -1
- package/dist/cjs/platform/stack.js +6 -1
- package/dist/cjs/platform/stack.js.map +1 -1
- package/dist/cjs/queue/interfaces.d.ts +8 -0
- package/dist/cjs/queue/interfaces.d.ts.map +1 -1
- package/dist/cjs/secrets/interfaces.d.ts +5 -0
- package/dist/cjs/secrets/interfaces.d.ts.map +1 -1
- package/dist/cjs/state/index.d.ts +7 -0
- package/dist/cjs/state/index.d.ts.map +1 -0
- package/dist/cjs/state/index.js +8 -0
- package/dist/cjs/state/index.js.map +1 -0
- package/dist/cjs/state/interfaces.d.ts +82 -0
- package/dist/cjs/state/interfaces.d.ts.map +1 -0
- package/dist/cjs/state/interfaces.js +11 -0
- package/dist/cjs/state/interfaces.js.map +1 -0
- package/dist/cjs/storage/interfaces.d.ts +17 -0
- package/dist/cjs/storage/interfaces.d.ts.map +1 -1
- package/dist/cjs/types/cloud-target.d.ts +12 -0
- package/dist/cjs/types/cloud-target.d.ts.map +1 -1
- package/dist/cjs/types/cloud-target.js +12 -0
- package/dist/cjs/types/cloud-target.js.map +1 -1
- package/dist/cjs/types/tags.d.ts +16 -0
- package/dist/cjs/types/tags.d.ts.map +1 -1
- package/dist/cjs/types/tags.js +16 -0
- package/dist/cjs/types/tags.js.map +1 -1
- package/dist/cjs/types/validation.d.ts.map +1 -1
- package/dist/cjs/types/validation.js +14 -11
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +7 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +11 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/provider-loader.d.ts +14 -0
- package/dist/cjs/utils/provider-loader.d.ts.map +1 -0
- package/dist/cjs/utils/provider-loader.js +66 -0
- package/dist/cjs/utils/provider-loader.js.map +1 -0
- package/dist/esm/aws/dns.d.ts.map +1 -1
- package/dist/esm/aws/dns.js +3 -1
- package/dist/esm/aws/dns.js.map +1 -1
- package/dist/esm/aws/index.d.ts +1 -0
- package/dist/esm/aws/index.d.ts.map +1 -1
- package/dist/esm/aws/index.js +3 -1
- package/dist/esm/aws/index.js.map +1 -1
- package/dist/esm/aws/network.d.ts.map +1 -1
- package/dist/esm/aws/network.js +3 -1
- package/dist/esm/aws/network.js.map +1 -1
- package/dist/esm/aws/state.d.ts +32 -0
- package/dist/esm/aws/state.d.ts.map +1 -0
- package/dist/esm/aws/state.js +209 -0
- package/dist/esm/aws/state.js.map +1 -0
- package/dist/esm/azure/cluster.d.ts.map +1 -1
- package/dist/esm/azure/cluster.js +15 -5
- package/dist/esm/azure/cluster.js.map +1 -1
- package/dist/esm/azure/dns.d.ts.map +1 -1
- package/dist/esm/azure/dns.js +3 -1
- package/dist/esm/azure/dns.js.map +1 -1
- package/dist/esm/azure/index.d.ts +1 -0
- package/dist/esm/azure/index.d.ts.map +1 -1
- package/dist/esm/azure/index.js +3 -1
- package/dist/esm/azure/index.js.map +1 -1
- package/dist/esm/azure/network.d.ts.map +1 -1
- package/dist/esm/azure/network.js +9 -3
- package/dist/esm/azure/network.js.map +1 -1
- package/dist/esm/azure/secrets.d.ts.map +1 -1
- package/dist/esm/azure/secrets.js +6 -2
- package/dist/esm/azure/secrets.js.map +1 -1
- package/dist/esm/azure/state.d.ts +30 -0
- package/dist/esm/azure/state.d.ts.map +1 -0
- package/dist/esm/azure/state.js +115 -0
- package/dist/esm/azure/state.js.map +1 -0
- package/dist/esm/cache/interfaces.d.ts +12 -0
- package/dist/esm/cache/interfaces.d.ts.map +1 -1
- package/dist/esm/cli/templates.d.ts +67 -0
- package/dist/esm/cli/templates.d.ts.map +1 -0
- package/dist/esm/cli/templates.js +752 -0
- package/dist/esm/cli/templates.js.map +1 -0
- package/dist/esm/cli.d.ts +15 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +176 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/cluster/interfaces.d.ts +28 -0
- package/dist/esm/cluster/interfaces.d.ts.map +1 -1
- package/dist/esm/database/interfaces.d.ts +15 -0
- package/dist/esm/database/interfaces.d.ts.map +1 -1
- package/dist/esm/dns/interfaces.d.ts +11 -0
- package/dist/esm/dns/interfaces.d.ts.map +1 -1
- package/dist/esm/factories/cluster.d.ts +4 -3
- package/dist/esm/factories/cluster.d.ts.map +1 -1
- package/dist/esm/factories/cluster.js +13 -11
- package/dist/esm/factories/cluster.js.map +1 -1
- package/dist/esm/factories/dns.d.ts +3 -2
- package/dist/esm/factories/dns.d.ts.map +1 -1
- package/dist/esm/factories/dns.js +11 -9
- package/dist/esm/factories/dns.js.map +1 -1
- package/dist/esm/factories/index.d.ts +1 -0
- package/dist/esm/factories/index.d.ts.map +1 -1
- package/dist/esm/factories/index.js +3 -1
- package/dist/esm/factories/index.js.map +1 -1
- package/dist/esm/factories/network.d.ts +4 -3
- package/dist/esm/factories/network.d.ts.map +1 -1
- package/dist/esm/factories/network.js +13 -11
- package/dist/esm/factories/network.js.map +1 -1
- package/dist/esm/factories/secrets.d.ts +4 -3
- package/dist/esm/factories/secrets.d.ts.map +1 -1
- package/dist/esm/factories/secrets.js +12 -10
- package/dist/esm/factories/secrets.js.map +1 -1
- package/dist/esm/factories/state.d.ts +33 -0
- package/dist/esm/factories/state.d.ts.map +1 -0
- package/dist/esm/factories/state.js +63 -0
- package/dist/esm/factories/state.js.map +1 -0
- package/dist/esm/factories/types.d.ts +22 -0
- package/dist/esm/factories/types.d.ts.map +1 -1
- package/dist/esm/factories/types.js +18 -0
- package/dist/esm/factories/types.js.map +1 -1
- package/dist/esm/global-lb/glb.d.ts.map +1 -1
- package/dist/esm/global-lb/glb.js +23 -9
- package/dist/esm/global-lb/glb.js.map +1 -1
- package/dist/esm/index.d.ts +2 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/network/cidr.d.ts +34 -0
- package/dist/esm/network/cidr.d.ts.map +1 -1
- package/dist/esm/network/cidr.js +34 -0
- package/dist/esm/network/cidr.js.map +1 -1
- package/dist/esm/network/interfaces.d.ts +16 -0
- package/dist/esm/network/interfaces.d.ts.map +1 -1
- package/dist/esm/platform/interfaces.d.ts +1 -1
- package/dist/esm/platform/interfaces.d.ts.map +1 -1
- package/dist/esm/platform/stack.d.ts.map +1 -1
- package/dist/esm/platform/stack.js +6 -1
- package/dist/esm/platform/stack.js.map +1 -1
- package/dist/esm/queue/interfaces.d.ts +8 -0
- package/dist/esm/queue/interfaces.d.ts.map +1 -1
- package/dist/esm/secrets/interfaces.d.ts +5 -0
- package/dist/esm/secrets/interfaces.d.ts.map +1 -1
- package/dist/esm/state/index.d.ts +7 -0
- package/dist/esm/state/index.d.ts.map +1 -0
- package/dist/esm/state/index.js +8 -0
- package/dist/esm/state/index.js.map +1 -0
- package/dist/esm/state/interfaces.d.ts +82 -0
- package/dist/esm/state/interfaces.d.ts.map +1 -0
- package/dist/esm/state/interfaces.js +11 -0
- package/dist/esm/state/interfaces.js.map +1 -0
- package/dist/esm/storage/interfaces.d.ts +17 -0
- package/dist/esm/storage/interfaces.d.ts.map +1 -1
- package/dist/esm/types/cloud-target.d.ts +12 -0
- package/dist/esm/types/cloud-target.d.ts.map +1 -1
- package/dist/esm/types/cloud-target.js +12 -0
- package/dist/esm/types/cloud-target.js.map +1 -1
- package/dist/esm/types/tags.d.ts +16 -0
- package/dist/esm/types/tags.d.ts.map +1 -1
- package/dist/esm/types/tags.js +16 -0
- package/dist/esm/types/tags.js.map +1 -1
- package/dist/esm/types/validation.d.ts.map +1 -1
- package/dist/esm/types/validation.js +14 -11
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/utils/index.d.ts +7 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +11 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/provider-loader.d.ts +14 -0
- package/dist/esm/utils/provider-loader.d.ts.map +1 -0
- package/dist/esm/utils/provider-loader.js +33 -0
- package/dist/esm/utils/provider-loader.js.map +1 -0
- package/package.json +41 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErE,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,wCAAwC;IACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErE,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,wCAAwC;IACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxD,6EAA6E;IAC7E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,sCAAsC;IACtC,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,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,CAGjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC,CAEjG"}
|
|
@@ -13,6 +13,15 @@ exports.isMultiCloud = isMultiCloud;
|
|
|
13
13
|
/**
|
|
14
14
|
* Extract the provider string from a CloudArg for single-target dispatch.
|
|
15
15
|
* For arrays, returns the first element's provider.
|
|
16
|
+
*
|
|
17
|
+
* @param cloud - A cloud provider string or CloudTarget object
|
|
18
|
+
* @returns The cloud provider identifier
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* extractProvider("aws"); // "aws"
|
|
23
|
+
* extractProvider({ provider: "azure", region: "eastus" }); // "azure"
|
|
24
|
+
* ```
|
|
16
25
|
*/
|
|
17
26
|
function extractProvider(cloud) {
|
|
18
27
|
if (typeof cloud === "string")
|
|
@@ -21,6 +30,15 @@ function extractProvider(cloud) {
|
|
|
21
30
|
}
|
|
22
31
|
/**
|
|
23
32
|
* Check if a CloudArg is a multi-cloud array.
|
|
33
|
+
*
|
|
34
|
+
* @param cloud - The cloud argument to check
|
|
35
|
+
* @returns True if the argument is an array of cloud targets
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* isMultiCloud("aws"); // false
|
|
40
|
+
* isMultiCloud(["aws", "azure"]); // true
|
|
41
|
+
* ```
|
|
24
42
|
*/
|
|
25
43
|
function isMultiCloud(cloud) {
|
|
26
44
|
return Array.isArray(cloud);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAgFH,0CAGC;AAcD,oCAEC;AAhCD;;;;;;;;;;;;GAYG;AACH,SAAgB,eAAe,CAAC,KAAkC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,KAAe;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../../../src/global-lb/glb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAE1B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../../../src/global-lb/glb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAE1B,MAAM,cAAc,CAAC;AAkBtB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,GAChC,mBAAmB,CAWrB"}
|
|
@@ -45,6 +45,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
45
45
|
exports.createGlobalLoadBalancer = createGlobalLoadBalancer;
|
|
46
46
|
const aws = __importStar(require("@pulumi/aws"));
|
|
47
47
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
48
|
+
const types_1 = require("../types");
|
|
49
|
+
/** Default health check interval in seconds. */
|
|
50
|
+
const DEFAULT_HEALTH_CHECK_INTERVAL_SECONDS = 30;
|
|
51
|
+
/** Default health check failure threshold. */
|
|
52
|
+
const DEFAULT_FAILURE_THRESHOLD = 3;
|
|
53
|
+
/** Equal weight for active-active routing (each endpoint gets the same weight). */
|
|
54
|
+
const EQUAL_ROUTING_WEIGHT = 100;
|
|
55
|
+
/** DNS record TTL in seconds for GLB records. */
|
|
56
|
+
const GLB_DNS_TTL_SECONDS = 60;
|
|
57
|
+
/** Geographic continent codes for geo-routing. */
|
|
58
|
+
const GEO_CONTINENTS = ["NA", "EU", "AP", "SA", "AF", "OC"];
|
|
48
59
|
/**
|
|
49
60
|
* Create a Global Load Balancer across multiple clusters.
|
|
50
61
|
*
|
|
@@ -70,6 +81,8 @@ function createGlobalLoadBalancer(name, config) {
|
|
|
70
81
|
case "azure-traffic-manager":
|
|
71
82
|
// Placeholder for future providers
|
|
72
83
|
return createRoute53Glb(name, config);
|
|
84
|
+
default:
|
|
85
|
+
(0, types_1.assertNever)(config.dnsProvider);
|
|
73
86
|
}
|
|
74
87
|
}
|
|
75
88
|
function createRoute53Glb(name, config) {
|
|
@@ -84,8 +97,8 @@ function createRoute53Glb(name, config) {
|
|
|
84
97
|
type: hc.protocol === "TCP" ? "TCP" : `${hc.protocol}_STR_MATCH`,
|
|
85
98
|
resourcePath: hc.protocol !== "TCP" ? hc.path : undefined,
|
|
86
99
|
port: hc.port,
|
|
87
|
-
requestInterval: hc.intervalSeconds ??
|
|
88
|
-
failureThreshold: hc.unhealthyThreshold ??
|
|
100
|
+
requestInterval: hc.intervalSeconds ?? DEFAULT_HEALTH_CHECK_INTERVAL_SECONDS,
|
|
101
|
+
failureThreshold: hc.unhealthyThreshold ?? DEFAULT_FAILURE_THRESHOLD,
|
|
89
102
|
fqdn: cluster.endpoint.apply((ep) => {
|
|
90
103
|
try {
|
|
91
104
|
return new URL(ep).hostname;
|
|
@@ -108,9 +121,9 @@ function createRoute53Glb(name, config) {
|
|
|
108
121
|
zoneId: zone.zoneId,
|
|
109
122
|
name: config.domain,
|
|
110
123
|
type: "CNAME",
|
|
111
|
-
ttl:
|
|
124
|
+
ttl: GLB_DNS_TTL_SECONDS,
|
|
112
125
|
setIdentifier: `${name}-${entry.cluster.name}`,
|
|
113
|
-
weightedRoutingPolicies: [{ weight:
|
|
126
|
+
weightedRoutingPolicies: [{ weight: EQUAL_ROUTING_WEIGHT }],
|
|
114
127
|
healthCheckId: entry.healthCheck.id,
|
|
115
128
|
records: [
|
|
116
129
|
entry.cluster.endpoint.apply((ep) => {
|
|
@@ -133,7 +146,7 @@ function createRoute53Glb(name, config) {
|
|
|
133
146
|
zoneId: zone.zoneId,
|
|
134
147
|
name: config.domain,
|
|
135
148
|
type: "CNAME",
|
|
136
|
-
ttl:
|
|
149
|
+
ttl: GLB_DNS_TTL_SECONDS,
|
|
137
150
|
setIdentifier: `${name}-${entry.cluster.name}`,
|
|
138
151
|
failoverRoutingPolicies: [{ type: i === 0 ? "PRIMARY" : "SECONDARY" }],
|
|
139
152
|
healthCheckId: entry.healthCheck.id,
|
|
@@ -153,16 +166,15 @@ function createRoute53Glb(name, config) {
|
|
|
153
166
|
}
|
|
154
167
|
case "geo": {
|
|
155
168
|
// Geolocation routing — defaults to continent-based
|
|
156
|
-
const continents = ["NA", "EU", "AP", "SA", "AF", "OC"];
|
|
157
169
|
for (const [i, entry] of healthChecks.entries()) {
|
|
158
170
|
new aws.route53.Record(`${name}-record-${i}`, {
|
|
159
171
|
zoneId: zone.zoneId,
|
|
160
172
|
name: config.domain,
|
|
161
173
|
type: "CNAME",
|
|
162
|
-
ttl:
|
|
174
|
+
ttl: GLB_DNS_TTL_SECONDS,
|
|
163
175
|
setIdentifier: `${name}-${entry.cluster.name}`,
|
|
164
176
|
geolocationRoutingPolicies: [
|
|
165
|
-
i <
|
|
177
|
+
i < GEO_CONTINENTS.length ? { continent: GEO_CONTINENTS[i] } : { country: "*" },
|
|
166
178
|
],
|
|
167
179
|
healthCheckId: entry.healthCheck.id,
|
|
168
180
|
records: [
|
|
@@ -185,7 +197,7 @@ function createRoute53Glb(name, config) {
|
|
|
185
197
|
zoneId: zone.zoneId,
|
|
186
198
|
name: config.domain,
|
|
187
199
|
type: "CNAME",
|
|
188
|
-
ttl:
|
|
200
|
+
ttl: GLB_DNS_TTL_SECONDS,
|
|
189
201
|
setIdentifier: `${name}-default`,
|
|
190
202
|
geolocationRoutingPolicies: [{ country: "*" }],
|
|
191
203
|
healthCheckId: fallback.healthCheck.id,
|
|
@@ -204,6 +216,8 @@ function createRoute53Glb(name, config) {
|
|
|
204
216
|
}
|
|
205
217
|
break;
|
|
206
218
|
}
|
|
219
|
+
default:
|
|
220
|
+
(0, types_1.assertNever)(config.strategy);
|
|
207
221
|
}
|
|
208
222
|
// Health status output
|
|
209
223
|
const healthStatus = pulumi.all(healthChecks.map((entry) => pulumi.all([pulumi.output(entry.cluster.name), entry.healthCheck.id]).apply(([clusterName]) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glb.js","sourceRoot":"","sources":["../../../src/global-lb/glb.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"glb.js","sourceRoot":"","sources":["../../../src/global-lb/glb.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -20,9 +20,8 @@ export type { DatabaseEngine, DatabaseMode, DatabaseOperator, IDatabaseBackupCon
|
|
|
20
20
|
export type { CacheEngine, CacheMode, CacheArchitecture, ICacheConfig, ICache } from "./cache";
|
|
21
21
|
export type { ILifecycleRule, ICorsRule, IObjectStorageConfig, IObjectStorage } from "./storage";
|
|
22
22
|
export type { QueueEngine, QueueMode, QueueType, IQueueConfig, IQueue } from "./queue";
|
|
23
|
+
export type { StateBackendType, IReplicationConfig, IStateLockConfig, IStateBackendConfig, IStateBackend, } from "./state";
|
|
23
24
|
export { type DnsProvider, type IPlatformComponentConfig, type IExternalDnsConfig, type IVaultConfig, type IPlatformStackConfig, type IPlatformStack, createPlatformStack, } from "./platform";
|
|
24
25
|
export { type RoutingStrategy, type GlbDnsProvider, type IHealthCheck, type IGlobalLoadBalancerConfig, type IClusterHealthStatus, type IGlobalLoadBalancer, createGlobalLoadBalancer, } from "./global-lb";
|
|
25
|
-
export { createNetwork, createCluster, createDns, createSecrets, type ICreateNetworkConfig, type ICreateClusterConfig, type ICreateDnsConfig, type ICreateSecretsConfig, type IProviderOptions, type IAwsProviderOptions, type IAzureProviderOptions, extractProvider, isMultiCloud, } from "./factories";
|
|
26
|
-
export { createAwsNetwork, type IAwsNetworkOptions, createEksCluster, type IEksOptions, createRoute53Dns, createAwsSecrets, } from "./aws";
|
|
27
|
-
export { createAzureNetwork, type IAzureNetworkOptions, createAksCluster, type IAksOptions, createAzureDns, type IAzureDnsOptions, createAzureSecrets, type IAzureSecretsOptions, } from "./azure";
|
|
26
|
+
export { createNetwork, createCluster, createDns, createSecrets, createStateBackend, type ICreateNetworkConfig, type ICreateClusterConfig, type ICreateDnsConfig, type ICreateSecretsConfig, type ICreateStateBackendConfig, type IProviderOptions, type IAwsProviderOptions, type IAzureProviderOptions, extractProvider, isMultiCloud, } from "./factories";
|
|
28
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,SAAS,EACd,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,WAAW,EACX,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEpG,OAAO,EACL,KAAK,iBAAiB,EACtB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEtF,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGzE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrF,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG/F,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjG,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGvF,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,aAAa,EACb,SAAS,EACT,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,SAAS,EACd,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,WAAW,EACX,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEpG,OAAO,EACL,KAAK,iBAAiB,EACtB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEtF,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGzE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrF,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG/F,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjG,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGvF,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,aAAa,EACb,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @packageDocumentation
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.isMultiCloud = exports.extractProvider = exports.createStateBackend = exports.createSecrets = exports.createDns = exports.createCluster = exports.createNetwork = exports.createGlobalLoadBalancer = exports.createPlatformStack = exports.buildCidrMap = exports.autoOffsetCidrs = exports.validateNoOverlaps = exports.detectOverlaps = exports.cidrsOverlap = exports.formatIp = exports.parseCidr = exports.assertValidMultiCloud = exports.validateResourceName = exports.validateMultiCloud = exports.isFeatureSupported = exports.validateFeature = exports.mergeWithRequiredTags = exports.isValidGcpLabel = exports.normalizeTags = exports.assertNever = exports.ConfigError = exports.UnsupportedFeatureError = exports.CidrError = exports.CloudValidationError = exports.AnyCloudError = exports.ERROR_CODES = exports.resolveCloudTarget = exports.isCloudTarget = exports.isCloudProvider = exports.CLOUD_PROVIDERS = exports.DEFAULT_REGIONS = void 0;
|
|
13
13
|
// Core types
|
|
14
14
|
var types_1 = require("./types");
|
|
15
15
|
Object.defineProperty(exports, "DEFAULT_REGIONS", { enumerable: true, get: function () { return types_1.DEFAULT_REGIONS; } });
|
|
@@ -55,18 +55,7 @@ Object.defineProperty(exports, "createNetwork", { enumerable: true, get: functio
|
|
|
55
55
|
Object.defineProperty(exports, "createCluster", { enumerable: true, get: function () { return factories_1.createCluster; } });
|
|
56
56
|
Object.defineProperty(exports, "createDns", { enumerable: true, get: function () { return factories_1.createDns; } });
|
|
57
57
|
Object.defineProperty(exports, "createSecrets", { enumerable: true, get: function () { return factories_1.createSecrets; } });
|
|
58
|
+
Object.defineProperty(exports, "createStateBackend", { enumerable: true, get: function () { return factories_1.createStateBackend; } });
|
|
58
59
|
Object.defineProperty(exports, "extractProvider", { enumerable: true, get: function () { return factories_1.extractProvider; } });
|
|
59
60
|
Object.defineProperty(exports, "isMultiCloud", { enumerable: true, get: function () { return factories_1.isMultiCloud; } });
|
|
60
|
-
// AWS Provider (direct access)
|
|
61
|
-
var aws_1 = require("./aws");
|
|
62
|
-
Object.defineProperty(exports, "createAwsNetwork", { enumerable: true, get: function () { return aws_1.createAwsNetwork; } });
|
|
63
|
-
Object.defineProperty(exports, "createEksCluster", { enumerable: true, get: function () { return aws_1.createEksCluster; } });
|
|
64
|
-
Object.defineProperty(exports, "createRoute53Dns", { enumerable: true, get: function () { return aws_1.createRoute53Dns; } });
|
|
65
|
-
Object.defineProperty(exports, "createAwsSecrets", { enumerable: true, get: function () { return aws_1.createAwsSecrets; } });
|
|
66
|
-
// Azure Provider (direct access)
|
|
67
|
-
var azure_1 = require("./azure");
|
|
68
|
-
Object.defineProperty(exports, "createAzureNetwork", { enumerable: true, get: function () { return azure_1.createAzureNetwork; } });
|
|
69
|
-
Object.defineProperty(exports, "createAksCluster", { enumerable: true, get: function () { return azure_1.createAksCluster; } });
|
|
70
|
-
Object.defineProperty(exports, "createAzureDns", { enumerable: true, get: function () { return azure_1.createAzureDns; } });
|
|
71
|
-
Object.defineProperty(exports, "createAzureSecrets", { enumerable: true, get: function () { return azure_1.createAzureSecrets; } });
|
|
72
61
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,aAAa;AACb,iCAUiB;AALf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAGpB,iCASiB;AAPf,oGAAA,WAAW,OAAA;AACX,sGAAA,aAAa,OAAA;AACb,6GAAA,oBAAoB,OAAA;AACpB,kGAAA,SAAS,OAAA;AACT,gHAAA,uBAAuB,OAAA;AACvB,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AAGb,iCAAoG;AAAvE,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAElF,iCAOiB;AALf,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AACpB,8GAAA,qBAAqB,OAAA;AAkBvB,qCAQmB;AAPjB,oGAAA,SAAS,OAAA;AACT,mGAAA,QAAQ,OAAA;AACR,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,uGAAA,YAAY,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,aAAa;AACb,iCAUiB;AALf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAGpB,iCASiB;AAPf,oGAAA,WAAW,OAAA;AACX,sGAAA,aAAa,OAAA;AACb,6GAAA,oBAAoB,OAAA;AACpB,kGAAA,SAAS,OAAA;AACT,gHAAA,uBAAuB,OAAA;AACvB,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AAGb,iCAAoG;AAAvE,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAElF,iCAOiB;AALf,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AACpB,8GAAA,qBAAqB,OAAA;AAkBvB,qCAQmB;AAPjB,oGAAA,SAAS,OAAA;AACT,mGAAA,QAAQ,OAAA;AACR,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,uGAAA,YAAY,OAAA;AAqCd,WAAW;AACX,uCAQoB;AADlB,+GAAA,mBAAmB,OAAA;AAGrB,uBAAuB;AACvB,yCAQqB;AADnB,qHAAA,wBAAwB,OAAA;AAG1B,kCAAkC;AAClC,yCAgBqB;AAfnB,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,sGAAA,SAAS,OAAA;AACT,0GAAA,aAAa,OAAA;AACb,+GAAA,kBAAkB,OAAA;AASlB,4GAAA,eAAe,OAAA;AACf,yGAAA,YAAY,OAAA"}
|
|
@@ -20,6 +20,12 @@ interface ParsedCidr {
|
|
|
20
20
|
* @param cidr - CIDR notation string (e.g., "10.0.0.0/16")
|
|
21
21
|
* @returns Parsed CIDR with start/end addresses
|
|
22
22
|
* @throws {CidrError} If the CIDR string is malformed
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const parsed = parseCidr("10.0.0.0/16");
|
|
27
|
+
* // { network: 167772160, prefix: 16, size: 65536, start: 167772160, end: 167837695 }
|
|
28
|
+
* ```
|
|
23
29
|
*/
|
|
24
30
|
export declare function parseCidr(cidr: string): ParsedCidr;
|
|
25
31
|
/**
|
|
@@ -27,6 +33,12 @@ export declare function parseCidr(cidr: string): ParsedCidr;
|
|
|
27
33
|
*
|
|
28
34
|
* @param ip - 32-bit unsigned integer IP address
|
|
29
35
|
* @returns Dotted decimal string
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* formatIp(167772160); // "10.0.0.0"
|
|
40
|
+
* formatIp(3232235777); // "192.168.1.1"
|
|
41
|
+
* ```
|
|
30
42
|
*/
|
|
31
43
|
export declare function formatIp(ip: number): string;
|
|
32
44
|
/**
|
|
@@ -35,6 +47,13 @@ export declare function formatIp(ip: number): string;
|
|
|
35
47
|
* @param a - First CIDR string
|
|
36
48
|
* @param b - Second CIDR string
|
|
37
49
|
* @returns True if ranges overlap
|
|
50
|
+
* @throws {CidrError} If either CIDR string is malformed
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* cidrsOverlap("10.0.0.0/16", "10.0.0.0/24"); // true
|
|
55
|
+
* cidrsOverlap("10.0.0.0/16", "10.1.0.0/16"); // false
|
|
56
|
+
* ```
|
|
38
57
|
*/
|
|
39
58
|
export declare function cidrsOverlap(a: string, b: string): boolean;
|
|
40
59
|
/**
|
|
@@ -42,6 +61,13 @@ export declare function cidrsOverlap(a: string, b: string): boolean;
|
|
|
42
61
|
*
|
|
43
62
|
* @param cidrs - Array of CIDR strings to check
|
|
44
63
|
* @returns Array of overlapping pairs, empty if no conflicts
|
|
64
|
+
* @throws {CidrError} If any CIDR string is malformed
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* detectOverlaps(["10.0.0.0/16", "10.0.0.0/24", "10.1.0.0/16"]);
|
|
69
|
+
* // [["10.0.0.0/16", "10.0.0.0/24"]]
|
|
70
|
+
* ```
|
|
45
71
|
*/
|
|
46
72
|
export declare function detectOverlaps(cidrs: ReadonlyArray<string>): ReadonlyArray<[string, string]>;
|
|
47
73
|
/**
|
|
@@ -49,6 +75,12 @@ export declare function detectOverlaps(cidrs: ReadonlyArray<string>): ReadonlyAr
|
|
|
49
75
|
*
|
|
50
76
|
* @param cidrs - Array of CIDR strings
|
|
51
77
|
* @throws {CidrError} If any CIDRs overlap
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* validateNoOverlaps(["10.0.0.0/16", "10.1.0.0/16"]); // ok
|
|
82
|
+
* validateNoOverlaps(["10.0.0.0/16", "10.0.0.0/24"]); // throws CidrError
|
|
83
|
+
* ```
|
|
52
84
|
*/
|
|
53
85
|
export declare function validateNoOverlaps(cidrs: ReadonlyArray<string>): void;
|
|
54
86
|
/**
|
|
@@ -59,6 +91,7 @@ export declare function validateNoOverlaps(cidrs: ReadonlyArray<string>): void;
|
|
|
59
91
|
* @param count - Number of CIDRs to generate
|
|
60
92
|
* @param options - Base octet and step between CIDRs
|
|
61
93
|
* @returns Array of non-overlapping CIDR strings
|
|
94
|
+
* @throws {CidrError} If the second octet exceeds 255
|
|
62
95
|
*
|
|
63
96
|
* @example
|
|
64
97
|
* ```typescript
|
|
@@ -80,6 +113,7 @@ export declare function autoOffsetCidrs(count: number, options?: {
|
|
|
80
113
|
* @param clouds - Array of cloud names
|
|
81
114
|
* @param explicit - Explicit CIDR assignments (partial or full)
|
|
82
115
|
* @returns Complete CIDR map keyed by cloud name
|
|
116
|
+
* @throws {CidrError} If explicit CIDRs overlap or auto-generation fails
|
|
83
117
|
*
|
|
84
118
|
* @example
|
|
85
119
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cidr.d.ts","sourceRoot":"","sources":["../../../src/network/cidr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,kCAAkC;AAClC,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"cidr.d.ts","sourceRoot":"","sources":["../../../src/network/cidr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,kCAAkC;AAClC,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA6BlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAc5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAUrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,aAAa,CAAC,MAAM,CAAC,CAkBvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6ClC"}
|
package/dist/cjs/network/cidr.js
CHANGED
|
@@ -22,6 +22,12 @@ const types_1 = require("../types");
|
|
|
22
22
|
* @param cidr - CIDR notation string (e.g., "10.0.0.0/16")
|
|
23
23
|
* @returns Parsed CIDR with start/end addresses
|
|
24
24
|
* @throws {CidrError} If the CIDR string is malformed
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const parsed = parseCidr("10.0.0.0/16");
|
|
29
|
+
* // { network: 167772160, prefix: 16, size: 65536, start: 167772160, end: 167837695 }
|
|
30
|
+
* ```
|
|
25
31
|
*/
|
|
26
32
|
function parseCidr(cidr) {
|
|
27
33
|
const match = /^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/.exec(cidr);
|
|
@@ -53,6 +59,12 @@ function parseCidr(cidr) {
|
|
|
53
59
|
*
|
|
54
60
|
* @param ip - 32-bit unsigned integer IP address
|
|
55
61
|
* @returns Dotted decimal string
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* formatIp(167772160); // "10.0.0.0"
|
|
66
|
+
* formatIp(3232235777); // "192.168.1.1"
|
|
67
|
+
* ```
|
|
56
68
|
*/
|
|
57
69
|
function formatIp(ip) {
|
|
58
70
|
return `${(ip >>> 24) & 0xff}.${(ip >>> 16) & 0xff}.${(ip >>> 8) & 0xff}.${ip & 0xff}`;
|
|
@@ -63,6 +75,13 @@ function formatIp(ip) {
|
|
|
63
75
|
* @param a - First CIDR string
|
|
64
76
|
* @param b - Second CIDR string
|
|
65
77
|
* @returns True if ranges overlap
|
|
78
|
+
* @throws {CidrError} If either CIDR string is malformed
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* cidrsOverlap("10.0.0.0/16", "10.0.0.0/24"); // true
|
|
83
|
+
* cidrsOverlap("10.0.0.0/16", "10.1.0.0/16"); // false
|
|
84
|
+
* ```
|
|
66
85
|
*/
|
|
67
86
|
function cidrsOverlap(a, b) {
|
|
68
87
|
const pa = parseCidr(a);
|
|
@@ -74,6 +93,13 @@ function cidrsOverlap(a, b) {
|
|
|
74
93
|
*
|
|
75
94
|
* @param cidrs - Array of CIDR strings to check
|
|
76
95
|
* @returns Array of overlapping pairs, empty if no conflicts
|
|
96
|
+
* @throws {CidrError} If any CIDR string is malformed
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* detectOverlaps(["10.0.0.0/16", "10.0.0.0/24", "10.1.0.0/16"]);
|
|
101
|
+
* // [["10.0.0.0/16", "10.0.0.0/24"]]
|
|
102
|
+
* ```
|
|
77
103
|
*/
|
|
78
104
|
function detectOverlaps(cidrs) {
|
|
79
105
|
const overlaps = [];
|
|
@@ -93,6 +119,12 @@ function detectOverlaps(cidrs) {
|
|
|
93
119
|
*
|
|
94
120
|
* @param cidrs - Array of CIDR strings
|
|
95
121
|
* @throws {CidrError} If any CIDRs overlap
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* validateNoOverlaps(["10.0.0.0/16", "10.1.0.0/16"]); // ok
|
|
126
|
+
* validateNoOverlaps(["10.0.0.0/16", "10.0.0.0/24"]); // throws CidrError
|
|
127
|
+
* ```
|
|
96
128
|
*/
|
|
97
129
|
function validateNoOverlaps(cidrs) {
|
|
98
130
|
const overlaps = detectOverlaps(cidrs);
|
|
@@ -109,6 +141,7 @@ function validateNoOverlaps(cidrs) {
|
|
|
109
141
|
* @param count - Number of CIDRs to generate
|
|
110
142
|
* @param options - Base octet and step between CIDRs
|
|
111
143
|
* @returns Array of non-overlapping CIDR strings
|
|
144
|
+
* @throws {CidrError} If the second octet exceeds 255
|
|
112
145
|
*
|
|
113
146
|
* @example
|
|
114
147
|
* ```typescript
|
|
@@ -139,6 +172,7 @@ function autoOffsetCidrs(count, options) {
|
|
|
139
172
|
* @param clouds - Array of cloud names
|
|
140
173
|
* @param explicit - Explicit CIDR assignments (partial or full)
|
|
141
174
|
* @returns Complete CIDR map keyed by cloud name
|
|
175
|
+
* @throws {CidrError} If explicit CIDRs overlap or auto-generation fails
|
|
142
176
|
*
|
|
143
177
|
* @example
|
|
144
178
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cidr.js","sourceRoot":"","sources":["../../../src/network/cidr.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"cidr.js","sourceRoot":"","sources":["../../../src/network/cidr.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,11 @@ import type { CloudArg, ResolvedCloudTarget } from "../types";
|
|
|
13
13
|
export type NatStrategy = "managed" | "fck-nat" | "none";
|
|
14
14
|
/** Subnet configuration. */
|
|
15
15
|
export interface ISubnetConfig {
|
|
16
|
+
/** CIDR block for the subnet (e.g., "10.0.1.0/24"). */
|
|
16
17
|
readonly cidr: string;
|
|
18
|
+
/** Availability zone placement (e.g., "us-east-1a"). */
|
|
17
19
|
readonly availabilityZone?: string;
|
|
20
|
+
/** Whether this subnet has a public IP and internet gateway route. */
|
|
18
21
|
readonly public?: boolean;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
@@ -30,14 +33,21 @@ export interface ISubnetConfig {
|
|
|
30
33
|
* ```
|
|
31
34
|
*/
|
|
32
35
|
export interface INetworkConfig {
|
|
36
|
+
/** Cloud provider target or multi-cloud array. */
|
|
33
37
|
readonly cloud: CloudArg;
|
|
34
38
|
/** CIDR block for the VPC/VNet. Optional for hosted K8s without custom networking (e.g. Rackspace Spot). */
|
|
35
39
|
readonly cidr?: string;
|
|
40
|
+
/** Public subnet definitions. Auto-generated if omitted. */
|
|
36
41
|
readonly publicSubnets?: ReadonlyArray<ISubnetConfig>;
|
|
42
|
+
/** Private subnet definitions. Auto-generated if omitted. */
|
|
37
43
|
readonly privateSubnets?: ReadonlyArray<ISubnetConfig>;
|
|
44
|
+
/** NAT gateway strategy. Default: "managed". */
|
|
38
45
|
readonly natStrategy?: NatStrategy;
|
|
46
|
+
/** Enable DNS hostnames in the VPC (AWS-specific). */
|
|
39
47
|
readonly enableDnsHostnames?: boolean;
|
|
48
|
+
/** Enable DNS support in the VPC (AWS-specific). */
|
|
40
49
|
readonly enableDnsSupport?: boolean;
|
|
50
|
+
/** Resource tags applied to the network and child resources. */
|
|
41
51
|
readonly tags?: Readonly<Record<string, string>>;
|
|
42
52
|
}
|
|
43
53
|
/**
|
|
@@ -46,13 +56,19 @@ export interface INetworkConfig {
|
|
|
46
56
|
* Use `nativeResource` for cloud-specific network operations.
|
|
47
57
|
*/
|
|
48
58
|
export interface INetwork {
|
|
59
|
+
/** Logical name of the network resource. */
|
|
49
60
|
readonly name: string;
|
|
61
|
+
/** Resolved cloud target this network was provisioned on. */
|
|
50
62
|
readonly cloud: ResolvedCloudTarget;
|
|
51
63
|
/** VPC ID (AWS), VNet ID (Azure), or Network self-link (GCP). */
|
|
52
64
|
readonly vpcId: pulumi.Output<string>;
|
|
65
|
+
/** CIDR block assigned to this network. */
|
|
53
66
|
readonly cidr?: string;
|
|
67
|
+
/** IDs of public subnets created within the network. */
|
|
54
68
|
readonly publicSubnetIds: pulumi.Output<ReadonlyArray<string>>;
|
|
69
|
+
/** IDs of private subnets created within the network. */
|
|
55
70
|
readonly privateSubnetIds: pulumi.Output<ReadonlyArray<string>>;
|
|
71
|
+
/** NAT gateway ID, if a NAT strategy was applied. */
|
|
56
72
|
readonly natGatewayId?: pulumi.Output<string>;
|
|
57
73
|
/** Escape hatch: cloud-native network resource. */
|
|
58
74
|
readonly nativeResource: pulumi.Resource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/network/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;AAE9D,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,MAAM,CAAC;AAEX,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/network/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;AAE9D,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,MAAM,CAAC;AAEX,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACtD,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,oDAAoD;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,qDAAqD;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1C"}
|
|
@@ -19,7 +19,7 @@ export interface IPlatformComponentConfig {
|
|
|
19
19
|
/** Helm chart version override. */
|
|
20
20
|
readonly version?: string;
|
|
21
21
|
/** Additional Helm values to merge with defaults. */
|
|
22
|
-
readonly values?: Record<string, unknown
|
|
22
|
+
readonly values?: Readonly<Record<string, unknown>>;
|
|
23
23
|
}
|
|
24
24
|
/** External DNS component configuration with provider-specific auth. */
|
|
25
25
|
export interface IExternalDnsConfig extends IPlatformComponentConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/platform/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,iDAAiD;AACjD,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/platform/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,iDAAiD;AACjD,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB;IAClE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,8CAA8C;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChD;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAa,SAAQ,wBAAwB;IAC5D,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAE1C,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,GAAG;QAChD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;QACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC7C,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/platform/stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAGV,cAAc,EACd,oBAAoB,EAErB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/platform/stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAGV,cAAc,EACd,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAgBtB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,GAC3B,cAAc,GAAG,cAAc,EAAE,CAUnC"}
|
|
@@ -45,6 +45,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
45
45
|
exports.createPlatformStack = createPlatformStack;
|
|
46
46
|
const k8s = __importStar(require("@pulumi/kubernetes"));
|
|
47
47
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
48
|
+
const types_1 = require("../types");
|
|
49
|
+
/** Number of Vault replicas in HA mode (Raft consensus requires odd count). */
|
|
50
|
+
const VAULT_HA_REPLICAS = 3;
|
|
48
51
|
/** Default Helm chart versions — pinned for reproducibility. */
|
|
49
52
|
const DEFAULT_VERSIONS = {
|
|
50
53
|
traefik: "34.3.0",
|
|
@@ -171,6 +174,8 @@ function deployExternalDns(name, config, provider) {
|
|
|
171
174
|
case "cloudflare":
|
|
172
175
|
providerValues["provider"] = { name: "cloudflare" };
|
|
173
176
|
break;
|
|
177
|
+
default:
|
|
178
|
+
(0, types_1.assertNever)(config.dnsProvider);
|
|
174
179
|
}
|
|
175
180
|
return new k8s.helm.v3.Release(`${name}-external-dns`, {
|
|
176
181
|
chart: "external-dns",
|
|
@@ -215,7 +220,7 @@ function deployVault(name, config, provider) {
|
|
|
215
220
|
ha: ha
|
|
216
221
|
? {
|
|
217
222
|
enabled: true,
|
|
218
|
-
replicas:
|
|
223
|
+
replicas: VAULT_HA_REPLICAS,
|
|
219
224
|
raft: { enabled: true },
|
|
220
225
|
}
|
|
221
226
|
: { enabled: false },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/platform/stack.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/platform/stack.ts"],"names":[],"mappings":"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"}
|