@reyemtech/nimbus 1.2.0 → 1.3.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/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/resource-group.d.ts +37 -0
- package/dist/cjs/azure/resource-group.d.ts.map +1 -0
- package/dist/cjs/azure/resource-group.js +79 -0
- package/dist/cjs/azure/resource-group.js.map +1 -0
- package/dist/cjs/azure/secrets.d.ts +6 -3
- package/dist/cjs/azure/secrets.d.ts.map +1 -1
- package/dist/cjs/azure/secrets.js +17 -3
- package/dist/cjs/azure/secrets.js.map +1 -1
- package/dist/cjs/cli/azure-prompts.d.ts +3 -12
- package/dist/cjs/cli/azure-prompts.d.ts.map +1 -1
- package/dist/cjs/cli/azure-prompts.js +4 -23
- package/dist/cjs/cli/azure-prompts.js.map +1 -1
- package/dist/cjs/cli/templates-azure.d.ts.map +1 -1
- package/dist/cjs/cli/templates-azure.js +20 -15
- package/dist/cjs/cli/templates-azure.js.map +1 -1
- package/dist/cjs/cli/templates.d.ts +0 -1
- package/dist/cjs/cli/templates.d.ts.map +1 -1
- package/dist/cjs/cli/templates.js.map +1 -1
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/factories/secrets.d.ts +1 -1
- package/dist/cjs/factories/secrets.js +3 -3
- package/dist/cjs/factories/secrets.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.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/resource-group.d.ts +37 -0
- package/dist/esm/azure/resource-group.d.ts.map +1 -0
- package/dist/esm/azure/resource-group.js +79 -0
- package/dist/esm/azure/resource-group.js.map +1 -0
- package/dist/esm/azure/secrets.d.ts +6 -3
- package/dist/esm/azure/secrets.d.ts.map +1 -1
- package/dist/esm/azure/secrets.js +17 -3
- package/dist/esm/azure/secrets.js.map +1 -1
- package/dist/esm/cli/azure-prompts.d.ts +3 -12
- package/dist/esm/cli/azure-prompts.d.ts.map +1 -1
- package/dist/esm/cli/azure-prompts.js +4 -23
- package/dist/esm/cli/azure-prompts.js.map +1 -1
- package/dist/esm/cli/templates-azure.d.ts.map +1 -1
- package/dist/esm/cli/templates-azure.js +20 -15
- package/dist/esm/cli/templates-azure.js.map +1 -1
- package/dist/esm/cli/templates.d.ts +0 -1
- package/dist/esm/cli/templates.d.ts.map +1 -1
- package/dist/esm/cli/templates.js.map +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/factories/secrets.d.ts +1 -1
- package/dist/esm/factories/secrets.js +3 -3
- package/dist/esm/factories/secrets.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,4 +8,5 @@ export { createAksCluster, type IAksOptions } from "./cluster";
|
|
|
8
8
|
export { createAzureDns, type IAzureDnsOptions } from "./dns";
|
|
9
9
|
export { createAzureSecrets, type IAzureSecretsOptions } from "./secrets";
|
|
10
10
|
export { createAzureStateBackend, type IAzureStateBackendOptions } from "./state";
|
|
11
|
+
export { ensureResourceGroup, type IResourceGroupOptions } from "./resource-group";
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/azure/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,KAAK,yBAAyB,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/azure/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,KAAK,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/cjs/azure/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @module azure
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.createAzureStateBackend = exports.createAzureSecrets = exports.createAzureDns = exports.createAksCluster = exports.createAzureNetwork = void 0;
|
|
8
|
+
exports.ensureResourceGroup = exports.createAzureStateBackend = exports.createAzureSecrets = exports.createAzureDns = exports.createAksCluster = exports.createAzureNetwork = void 0;
|
|
9
9
|
var network_1 = require("./network");
|
|
10
10
|
Object.defineProperty(exports, "createAzureNetwork", { enumerable: true, get: function () { return network_1.createAzureNetwork; } });
|
|
11
11
|
var cluster_1 = require("./cluster");
|
|
@@ -16,4 +16,6 @@ var secrets_1 = require("./secrets");
|
|
|
16
16
|
Object.defineProperty(exports, "createAzureSecrets", { enumerable: true, get: function () { return secrets_1.createAzureSecrets; } });
|
|
17
17
|
var state_1 = require("./state");
|
|
18
18
|
Object.defineProperty(exports, "createAzureStateBackend", { enumerable: true, get: function () { return state_1.createAzureStateBackend; } });
|
|
19
|
+
var resource_group_1 = require("./resource-group");
|
|
20
|
+
Object.defineProperty(exports, "ensureResourceGroup", { enumerable: true, get: function () { return resource_group_1.ensureResourceGroup; } });
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/azure/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qCAA0E;AAAjE,6GAAA,kBAAkB,OAAA;AAC3B,qCAA+D;AAAtD,2GAAA,gBAAgB,OAAA;AACzB,6BAA8D;AAArD,qGAAA,cAAc,OAAA;AACvB,qCAA0E;AAAjE,6GAAA,kBAAkB,OAAA;AAC3B,iCAAkF;AAAzE,gHAAA,uBAAuB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/azure/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qCAA0E;AAAjE,6GAAA,kBAAkB,OAAA;AAC3B,qCAA+D;AAAtD,2GAAA,gBAAgB,OAAA;AACzB,6BAA8D;AAArD,qGAAA,cAAc,OAAA;AACvB,qCAA0E;AAAjE,6GAAA,kBAAkB,OAAA;AAC3B,iCAAkF;AAAzE,gHAAA,uBAAuB,OAAA;AAChC,mDAAmF;AAA1E,qHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource group abstraction — declare once, reuse across all Azure resources.
|
|
3
|
+
*
|
|
4
|
+
* Caches by name so multiple factories referencing the same resource group
|
|
5
|
+
* share a single Pulumi resource declaration. Idempotent by design:
|
|
6
|
+
* Pulumi handles create/update/no-op on each `pulumi up`.
|
|
7
|
+
*
|
|
8
|
+
* @module azure/resource-group
|
|
9
|
+
*/
|
|
10
|
+
import type * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
/** Options for {@link ensureResourceGroup}. */
|
|
12
|
+
export interface IResourceGroupOptions {
|
|
13
|
+
/** Tags to apply to the resource group. */
|
|
14
|
+
readonly tags?: Record<string, string>;
|
|
15
|
+
/** Azure location override. Defaults to the Pulumi-configured region. */
|
|
16
|
+
readonly location?: pulumi.Input<string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Ensure a resource group is declared in the Pulumi stack.
|
|
20
|
+
*
|
|
21
|
+
* First call creates the Pulumi resource; subsequent calls with the
|
|
22
|
+
* same name return the cached reference. This is pure declaration —
|
|
23
|
+
* Pulumi decides whether to create, update, or skip at deploy time.
|
|
24
|
+
*
|
|
25
|
+
* @param name - Desired resource group name in Azure (e.g. "rg-myapp-canadacentral")
|
|
26
|
+
* @param opts - Optional tags and location override
|
|
27
|
+
* @returns The ResourceGroup's name as a Pulumi Output (for dependency chaining)
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const rgName = ensureResourceGroup("rg-prod-canadacentral", {
|
|
32
|
+
* tags: { environment: "production" },
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function ensureResourceGroup(name: string, opts?: IResourceGroupOptions): pulumi.Output<string>;
|
|
37
|
+
//# sourceMappingURL=resource-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-group.d.ts","sourceRoot":"","sources":["../../../src/azure/resource-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAK9C,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,qBAAqB,GAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAYvB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Resource group abstraction — declare once, reuse across all Azure resources.
|
|
4
|
+
*
|
|
5
|
+
* Caches by name so multiple factories referencing the same resource group
|
|
6
|
+
* share a single Pulumi resource declaration. Idempotent by design:
|
|
7
|
+
* Pulumi handles create/update/no-op on each `pulumi up`.
|
|
8
|
+
*
|
|
9
|
+
* @module azure/resource-group
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.ensureResourceGroup = ensureResourceGroup;
|
|
46
|
+
const azure = __importStar(require("@pulumi/azure-native/resources"));
|
|
47
|
+
/** Cache of declared resource groups, keyed by name. */
|
|
48
|
+
const cache = new Map();
|
|
49
|
+
/**
|
|
50
|
+
* Ensure a resource group is declared in the Pulumi stack.
|
|
51
|
+
*
|
|
52
|
+
* First call creates the Pulumi resource; subsequent calls with the
|
|
53
|
+
* same name return the cached reference. This is pure declaration —
|
|
54
|
+
* Pulumi decides whether to create, update, or skip at deploy time.
|
|
55
|
+
*
|
|
56
|
+
* @param name - Desired resource group name in Azure (e.g. "rg-myapp-canadacentral")
|
|
57
|
+
* @param opts - Optional tags and location override
|
|
58
|
+
* @returns The ResourceGroup's name as a Pulumi Output (for dependency chaining)
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const rgName = ensureResourceGroup("rg-prod-canadacentral", {
|
|
63
|
+
* tags: { environment: "production" },
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
function ensureResourceGroup(name, opts) {
|
|
68
|
+
const existing = cache.get(name);
|
|
69
|
+
if (existing)
|
|
70
|
+
return existing.name;
|
|
71
|
+
const rg = new azure.ResourceGroup(`nimbus-rg-${name}`, {
|
|
72
|
+
resourceGroupName: name,
|
|
73
|
+
location: opts?.location,
|
|
74
|
+
tags: opts?.tags,
|
|
75
|
+
});
|
|
76
|
+
cache.set(name, rg);
|
|
77
|
+
return rg.name;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=resource-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-group.js","sourceRoot":"","sources":["../../../src/azure/resource-group.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCH,kDAeC;AA/CD,sEAAwD;AAGxD,wDAAwD;AACxD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;AAUrD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,mBAAmB,CACjC,IAAY,EACZ,IAA4B;IAE5B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IAEnC,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,IAAI,EAAE,EAAE;QACtD,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,IAAI,EAAE,IAAI,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,CAAC;AACjB,CAAC"}
|
|
@@ -9,8 +9,8 @@ import type { ISecrets, ISecretsConfig } from "../secrets";
|
|
|
9
9
|
export interface IAzureSecretsOptions {
|
|
10
10
|
/** Resource group name. Required for Azure. */
|
|
11
11
|
readonly resourceGroupName: pulumi.Input<string>;
|
|
12
|
-
/** Azure AD tenant ID.
|
|
13
|
-
readonly tenantId
|
|
12
|
+
/** Azure AD tenant ID. Auto-detected via `getClientConfigOutput()` when omitted. */
|
|
13
|
+
readonly tenantId?: pulumi.Input<string>;
|
|
14
14
|
/** Object ID of the principal that should have access to secrets. */
|
|
15
15
|
readonly objectId?: pulumi.Input<string>;
|
|
16
16
|
/** Key Vault SKU. Default: "standard". */
|
|
@@ -19,6 +19,10 @@ export interface IAzureSecretsOptions {
|
|
|
19
19
|
/**
|
|
20
20
|
* Create an Azure Key Vault for secret management.
|
|
21
21
|
*
|
|
22
|
+
* When `tenantId` is omitted, it is auto-detected from the current Azure
|
|
23
|
+
* identity via `getClientConfigOutput()`. A Key Vault Secrets Officer RBAC
|
|
24
|
+
* role assignment is automatically created for the deploying principal.
|
|
25
|
+
*
|
|
22
26
|
* @example
|
|
23
27
|
* ```typescript
|
|
24
28
|
* const secrets = createAzureSecrets("prod", {
|
|
@@ -26,7 +30,6 @@ export interface IAzureSecretsOptions {
|
|
|
26
30
|
* backend: "azure-key-vault",
|
|
27
31
|
* }, {
|
|
28
32
|
* resourceGroupName: "my-rg",
|
|
29
|
-
* tenantId: "00000000-0000-0000-0000-000000000000",
|
|
30
33
|
* });
|
|
31
34
|
*
|
|
32
35
|
* secrets.putSecret("database", { host: "db.example.com", password: dbPassword });
|
|
@@ -1 +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;
|
|
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;AAYvE,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,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;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,GAC5B,QAAQ,CAmHV"}
|
|
@@ -46,9 +46,15 @@ const types_1 = require("../types");
|
|
|
46
46
|
const KEY_VAULT_NAME_MAX_LENGTH = 24;
|
|
47
47
|
/** Default soft-delete retention period in days for Key Vault. */
|
|
48
48
|
const SOFT_DELETE_RETENTION_DAYS = 90;
|
|
49
|
+
/** Well-known role definition ID for Key Vault Secrets Officer. */
|
|
50
|
+
const KEY_VAULT_SECRETS_OFFICER_ROLE_ID = "b86a8fe4-44ce-4948-aee5-eccb2c155cd7";
|
|
49
51
|
/**
|
|
50
52
|
* Create an Azure Key Vault for secret management.
|
|
51
53
|
*
|
|
54
|
+
* When `tenantId` is omitted, it is auto-detected from the current Azure
|
|
55
|
+
* identity via `getClientConfigOutput()`. A Key Vault Secrets Officer RBAC
|
|
56
|
+
* role assignment is automatically created for the deploying principal.
|
|
57
|
+
*
|
|
52
58
|
* @example
|
|
53
59
|
* ```typescript
|
|
54
60
|
* const secrets = createAzureSecrets("prod", {
|
|
@@ -56,7 +62,6 @@ const SOFT_DELETE_RETENTION_DAYS = 90;
|
|
|
56
62
|
* backend: "azure-key-vault",
|
|
57
63
|
* }, {
|
|
58
64
|
* resourceGroupName: "my-rg",
|
|
59
|
-
* tenantId: "00000000-0000-0000-0000-000000000000",
|
|
60
65
|
* });
|
|
61
66
|
*
|
|
62
67
|
* secrets.putSecret("database", { host: "db.example.com", password: dbPassword });
|
|
@@ -68,12 +73,15 @@ function createAzureSecrets(name, config, options) {
|
|
|
68
73
|
const target = (0, types_1.resolveCloudTarget)(cloud);
|
|
69
74
|
const tags = config.tags ?? {};
|
|
70
75
|
const rgName = options.resourceGroupName;
|
|
76
|
+
// Auto-detect tenantId from current Azure identity when not provided
|
|
77
|
+
const clientConfig = azure.authorization.getClientConfigOutput();
|
|
78
|
+
const tenantId = options.tenantId ?? clientConfig.tenantId;
|
|
71
79
|
// Key Vault names must be 3-24 chars, alphanumeric + hyphens
|
|
72
80
|
const vaultName = name.replace(/[^a-zA-Z0-9-]/g, "-").substring(0, KEY_VAULT_NAME_MAX_LENGTH);
|
|
73
81
|
const accessPolicies = [];
|
|
74
82
|
if (options.objectId) {
|
|
75
83
|
accessPolicies.push({
|
|
76
|
-
tenantId
|
|
84
|
+
tenantId,
|
|
77
85
|
objectId: options.objectId,
|
|
78
86
|
permissions: {
|
|
79
87
|
secrets: ["Get", "List", "Set", "Delete"],
|
|
@@ -84,7 +92,7 @@ function createAzureSecrets(name, config, options) {
|
|
|
84
92
|
vaultName,
|
|
85
93
|
resourceGroupName: rgName,
|
|
86
94
|
properties: {
|
|
87
|
-
tenantId
|
|
95
|
+
tenantId,
|
|
88
96
|
sku: {
|
|
89
97
|
family: "A",
|
|
90
98
|
name: options.sku === "premium"
|
|
@@ -98,6 +106,12 @@ function createAzureSecrets(name, config, options) {
|
|
|
98
106
|
},
|
|
99
107
|
tags: { ...tags, Name: `${name}-kv` },
|
|
100
108
|
});
|
|
109
|
+
// Grant the deploying principal Key Vault Secrets Officer on this vault
|
|
110
|
+
new azure.authorization.RoleAssignment(`${name}-kv-secrets-officer`, {
|
|
111
|
+
principalId: clientConfig.objectId,
|
|
112
|
+
roleDefinitionId: clientConfig.subscriptionId.apply((sub) => `/subscriptions/${sub}/providers/Microsoft.Authorization/roleDefinitions/${KEY_VAULT_SECRETS_OFFICER_ROLE_ID}`),
|
|
113
|
+
scope: vault.id,
|
|
114
|
+
});
|
|
101
115
|
// Track created secrets for getSecretRef lookups
|
|
102
116
|
const secretResources = new Map();
|
|
103
117
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/azure/secrets.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/azure/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Azure-specific CLI prompt orchestration for `nimbus new`.
|
|
3
3
|
*
|
|
4
|
-
* Prompts users for Azure region
|
|
4
|
+
* Prompts users for Azure region and resource group name
|
|
5
5
|
* when scaffolding Azure templates.
|
|
6
6
|
*
|
|
7
7
|
* @module cli/azure-prompts
|
|
@@ -11,7 +11,6 @@ import type { TemplateName } from "./templates.js";
|
|
|
11
11
|
export interface IAzureTemplateOptions {
|
|
12
12
|
readonly region: string;
|
|
13
13
|
readonly resourceGroupName: string;
|
|
14
|
-
readonly tenantId: string;
|
|
15
14
|
}
|
|
16
15
|
/**
|
|
17
16
|
* Check whether a template requires Azure prompts.
|
|
@@ -20,21 +19,13 @@ export interface IAzureTemplateOptions {
|
|
|
20
19
|
* @returns True if the template needs Azure configuration
|
|
21
20
|
*/
|
|
22
21
|
export declare function requiresAzurePrompts(template: TemplateName): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Check whether a template requires a tenant ID for Azure Key Vault.
|
|
25
|
-
*
|
|
26
|
-
* @param template - Template name to check
|
|
27
|
-
* @returns True if the template uses createSecrets with Azure Key Vault
|
|
28
|
-
*/
|
|
29
|
-
export declare function requiresTenantId(template: TemplateName): boolean;
|
|
30
22
|
/**
|
|
31
23
|
* Prompt the user for Azure configuration values.
|
|
32
24
|
*
|
|
33
|
-
* Asks for region
|
|
25
|
+
* Asks for region and resource group name.
|
|
34
26
|
*
|
|
35
27
|
* @param projectName - Project name used for default resource group
|
|
36
|
-
* @param template - Template name to determine which prompts to show
|
|
37
28
|
* @returns Azure template options collected from the user
|
|
38
29
|
*/
|
|
39
|
-
export declare function promptForAzureOptions(projectName: string
|
|
30
|
+
export declare function promptForAzureOptions(projectName: string): Promise<IAzureTemplateOptions>;
|
|
40
31
|
//# sourceMappingURL=azure-prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/azure-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"azure-prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/azure-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAKD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB/F"}
|
|
@@ -2,20 +2,17 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Azure-specific CLI prompt orchestration for `nimbus new`.
|
|
4
4
|
*
|
|
5
|
-
* Prompts users for Azure region
|
|
5
|
+
* Prompts users for Azure region and resource group name
|
|
6
6
|
* when scaffolding Azure templates.
|
|
7
7
|
*
|
|
8
8
|
* @module cli/azure-prompts
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.requiresAzurePrompts = requiresAzurePrompts;
|
|
12
|
-
exports.requiresTenantId = requiresTenantId;
|
|
13
12
|
exports.promptForAzureOptions = promptForAzureOptions;
|
|
14
13
|
const prompt_js_1 = require("./prompt.js");
|
|
15
14
|
/** Templates that require Azure configuration prompts. */
|
|
16
15
|
const AZURE_TEMPLATES = ["minimal-azure", "azure", "multi-cloud"];
|
|
17
|
-
/** Templates that use `createSecrets` with Azure Key Vault and require a tenant ID. */
|
|
18
|
-
const TENANT_ID_TEMPLATES = ["minimal-azure", "azure"];
|
|
19
16
|
/**
|
|
20
17
|
* Check whether a template requires Azure prompts.
|
|
21
18
|
*
|
|
@@ -25,25 +22,15 @@ const TENANT_ID_TEMPLATES = ["minimal-azure", "azure"];
|
|
|
25
22
|
function requiresAzurePrompts(template) {
|
|
26
23
|
return AZURE_TEMPLATES.includes(template);
|
|
27
24
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Check whether a template requires a tenant ID for Azure Key Vault.
|
|
30
|
-
*
|
|
31
|
-
* @param template - Template name to check
|
|
32
|
-
* @returns True if the template uses createSecrets with Azure Key Vault
|
|
33
|
-
*/
|
|
34
|
-
function requiresTenantId(template) {
|
|
35
|
-
return TENANT_ID_TEMPLATES.includes(template);
|
|
36
|
-
}
|
|
37
25
|
/**
|
|
38
26
|
* Prompt the user for Azure configuration values.
|
|
39
27
|
*
|
|
40
|
-
* Asks for region
|
|
28
|
+
* Asks for region and resource group name.
|
|
41
29
|
*
|
|
42
30
|
* @param projectName - Project name used for default resource group
|
|
43
|
-
* @param template - Template name to determine which prompts to show
|
|
44
31
|
* @returns Azure template options collected from the user
|
|
45
32
|
*/
|
|
46
|
-
async function promptForAzureOptions(projectName
|
|
33
|
+
async function promptForAzureOptions(projectName) {
|
|
47
34
|
const rl = (0, prompt_js_1.createPromptInterface)();
|
|
48
35
|
try {
|
|
49
36
|
console.log("\nAzure configuration:\n");
|
|
@@ -53,13 +40,7 @@ async function promptForAzureOptions(projectName, template) {
|
|
|
53
40
|
const resourceGroupName = await (0, prompt_js_1.askQuestion)(rl, "Resource group name", {
|
|
54
41
|
defaultValue: `rg-${projectName}-${region}`,
|
|
55
42
|
});
|
|
56
|
-
|
|
57
|
-
if (requiresTenantId(template)) {
|
|
58
|
-
tenantId = await (0, prompt_js_1.askQuestion)(rl, "Azure tenant ID", {
|
|
59
|
-
required: true,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
return { region, resourceGroupName, tenantId };
|
|
43
|
+
return { region, resourceGroupName };
|
|
63
44
|
}
|
|
64
45
|
finally {
|
|
65
46
|
rl.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-prompts.js","sourceRoot":"","sources":["../../../src/cli/azure-prompts.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"azure-prompts.js","sourceRoot":"","sources":["../../../src/cli/azure-prompts.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAoBH,oDAEC;AAUD,sDAkBC;AAhDD,2CAAiE;AASjE,0DAA0D;AAC1D,MAAM,eAAe,GAAgC,CAAC,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,QAAsB;IACzD,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,MAAM,EAAE,GAAG,IAAA,iCAAqB,GAAE,CAAC;IAEnC,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAW,EAAC,EAAE,EAAE,cAAc,EAAE;YACnD,YAAY,EAAE,eAAe;SAC9B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,MAAM,IAAA,uBAAW,EAAC,EAAE,EAAE,qBAAqB,EAAE;YACrE,YAAY,EAAE,MAAM,WAAW,IAAI,MAAM,EAAE;SAC5C,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates-azure.d.ts","sourceRoot":"","sources":["../../../src/cli/templates-azure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"templates-azure.d.ts","sourceRoot":"","sources":["../../../src/cli/templates-azure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAgF7F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAqKtF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CA4K3F"}
|
|
@@ -24,7 +24,6 @@ const DEFAULT_AZURE_REGION = "canadacentral";
|
|
|
24
24
|
function minimalAzureTemplate(name, options) {
|
|
25
25
|
const region = options?.azure?.region ?? DEFAULT_AZURE_REGION;
|
|
26
26
|
const resourceGroupName = options?.azure?.resourceGroupName ?? `rg-${name}-${region}`;
|
|
27
|
-
const tenantId = options?.azure?.tenantId ?? "your-tenant-id";
|
|
28
27
|
const indexTs = `/**
|
|
29
28
|
* ${name} — Minimal Azure infrastructure.
|
|
30
29
|
*
|
|
@@ -34,15 +33,17 @@ function minimalAzureTemplate(name, options) {
|
|
|
34
33
|
* pulumi up
|
|
35
34
|
*/
|
|
36
35
|
|
|
37
|
-
import { createStateBackend, createSecrets } from "@reyemtech/nimbus";
|
|
36
|
+
import { createStateBackend, createSecrets, ensureResourceGroup } from "@reyemtech/nimbus";
|
|
38
37
|
import type { IStateBackend, ISecrets } from "@reyemtech/nimbus";
|
|
39
38
|
|
|
40
|
-
const
|
|
39
|
+
const tags = { environment: "production" };
|
|
40
|
+
|
|
41
|
+
// Resource group is declared automatically — created if new, no-op if exists
|
|
42
|
+
const resourceGroupName = ensureResourceGroup("${resourceGroupName}", { tags });
|
|
41
43
|
|
|
42
44
|
const azureOptions = {
|
|
43
45
|
azure: {
|
|
44
46
|
resourceGroupName,
|
|
45
|
-
tenantId: "${tenantId}",
|
|
46
47
|
},
|
|
47
48
|
};
|
|
48
49
|
|
|
@@ -51,15 +52,15 @@ const backend = createStateBackend("${name}", {
|
|
|
51
52
|
cloud: "azure",
|
|
52
53
|
versioning: true,
|
|
53
54
|
encryption: true,
|
|
54
|
-
tags
|
|
55
|
+
tags,
|
|
55
56
|
providerOptions: azureOptions,
|
|
56
57
|
}) as IStateBackend;
|
|
57
58
|
|
|
58
|
-
// 2. Secrets — Azure Key Vault
|
|
59
|
+
// 2. Secrets — Azure Key Vault (tenant ID auto-detected)
|
|
59
60
|
const secrets = createSecrets("${name}", {
|
|
60
61
|
cloud: "azure",
|
|
61
62
|
backend: "azure-key-vault",
|
|
62
|
-
tags
|
|
63
|
+
tags,
|
|
63
64
|
providerOptions: azureOptions,
|
|
64
65
|
}) as ISecrets;
|
|
65
66
|
|
|
@@ -108,7 +109,6 @@ ${templates_js_1.OPERATIONS_SECTION}
|
|
|
108
109
|
function azureTemplate(name, options) {
|
|
109
110
|
const region = options?.azure?.region ?? DEFAULT_AZURE_REGION;
|
|
110
111
|
const resourceGroupName = options?.azure?.resourceGroupName ?? `rg-${name}-${region}`;
|
|
111
|
-
const tenantId = options?.azure?.tenantId ?? "your-tenant-id";
|
|
112
112
|
const indexTs = `/**
|
|
113
113
|
* ${name} — Full Azure infrastructure stack.
|
|
114
114
|
*
|
|
@@ -124,15 +124,18 @@ import {
|
|
|
124
124
|
createDns,
|
|
125
125
|
createSecrets,
|
|
126
126
|
createPlatformStack,
|
|
127
|
+
ensureResourceGroup,
|
|
127
128
|
} from "@reyemtech/nimbus";
|
|
128
129
|
import type { INetwork, ICluster, IDns, ISecrets } from "@reyemtech/nimbus";
|
|
129
130
|
|
|
130
|
-
const
|
|
131
|
+
const tags = { environment: "production", client: "acme" };
|
|
132
|
+
|
|
133
|
+
// Resource group is declared automatically — created if new, no-op if exists
|
|
134
|
+
const resourceGroupName = ensureResourceGroup("${resourceGroupName}", { tags });
|
|
131
135
|
|
|
132
136
|
const azureOptions = {
|
|
133
137
|
azure: {
|
|
134
138
|
resourceGroupName,
|
|
135
|
-
tenantId: "${tenantId}",
|
|
136
139
|
},
|
|
137
140
|
};
|
|
138
141
|
|
|
@@ -141,7 +144,7 @@ const network = createNetwork("${name}", {
|
|
|
141
144
|
cloud: "azure",
|
|
142
145
|
cidr: "10.1.0.0/16",
|
|
143
146
|
natStrategy: "managed",
|
|
144
|
-
tags
|
|
147
|
+
tags,
|
|
145
148
|
providerOptions: azureOptions,
|
|
146
149
|
}) as INetwork;
|
|
147
150
|
|
|
@@ -169,7 +172,7 @@ const cluster = createCluster(
|
|
|
169
172
|
},
|
|
170
173
|
],
|
|
171
174
|
virtualNodes: true,
|
|
172
|
-
tags
|
|
175
|
+
tags,
|
|
173
176
|
providerOptions: azureOptions,
|
|
174
177
|
},
|
|
175
178
|
network,
|
|
@@ -186,11 +189,11 @@ const dns = createDns("${name}", {
|
|
|
186
189
|
providerOptions: azureOptions,
|
|
187
190
|
}) as IDns;
|
|
188
191
|
|
|
189
|
-
// 4. Secrets — Azure Key Vault
|
|
192
|
+
// 4. Secrets — Azure Key Vault (tenant ID auto-detected)
|
|
190
193
|
const secrets = createSecrets("${name}", {
|
|
191
194
|
cloud: "azure",
|
|
192
195
|
backend: "azure-key-vault",
|
|
193
|
-
tags
|
|
196
|
+
tags,
|
|
194
197
|
providerOptions: azureOptions,
|
|
195
198
|
}) as ISecrets;
|
|
196
199
|
|
|
@@ -291,10 +294,12 @@ import {
|
|
|
291
294
|
createDns,
|
|
292
295
|
createPlatformStack,
|
|
293
296
|
createGlobalLoadBalancer,
|
|
297
|
+
ensureResourceGroup,
|
|
294
298
|
} from "@reyemtech/nimbus";
|
|
295
299
|
import type { INetwork, ICluster, IDns } from "@reyemtech/nimbus";
|
|
296
300
|
|
|
297
|
-
|
|
301
|
+
// Resource group is declared automatically — created if new, no-op if exists
|
|
302
|
+
const resourceGroupName = ensureResourceGroup("${resourceGroupName}");
|
|
298
303
|
|
|
299
304
|
// Shared provider options
|
|
300
305
|
const providerOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates-azure.js","sourceRoot":"","sources":["../../../src/cli/templates-azure.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAeH,
|
|
1
|
+
{"version":3,"file":"templates-azure.js","sourceRoot":"","sources":["../../../src/cli/templates-azure.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAeH,oDAgFC;AASD,sCAqKC;AASD,gDA4KC;AAhcD,iDAAoD;AAGpD,8DAA8D;AAC9D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAE7C;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,IAAY,EAAE,OAA0B;IAC3E,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,oBAAoB,CAAC;IAC9D,MAAM,iBAAiB,GAAG,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;IAEtF,MAAM,OAAO,GAAG;KACb,IAAI;;;;;;;;;;;;;;iDAcwC,iBAAiB;;;;;;;;;sCAS5B,IAAI;;;;;;;;;iCAST,IAAI;;;;;;;;;;;;;;;CAepC,CAAC;IAEA,MAAM,QAAQ,GAAG,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;EAsB1B,iCAAkB;CACnB,CAAC;IAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,OAA0B;IACpE,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,oBAAoB,CAAC;IAC9D,MAAM,iBAAiB,GAAG,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;IAEtF,MAAM,OAAO,GAAG;KACb,IAAI;;;;;;;;;;;;;;;;;;;;;iDAqBwC,iBAAiB;;;;;;;;;iCASjC,IAAI;;;;;;;;;;KAUhC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA6BgB,IAAI;;;;;;;;;;;iCAWI,IAAI;;;;;;;;;;;;;wCAaG,IAAI;;;;;;;;;;;;;;;;CAgB3C,CAAC;IAEA,MAAM,QAAQ,GAAG,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6C1B,iCAAkB;CACnB,CAAC;IAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,IAAY,EAAE,OAA0B;IACzE,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,oBAAoB,CAAC;IAC9D,MAAM,iBAAiB,GAAG,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;IAEtF,MAAM,OAAO,GAAG;KACb,IAAI;;;;;;;;;;;;;;;;;;;iDAmBwC,iBAAiB;;;;;;;;;kCAShC,IAAI;;;oCAGF,MAAM;;;;;;;;;KASrC,IAAI;;;;sCAI6B,MAAM;;;;;;;;;;;;;;;;;;;yBAmBnB,IAAI;;;;;;uBAMN,IAAI;;;;;;;;;;wCAUa,IAAI;;;;;;;;;;;;;;;;;;;;;;CAsB3C,CAAC;IAEA,MAAM,QAAQ,GAAG,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAkCJ,MAAM;;;;;;;;;;;;;;;;;;;;;6CAqBe,IAAI;;;;;EAK/C,iCAAkB;CACnB,CAAC;IAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/cli/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/cli/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACpC,CAAC;CACH;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,cAAc,CAAC;CACjF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,QAiB5B,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,cAAc,mFAOjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,+fAW9B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,CA+BnE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA4C1D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAiE/D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA8IxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/cli/templates.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/cli/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -155,7 +155,7 @@ async function newProject(args) {
|
|
|
155
155
|
// Prompt for Azure options if this template needs them
|
|
156
156
|
let templateOptions;
|
|
157
157
|
if ((0, azure_prompts_js_1.requiresAzurePrompts)(template)) {
|
|
158
|
-
const azureOptions = await (0, azure_prompts_js_1.promptForAzureOptions)(name
|
|
158
|
+
const azureOptions = await (0, azure_prompts_js_1.promptForAzureOptions)(name);
|
|
159
159
|
templateOptions = { azure: azureOptions };
|
|
160
160
|
}
|
|
161
161
|
console.log(`\nScaffolding "${name}" from template "${template}"...\n`);
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export type ICreateSecretsConfig = ISecretsConfig & {
|
|
|
30
30
|
* cloud: "azure",
|
|
31
31
|
* backend: "azure-key-vault",
|
|
32
32
|
* providerOptions: {
|
|
33
|
-
* azure: { resourceGroupName: "my-rg"
|
|
33
|
+
* azure: { resourceGroupName: "my-rg" },
|
|
34
34
|
* },
|
|
35
35
|
* });
|
|
36
36
|
* ```
|