@pagopa/dx-cli 0.24.0 → 0.25.1
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 +14 -0
- package/bin/index.js +13 -3
- package/dist/adapters/azure/cloud-account-service.js +169 -92
- package/dist/adapters/azure/locations.d.ts +5 -1
- package/dist/adapters/azure/locations.js +1 -1
- package/dist/adapters/azure-monitor/instrumentation.d.ts +26 -0
- package/dist/adapters/azure-monitor/instrumentation.js +84 -0
- package/dist/adapters/azure-monitor/telemetry.d.ts +19 -0
- package/dist/adapters/azure-monitor/telemetry.js +28 -0
- package/dist/adapters/commander/commands/add.d.ts +32 -7
- package/dist/adapters/commander/commands/add.js +197 -15
- package/dist/adapters/commander/commands/doctor.js +4 -1
- package/dist/adapters/commander/commands/init.js +64 -15
- package/dist/adapters/github/github-repo.js +20 -2
- package/dist/adapters/octokit/index.d.ts +12 -0
- package/dist/adapters/octokit/index.js +26 -2
- package/dist/adapters/plop/actions/setup-pnpm.js +5 -1
- package/dist/adapters/plop/actions/sync-repository-environments.d.ts +15 -0
- package/dist/adapters/plop/actions/sync-repository-environments.js +98 -0
- package/dist/adapters/plop/generators/environment/actions.js +4 -1
- package/dist/adapters/plop/generators/environment/index.d.ts +3 -3
- package/dist/adapters/plop/generators/environment/index.js +6 -3
- package/dist/adapters/plop/generators/environment/prompts.d.ts +38 -0
- package/dist/adapters/plop/generators/environment/prompts.js +236 -91
- package/dist/adapters/plop/index.d.ts +3 -3
- package/dist/adapters/plop/index.js +5 -5
- package/dist/domain/authorization.js +4 -4
- package/dist/domain/environment.d.ts +6 -1
- package/dist/domain/environment.js +1 -1
- package/dist/index.js +132 -8
- package/package.json +24 -16
- package/templates/environment/workflow/_release-terraform-apply-bootstrapper-{{env.name}}.yaml.hbs +145 -2
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { tf$ } from "../../execa/terraform.js";
|
|
4
|
+
import { payloadSchema, } from "../generators/environment/prompts.js";
|
|
5
|
+
const KNOWN_ENVIRONMENTS = ["dev", "uat", "prod"];
|
|
6
|
+
const KNOWN_ENVIRONMENT_NAMES = KNOWN_ENVIRONMENTS;
|
|
7
|
+
const environmentList = (environments) => `[${[
|
|
8
|
+
...KNOWN_ENVIRONMENTS.filter((environment) => environments.has(environment)),
|
|
9
|
+
...Array.from(environments).filter((environment) => !KNOWN_ENVIRONMENT_NAMES.includes(environment)),
|
|
10
|
+
]
|
|
11
|
+
.map((environment) => `"${environment}"`)
|
|
12
|
+
.join(", ")}]`;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the inner body of the `repository = { ... }` object.
|
|
15
|
+
*
|
|
16
|
+
* Example input:
|
|
17
|
+
* repository = {
|
|
18
|
+
* name = "repo"
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* Example output:
|
|
22
|
+
* name = "repo"
|
|
23
|
+
*/
|
|
24
|
+
const findRepositoryBlock = (content) => {
|
|
25
|
+
const match = /(?:^|\n)(?<indent>[^\S\r\n]*)repository[^\S\r\n]*=[^\S\r\n]*\{\n/.exec(content);
|
|
26
|
+
if (!match) {
|
|
27
|
+
throw new Error("Cannot find the repository configuration in infra/repository/main.tf");
|
|
28
|
+
}
|
|
29
|
+
const blockStart = match.index + match[0].length;
|
|
30
|
+
const closingMatch = new RegExp(`\\n${match.groups?.indent ?? ""}\\}`).exec(content.slice(blockStart));
|
|
31
|
+
if (!closingMatch) {
|
|
32
|
+
throw new Error("Cannot find the end of the repository configuration in infra/repository/main.tf");
|
|
33
|
+
}
|
|
34
|
+
const end = blockStart + closingMatch.index;
|
|
35
|
+
return { block: content.slice(blockStart, end), end, start: blockStart };
|
|
36
|
+
};
|
|
37
|
+
const repositoryPropertyIndent = (block) => {
|
|
38
|
+
const propertyMatch = /^(?<indent>\s*)\w+\s*=/m.exec(block);
|
|
39
|
+
return propertyMatch?.groups?.indent ?? " ";
|
|
40
|
+
};
|
|
41
|
+
const readRepositoryConfig = async (repositoryMainPath) => {
|
|
42
|
+
try {
|
|
43
|
+
return await fs.readFile(repositoryMainPath, "utf8");
|
|
44
|
+
}
|
|
45
|
+
catch (cause) {
|
|
46
|
+
throw new Error(`Cannot synchronize GitHub repository environments because ${path.relative(process.cwd(), repositoryMainPath)} does not exist or is not readable.`, { cause });
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export const syncRepositoryTerraformEnvironments = (content, environmentName) => {
|
|
50
|
+
const repositoryBlock = findRepositoryBlock(content);
|
|
51
|
+
const environmentsMatch = /^(?<indent>\s*)environments\s*=\s*\[(?<values>[\s\S]*?)\]\s*$/m.exec(repositoryBlock.block);
|
|
52
|
+
if (!environmentsMatch) {
|
|
53
|
+
if (environmentName === "prod") {
|
|
54
|
+
return content;
|
|
55
|
+
}
|
|
56
|
+
// Without an explicit list, the Terraform module manages prod by default.
|
|
57
|
+
// Adding a non-prod environment must also keep prod explicit.
|
|
58
|
+
const environments = new Set([environmentName, "prod"]);
|
|
59
|
+
const propertyIndent = repositoryPropertyIndent(repositoryBlock.block);
|
|
60
|
+
const separator = repositoryBlock.block.endsWith("\n") ? "" : "\n";
|
|
61
|
+
const updatedBlock = `${repositoryBlock.block}${separator}${propertyIndent}environments = ${environmentList(environments)}`;
|
|
62
|
+
return `${content.slice(0, repositoryBlock.start)}${updatedBlock}${content.slice(repositoryBlock.end)}`;
|
|
63
|
+
}
|
|
64
|
+
const existingEnvironments = new Set(Array.from((environmentsMatch.groups?.values ?? "").matchAll(/"([^"]+)"/g))
|
|
65
|
+
.map((match) => match[1])
|
|
66
|
+
.filter((environment) => environment.length > 0));
|
|
67
|
+
const hasSelectedEnvironment = existingEnvironments.has(environmentName);
|
|
68
|
+
const hasProdEnvironment = existingEnvironments.has("prod");
|
|
69
|
+
if (hasSelectedEnvironment && hasProdEnvironment) {
|
|
70
|
+
return content;
|
|
71
|
+
}
|
|
72
|
+
existingEnvironments.add(environmentName);
|
|
73
|
+
existingEnvironments.add("prod");
|
|
74
|
+
const indent = environmentsMatch.groups?.indent ?? " ";
|
|
75
|
+
const updatedLine = `${indent}environments = ${environmentList(existingEnvironments)}`;
|
|
76
|
+
const updatedBlock = repositoryBlock.block.replace(environmentsMatch[0], updatedLine);
|
|
77
|
+
return `${content.slice(0, repositoryBlock.start)}${updatedBlock}${content.slice(repositoryBlock.end)}`;
|
|
78
|
+
};
|
|
79
|
+
export const syncRepositoryEnvironments = async (payload) => {
|
|
80
|
+
const repositoryPath = path.join(process.cwd(), "infra", "repository");
|
|
81
|
+
const repositoryMainPath = path.join(repositoryPath, "main.tf");
|
|
82
|
+
const currentRepositoryConfig = await readRepositoryConfig(repositoryMainPath);
|
|
83
|
+
const updatedRepositoryConfig = syncRepositoryTerraformEnvironments(currentRepositoryConfig, payload.env.name);
|
|
84
|
+
if (updatedRepositoryConfig !== currentRepositoryConfig) {
|
|
85
|
+
await fs.writeFile(repositoryMainPath, updatedRepositoryConfig, "utf8");
|
|
86
|
+
}
|
|
87
|
+
const repositoryTerraform = tf$({ cwd: repositoryPath });
|
|
88
|
+
await repositoryTerraform `terraform init`;
|
|
89
|
+
await repositoryTerraform `terraform apply -auto-approve`;
|
|
90
|
+
};
|
|
91
|
+
export default function (plop) {
|
|
92
|
+
plop.setActionType("syncRepositoryEnvironments", async (data) => {
|
|
93
|
+
const payload = payloadSchema.parse(data);
|
|
94
|
+
await syncRepositoryEnvironments(payload);
|
|
95
|
+
return "GitHub repository environments updated from Terraform";
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXBvc2l0b3J5LWVudmlyb25tZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZGFwdGVycy9wbG9wL2FjdGlvbnMvc3luYy1yZXBvc2l0b3J5LWVudmlyb25tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsQyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFJN0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxhQUFhLEdBQ2QsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5QyxNQUFNLGtCQUFrQixHQUEwQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekUsTUFBTSx1QkFBdUIsR0FBc0Isa0JBQWtCLENBQUM7QUFFdEUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxZQUF5QixFQUFVLEVBQUUsQ0FDNUQsSUFBSTtJQUNGLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDM0MsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FDOUI7SUFDRCxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUNoQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQ2hFO0NBQ0Y7S0FDRSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxHQUFHLENBQUM7S0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFFbkI7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsT0FBZSxFQUNnQyxFQUFFO0lBQ2pELE1BQU0sS0FBSyxHQUNULGtFQUFrRSxDQUFDLElBQUksQ0FDckUsT0FBTyxDQUNSLENBQUM7SUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUNiLHNFQUFzRSxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxNQUFNLFlBQVksR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN6RSxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUMxQixDQUFDO0lBQ0YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUZBQWlGLENBQ2xGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQzNFLENBQUMsQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRTtJQUN6RCxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsT0FBTyxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLEVBQUUsa0JBQTBCLEVBQUUsRUFBRTtJQUNoRSxJQUFJLENBQUM7UUFDSCxPQUFPLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkRBQTZELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGtCQUFrQixDQUFDLHFDQUFxQyxFQUNsSixFQUFFLEtBQUssRUFBRSxDQUNWLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsQ0FDakQsT0FBZSxFQUNmLGVBQW9DLEVBQzVCLEVBQUU7SUFDVixNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxNQUFNLGlCQUFpQixHQUNyQixnRUFBZ0UsQ0FBQyxJQUFJLENBQ25FLGVBQWUsQ0FBQyxLQUFLLENBQ3RCLENBQUM7SUFFSixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QixJQUFJLGVBQWUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMvQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLDhEQUE4RDtRQUM5RCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBUyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RSxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQUcsR0FBRyxlQUFlLENBQUMsS0FBSyxHQUFHLFNBQVMsR0FBRyxjQUFjLDRCQUE0QixlQUFlLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUN0SSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzFHLENBQUM7SUFFRCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDeEUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEIsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0lBQ0YsTUFBTSxzQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekUsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsSUFBSSxzQkFBc0IsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDO0lBQzFELE1BQU0sV0FBVyxHQUFHLEdBQUcsTUFBTSw0QkFBNEIsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUNqRyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDaEQsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQ3BCLFdBQVcsQ0FDWixDQUFDO0lBRUYsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUMxRyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxLQUFLLEVBQzdDLE9BQWdCLEVBQ0QsRUFBRTtJQUNqQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVoRSxNQUFNLHVCQUF1QixHQUMzQixNQUFNLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakQsTUFBTSx1QkFBdUIsR0FBRyxtQ0FBbUMsQ0FDakUsdUJBQXVCLEVBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNqQixDQUFDO0lBRUYsSUFBSSx1QkFBdUIsS0FBSyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN6RCxNQUFNLG1CQUFtQixDQUFBLGdCQUFnQixDQUFDO0lBQzFDLE1BQU0sbUJBQW1CLENBQUEsK0JBQStCLENBQUM7QUFDM0QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE9BQU8sV0FBVyxJQUFpQjtJQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM5RCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsT0FBTyx1REFBdUQsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVwZGF0ZXMgaW5mcmEvcmVwb3NpdG9yeS9tYWluLnRmIGFuZCBhcHBsaWVzIGl0IHNvIEdpdEh1Yi5jb20gcmVwb3NpdG9yeVxuICogZW52aXJvbm1lbnRzIGV4aXN0IGJlZm9yZSBkZXBsb3ltZW50IHNjYWZmb2xkaW5nIGNvbnRpbnVlcy5cbiAqXG4gKiBUaGUgcmVwb3NpdG9yeSBUZXJyYWZvcm0gbW9kdWxlIHJlbWFpbnMgdGhlIHNvdXJjZSBvZiB0cnV0aCBmb3IgR2l0SHViXG4gKiBlbnZpcm9ubWVudHMsIGluY2x1ZGluZyBwcm90ZWN0aW9uIHJ1bGVzIGFuZCByZXZpZXdlcnMuIFRoaXMgYWN0aW9uIG9ubHlcbiAqIGNoYW5nZXMgdGhlIG1vZHVsZSdzIGByZXBvc2l0b3J5LmVudmlyb25tZW50c2AgaW5wdXQsIHRoZW4gcnVucyBUZXJyYWZvcm0gZnJvbVxuICogaW5mcmEvcmVwb3NpdG9yeSB0byBjcmVhdGUgb3IgdXBkYXRlIHRoZSBlbnZpcm9ubWVudHMgb24gR2l0SHViLlxuICovXG5pbXBvcnQgeyB0eXBlIE5vZGVQbG9wQVBJIH0gZnJvbSBcIm5vZGUtcGxvcFwiO1xuaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB0eXBlIHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZG9tYWluL2Vudmlyb25tZW50LmpzXCI7XG5cbmltcG9ydCB7IHRmJCB9IGZyb20gXCIuLi8uLi9leGVjYS90ZXJyYWZvcm0uanNcIjtcbmltcG9ydCB7XG4gIHR5cGUgUGF5bG9hZCxcbiAgcGF5bG9hZFNjaGVtYSxcbn0gZnJvbSBcIi4uL2dlbmVyYXRvcnMvZW52aXJvbm1lbnQvcHJvbXB0cy5qc1wiO1xuXG5jb25zdCBLTk9XTl9FTlZJUk9OTUVOVFM6IEVudmlyb25tZW50W1wibmFtZVwiXVtdID0gW1wiZGV2XCIsIFwidWF0XCIsIFwicHJvZFwiXTtcbmNvbnN0IEtOT1dOX0VOVklST05NRU5UX05BTUVTOiByZWFkb25seSBzdHJpbmdbXSA9IEtOT1dOX0VOVklST05NRU5UUztcblxuY29uc3QgZW52aXJvbm1lbnRMaXN0ID0gKGVudmlyb25tZW50czogU2V0PHN0cmluZz4pOiBzdHJpbmcgPT5cbiAgYFske1tcbiAgICAuLi5LTk9XTl9FTlZJUk9OTUVOVFMuZmlsdGVyKChlbnZpcm9ubWVudCkgPT5cbiAgICAgIGVudmlyb25tZW50cy5oYXMoZW52aXJvbm1lbnQpLFxuICAgICksXG4gICAgLi4uQXJyYXkuZnJvbShlbnZpcm9ubWVudHMpLmZpbHRlcihcbiAgICAgIChlbnZpcm9ubWVudCkgPT4gIUtOT1dOX0VOVklST05NRU5UX05BTUVTLmluY2x1ZGVzKGVudmlyb25tZW50KSxcbiAgICApLFxuICBdXG4gICAgLm1hcCgoZW52aXJvbm1lbnQpID0+IGBcIiR7ZW52aXJvbm1lbnR9XCJgKVxuICAgIC5qb2luKFwiLCBcIil9XWA7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5uZXIgYm9keSBvZiB0aGUgYHJlcG9zaXRvcnkgPSB7IC4uLiB9YCBvYmplY3QuXG4gKlxuICogRXhhbXBsZSBpbnB1dDpcbiAqIHJlcG9zaXRvcnkgPSB7XG4gKiAgIG5hbWUgPSBcInJlcG9cIlxuICogfVxuICpcbiAqIEV4YW1wbGUgb3V0cHV0OlxuICogICBuYW1lID0gXCJyZXBvXCJcbiAqL1xuY29uc3QgZmluZFJlcG9zaXRvcnlCbG9jayA9IChcbiAgY29udGVudDogc3RyaW5nLFxuKTogeyBibG9jazogc3RyaW5nOyBlbmQ6IG51bWJlcjsgc3RhcnQ6IG51bWJlciB9ID0+IHtcbiAgY29uc3QgbWF0Y2ggPVxuICAgIC8oPzpefFxcbikoPzxpbmRlbnQ+W15cXFNcXHJcXG5dKilyZXBvc2l0b3J5W15cXFNcXHJcXG5dKj1bXlxcU1xcclxcbl0qXFx7XFxuLy5leGVjKFxuICAgICAgY29udGVudCxcbiAgICApO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJDYW5ub3QgZmluZCB0aGUgcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uIGluIGluZnJhL3JlcG9zaXRvcnkvbWFpbi50ZlwiLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBibG9ja1N0YXJ0ID0gbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGg7XG4gIGNvbnN0IGNsb3NpbmdNYXRjaCA9IG5ldyBSZWdFeHAoYFxcXFxuJHttYXRjaC5ncm91cHM/LmluZGVudCA/PyBcIlwifVxcXFx9YCkuZXhlYyhcbiAgICBjb250ZW50LnNsaWNlKGJsb2NrU3RhcnQpLFxuICApO1xuICBpZiAoIWNsb3NpbmdNYXRjaCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiQ2Fubm90IGZpbmQgdGhlIGVuZCBvZiB0aGUgcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uIGluIGluZnJhL3JlcG9zaXRvcnkvbWFpbi50ZlwiLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBlbmQgPSBibG9ja1N0YXJ0ICsgY2xvc2luZ01hdGNoLmluZGV4O1xuICByZXR1cm4geyBibG9jazogY29udGVudC5zbGljZShibG9ja1N0YXJ0LCBlbmQpLCBlbmQsIHN0YXJ0OiBibG9ja1N0YXJ0IH07XG59O1xuXG5jb25zdCByZXBvc2l0b3J5UHJvcGVydHlJbmRlbnQgPSAoYmxvY2s6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHByb3BlcnR5TWF0Y2ggPSAvXig/PGluZGVudD5cXHMqKVxcdytcXHMqPS9tLmV4ZWMoYmxvY2spO1xuICByZXR1cm4gcHJvcGVydHlNYXRjaD8uZ3JvdXBzPy5pbmRlbnQgPz8gXCIgICAgXCI7XG59O1xuXG5jb25zdCByZWFkUmVwb3NpdG9yeUNvbmZpZyA9IGFzeW5jIChyZXBvc2l0b3J5TWFpblBhdGg6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBmcy5yZWFkRmlsZShyZXBvc2l0b3J5TWFpblBhdGgsIFwidXRmOFwiKTtcbiAgfSBjYXRjaCAoY2F1c2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IHN5bmNocm9uaXplIEdpdEh1YiByZXBvc2l0b3J5IGVudmlyb25tZW50cyBiZWNhdXNlICR7cGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCByZXBvc2l0b3J5TWFpblBhdGgpfSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgcmVhZGFibGUuYCxcbiAgICAgIHsgY2F1c2UgfSxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3luY1JlcG9zaXRvcnlUZXJyYWZvcm1FbnZpcm9ubWVudHMgPSAoXG4gIGNvbnRlbnQ6IHN0cmluZyxcbiAgZW52aXJvbm1lbnROYW1lOiBFbnZpcm9ubWVudFtcIm5hbWVcIl0sXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCByZXBvc2l0b3J5QmxvY2sgPSBmaW5kUmVwb3NpdG9yeUJsb2NrKGNvbnRlbnQpO1xuICBjb25zdCBlbnZpcm9ubWVudHNNYXRjaCA9XG4gICAgL14oPzxpbmRlbnQ+XFxzKillbnZpcm9ubWVudHNcXHMqPVxccypcXFsoPzx2YWx1ZXM+W1xcc1xcU10qPylcXF1cXHMqJC9tLmV4ZWMoXG4gICAgICByZXBvc2l0b3J5QmxvY2suYmxvY2ssXG4gICAgKTtcblxuICBpZiAoIWVudmlyb25tZW50c01hdGNoKSB7XG4gICAgaWYgKGVudmlyb25tZW50TmFtZSA9PT0gXCJwcm9kXCIpIHtcbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIFdpdGhvdXQgYW4gZXhwbGljaXQgbGlzdCwgdGhlIFRlcnJhZm9ybSBtb2R1bGUgbWFuYWdlcyBwcm9kIGJ5IGRlZmF1bHQuXG4gICAgLy8gQWRkaW5nIGEgbm9uLXByb2QgZW52aXJvbm1lbnQgbXVzdCBhbHNvIGtlZXAgcHJvZCBleHBsaWNpdC5cbiAgICBjb25zdCBlbnZpcm9ubWVudHMgPSBuZXcgU2V0PHN0cmluZz4oW2Vudmlyb25tZW50TmFtZSwgXCJwcm9kXCJdKTtcbiAgICBjb25zdCBwcm9wZXJ0eUluZGVudCA9IHJlcG9zaXRvcnlQcm9wZXJ0eUluZGVudChyZXBvc2l0b3J5QmxvY2suYmxvY2spO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IHJlcG9zaXRvcnlCbG9jay5ibG9jay5lbmRzV2l0aChcIlxcblwiKSA/IFwiXCIgOiBcIlxcblwiO1xuICAgIGNvbnN0IHVwZGF0ZWRCbG9jayA9IGAke3JlcG9zaXRvcnlCbG9jay5ibG9ja30ke3NlcGFyYXRvcn0ke3Byb3BlcnR5SW5kZW50fWVudmlyb25tZW50cyAgICAgICAgICAgPSAke2Vudmlyb25tZW50TGlzdChlbnZpcm9ubWVudHMpfWA7XG4gICAgcmV0dXJuIGAke2NvbnRlbnQuc2xpY2UoMCwgcmVwb3NpdG9yeUJsb2NrLnN0YXJ0KX0ke3VwZGF0ZWRCbG9ja30ke2NvbnRlbnQuc2xpY2UocmVwb3NpdG9yeUJsb2NrLmVuZCl9YDtcbiAgfVxuXG4gIGNvbnN0IGV4aXN0aW5nRW52aXJvbm1lbnRzID0gbmV3IFNldChcbiAgICBBcnJheS5mcm9tKChlbnZpcm9ubWVudHNNYXRjaC5ncm91cHM/LnZhbHVlcyA/PyBcIlwiKS5tYXRjaEFsbCgvXCIoW15cIl0rKVwiL2cpKVxuICAgICAgLm1hcCgobWF0Y2gpID0+IG1hdGNoWzFdKVxuICAgICAgLmZpbHRlcigoZW52aXJvbm1lbnQpID0+IGVudmlyb25tZW50Lmxlbmd0aCA+IDApLFxuICApO1xuICBjb25zdCBoYXNTZWxlY3RlZEVudmlyb25tZW50ID0gZXhpc3RpbmdFbnZpcm9ubWVudHMuaGFzKGVudmlyb25tZW50TmFtZSk7XG4gIGNvbnN0IGhhc1Byb2RFbnZpcm9ubWVudCA9IGV4aXN0aW5nRW52aXJvbm1lbnRzLmhhcyhcInByb2RcIik7XG4gIGlmIChoYXNTZWxlY3RlZEVudmlyb25tZW50ICYmIGhhc1Byb2RFbnZpcm9ubWVudCkge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgZXhpc3RpbmdFbnZpcm9ubWVudHMuYWRkKGVudmlyb25tZW50TmFtZSk7XG4gIGV4aXN0aW5nRW52aXJvbm1lbnRzLmFkZChcInByb2RcIik7XG4gIGNvbnN0IGluZGVudCA9IGVudmlyb25tZW50c01hdGNoLmdyb3Vwcz8uaW5kZW50ID8/IFwiICAgIFwiO1xuICBjb25zdCB1cGRhdGVkTGluZSA9IGAke2luZGVudH1lbnZpcm9ubWVudHMgICAgICAgICAgID0gJHtlbnZpcm9ubWVudExpc3QoZXhpc3RpbmdFbnZpcm9ubWVudHMpfWA7XG4gIGNvbnN0IHVwZGF0ZWRCbG9jayA9IHJlcG9zaXRvcnlCbG9jay5ibG9jay5yZXBsYWNlKFxuICAgIGVudmlyb25tZW50c01hdGNoWzBdLFxuICAgIHVwZGF0ZWRMaW5lLFxuICApO1xuXG4gIHJldHVybiBgJHtjb250ZW50LnNsaWNlKDAsIHJlcG9zaXRvcnlCbG9jay5zdGFydCl9JHt1cGRhdGVkQmxvY2t9JHtjb250ZW50LnNsaWNlKHJlcG9zaXRvcnlCbG9jay5lbmQpfWA7XG59O1xuXG5leHBvcnQgY29uc3Qgc3luY1JlcG9zaXRvcnlFbnZpcm9ubWVudHMgPSBhc3luYyAoXG4gIHBheWxvYWQ6IFBheWxvYWQsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcmVwb3NpdG9yeVBhdGggPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJpbmZyYVwiLCBcInJlcG9zaXRvcnlcIik7XG4gIGNvbnN0IHJlcG9zaXRvcnlNYWluUGF0aCA9IHBhdGguam9pbihyZXBvc2l0b3J5UGF0aCwgXCJtYWluLnRmXCIpO1xuXG4gIGNvbnN0IGN1cnJlbnRSZXBvc2l0b3J5Q29uZmlnID1cbiAgICBhd2FpdCByZWFkUmVwb3NpdG9yeUNvbmZpZyhyZXBvc2l0b3J5TWFpblBhdGgpO1xuICBjb25zdCB1cGRhdGVkUmVwb3NpdG9yeUNvbmZpZyA9IHN5bmNSZXBvc2l0b3J5VGVycmFmb3JtRW52aXJvbm1lbnRzKFxuICAgIGN1cnJlbnRSZXBvc2l0b3J5Q29uZmlnLFxuICAgIHBheWxvYWQuZW52Lm5hbWUsXG4gICk7XG5cbiAgaWYgKHVwZGF0ZWRSZXBvc2l0b3J5Q29uZmlnICE9PSBjdXJyZW50UmVwb3NpdG9yeUNvbmZpZykge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShyZXBvc2l0b3J5TWFpblBhdGgsIHVwZGF0ZWRSZXBvc2l0b3J5Q29uZmlnLCBcInV0ZjhcIik7XG4gIH1cblxuICBjb25zdCByZXBvc2l0b3J5VGVycmFmb3JtID0gdGYkKHsgY3dkOiByZXBvc2l0b3J5UGF0aCB9KTtcbiAgYXdhaXQgcmVwb3NpdG9yeVRlcnJhZm9ybWB0ZXJyYWZvcm0gaW5pdGA7XG4gIGF3YWl0IHJlcG9zaXRvcnlUZXJyYWZvcm1gdGVycmFmb3JtIGFwcGx5IC1hdXRvLWFwcHJvdmVgO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHBsb3A6IE5vZGVQbG9wQVBJKTogdm9pZCB7XG4gIHBsb3Auc2V0QWN0aW9uVHlwZShcInN5bmNSZXBvc2l0b3J5RW52aXJvbm1lbnRzXCIsIGFzeW5jIChkYXRhKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IHBheWxvYWRTY2hlbWEucGFyc2UoZGF0YSk7XG4gICAgYXdhaXQgc3luY1JlcG9zaXRvcnlFbnZpcm9ubWVudHMocGF5bG9hZCk7XG4gICAgcmV0dXJuIFwiR2l0SHViIHJlcG9zaXRvcnkgZW52aXJvbm1lbnRzIHVwZGF0ZWQgZnJvbSBUZXJyYWZvcm1cIjtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -56,6 +56,9 @@ export default function getActions(templatesPath) {
|
|
|
56
56
|
{
|
|
57
57
|
type: "getTerraformBackend",
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
type: "syncRepositoryEnvironments",
|
|
61
|
+
},
|
|
59
62
|
addWorkflowModule(templatesPath),
|
|
60
63
|
...addEnvironmentModule("bootstrapper"),
|
|
61
64
|
];
|
|
@@ -72,4 +75,4 @@ export default function getActions(templatesPath) {
|
|
|
72
75
|
return actions;
|
|
73
76
|
};
|
|
74
77
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGVycy9wbG9wL2dlbmVyYXRvcnMvZW52aXJvbm1lbnQvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsT0FBMkMsRUFDM0MsYUFBcUIsRUFDckIsSUFBSSxHQUFHLEtBQUssRUFDWixFQUFFO0lBQ0YsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN4QixNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3ZDLEdBQUcsQ0FBQyxhQUFhLEVBQ2pCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUN6QixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzNDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FDL0MsQ0FBQztJQUNGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixPQUFPLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQztRQUN2QjtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUNyRSxXQUFXLEVBQUUsSUFB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QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWN0aW9uVHlwZSwgRHluYW1pY0FjdGlvbnNGdW5jdGlvbiB9IGZyb20gXCJub2RlLXBsb3BcIjtcblxuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcblxuaW1wb3J0IHsgZm9ybWF0VGVycmFmb3JtQ29kZSB9IGZyb20gXCIuLi8uLi8uLi90ZXJyYWZvcm0vZm10LmpzXCI7XG5pbXBvcnQgeyB0ZXJyYWZvcm1TdGF0ZUtleSB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL3RlcnJhZm9ybS1zdGF0ZS1rZXkuanNcIjtcbmltcG9ydCB7IFBheWxvYWQgfSBmcm9tIFwiLi9wcm9tcHRzLmpzXCI7XG5pbXBvcnQgeyBwYXlsb2FkU2NoZW1hIH0gZnJvbSBcIi4vcHJvbXB0cy5qc1wiO1xuXG5jb25zdCBhZGRNb2R1bGUgPSAoXG4gIGNvbnRleHQ6IFBpY2s8UGF5bG9hZCwgXCJlbnZcIiB8IFwid29ya3NwYWNlXCI+LFxuICB0ZW1wbGF0ZXNQYXRoOiBzdHJpbmcsXG4gIGluaXQgPSBmYWxzZSxcbikgPT4ge1xuICBjb25zdCB7IGVudiB9ID0gY29udGV4dDtcbiAgY29uc3QgY2xvdWRBY2NvdW50c0J5Q3NwID0gT2JqZWN0Lmdyb3VwQnkoXG4gICAgZW52LmNsb3VkQWNjb3VudHMsXG4gICAgKGFjY291bnQpID0+IGFjY291bnQuY3NwLFxuICApO1xuICBjb25zdCBpbmNsdWRlc1Byb2RJTyA9IGVudi5jbG91ZEFjY291bnRzLnNvbWUoXG4gICAgKGFjY291bnQpID0+IGFjY291bnQuZGlzcGxheU5hbWUgPT09IFwiUFJPRC1JT1wiLFxuICApO1xuICBjb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuICByZXR1cm4gKG5hbWU6IHN0cmluZykgPT4gW1xuICAgIHtcbiAgICAgIGJhc2U6IHRlbXBsYXRlc1BhdGgsXG4gICAgICBkYXRhOiB7IGNsb3VkQWNjb3VudHNCeUNzcCwgaW5jbHVkZXNQcm9kSU8sIGluaXQ6IGluaXQgfHwgdW5kZWZpbmVkIH0sXG4gICAgICBkZXN0aW5hdGlvbjogcGF0aC5qb2luKGN3ZCwgXCJpbmZyYVwiKSxcbiAgICAgIGZvcmNlOiB0cnVlLFxuICAgICAgdGVtcGxhdGVGaWxlczogcGF0aC5qb2luKHRlbXBsYXRlc1BhdGgsIG5hbWUpLFxuICAgICAgdHJhbnNmb3JtOiBmb3JtYXRUZXJyYWZvcm1Db2RlLFxuICAgICAgdHlwZTogXCJhZGRNYW55XCIsXG4gICAgICB2ZXJib3NlOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgYmFzZTogcGF0aC5qb2luKHRlbXBsYXRlc1BhdGgsIFwic2hhcmVkXCIpLFxuICAgICAgZGF0YToge1xuICAgICAgICBjbG91ZEFjY291bnRzQnlDc3AsXG4gICAgICAgIGluaXQ6IGluaXQgfHwgdW5kZWZpbmVkLFxuICAgICAgICB0ZXJyYWZvcm1CYWNrZW5kS2V5OiB0ZXJyYWZvcm1TdGF0ZUtleShjb250ZXh0LCBuYW1lKSxcbiAgICAgIH0sXG4gICAgICBkZXN0aW5hdGlvbjogcGF0aC5qb2luKGN3ZCwgXCJpbmZyYVwiLCBuYW1lLCBcInt7ZW52Lm5hbWV9fVwiKSxcbiAgICAgIGZvcmNlOiB0cnVlLFxuICAgICAgdGVtcGxhdGVGaWxlczogcGF0aC5qb2luKHRlbXBsYXRlc1BhdGgsIFwic2hhcmVkXCIpLFxuICAgICAgdHJhbnNmb3JtOiBmb3JtYXRUZXJyYWZvcm1Db2RlLFxuICAgICAgdHlwZTogXCJhZGRNYW55XCIsXG4gICAgICB2ZXJib3NlOiB0cnVlLFxuICAgIH0sXG4gIF07XG59O1xuXG5jb25zdCBhZGRXb3JrZmxvd01vZHVsZSA9ICh0ZW1wbGF0ZXNQYXRoOiBzdHJpbmcpOiBBY3Rpb25UeXBlID0+IHtcbiAgY29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKTtcbiAgcmV0dXJuIHtcbiAgICBiYXNlOiBwYXRoLmpvaW4odGVtcGxhdGVzUGF0aCwgXCJ3b3JrZmxvd1wiKSxcbiAgICBkZXN0aW5hdGlvbjogcGF0aC5qb2luKGN3ZCwgXCIuZ2l0aHViXCIsIFwid29ya2Zsb3dzXCIpLFxuICAgIGZvcmNlOiB0cnVlLFxuICAgIHRlbXBsYXRlRmlsZXM6IHBhdGguam9pbih0ZW1wbGF0ZXNQYXRoLCBcIndvcmtmbG93XCIpLFxuICAgIHR5cGU6IFwiYWRkTWFueVwiLFxuICAgIHZlcmJvc2U6IHRydWUsXG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRBY3Rpb25zKFxuICB0ZW1wbGF0ZXNQYXRoOiBzdHJpbmcsXG4pOiBEeW5hbWljQWN0aW9uc0Z1bmN0aW9uIHtcbiAgcmV0dXJuIChpbnB1dDogdW5rbm93bikgPT4ge1xuICAgIGNvbnN0IGxvZ2dlciA9IGdldExvZ2dlcihbXCJnZW5cIiwgXCJlbnZcIl0pO1xuXG4gICAgbG9nZ2VyLmRlYnVnKFwiZW52aXJvbm1lbnQgZ2VuZXJhdG9yIGlucHV0IHtpbnB1dH1cIiwgeyBpbnB1dCB9KTtcblxuICAgIGNvbnN0IHsgZW52LCBpbml0LCB3b3Jrc3BhY2UgfSA9IHBheWxvYWRTY2hlbWEucGFyc2UoaW5wdXQpO1xuXG4gICAgY29uc3QgYWRkRW52aXJvbm1lbnRNb2R1bGUgPSBhZGRNb2R1bGUoXG4gICAgICB7IGVudiwgd29ya3NwYWNlIH0sXG4gICAgICB0ZW1wbGF0ZXNQYXRoLFxuICAgICAgISFpbml0LFxuICAgICk7XG5cbiAgICBjb25zdCBhY3Rpb25zOiBBY3Rpb25UeXBlW10gPSBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwiZ2V0VGVycmFmb3JtQmFja2VuZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJzeW5jUmVwb3NpdG9yeUVudmlyb25tZW50c1wiLFxuICAgICAgfSxcbiAgICAgIGFkZFdvcmtmbG93TW9kdWxlKHRlbXBsYXRlc1BhdGgpLFxuICAgICAgLi4uYWRkRW52aXJvbm1lbnRNb2R1bGUoXCJib290c3RyYXBwZXJcIiksXG4gICAgXTtcblxuICAgIGlmIChpbml0KSB7XG4gICAgICBhY3Rpb25zLnVuc2hpZnQoXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImluaXRDbG91ZEFjY291bnRzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBpbml0LnRlcnJhZm9ybUJhY2tlbmRcbiAgICAgICAgICAgID8gXCJwcm92aXNpb25UZXJyYWZvcm1CYWNrZW5kXCJcbiAgICAgICAgICAgIDogXCJnZXRUZXJyYWZvcm1CYWNrZW5kXCIsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgYWN0aW9ucy5wdXNoKC4uLmFkZEVudmlyb25tZW50TW9kdWxlKFwiY29yZVwiKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH07XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { type NodePlopAPI } from "node-plop";
|
|
|
2
2
|
import { CloudAccountRepository, CloudAccountService } from "../../../../domain/cloud-account.js";
|
|
3
3
|
import { GitHubRepo } from "../../../../domain/github-repo.js";
|
|
4
4
|
import { type GitHubService } from "../../../../domain/github.js";
|
|
5
|
-
import { Payload, payloadSchema } from "./prompts.js";
|
|
5
|
+
import { InitialAnswers, Payload, payloadSchema } from "./prompts.js";
|
|
6
6
|
export declare const PLOP_ENVIRONMENT_GENERATOR_NAME = "DX_DeploymentEnvironment";
|
|
7
|
-
export { Payload, payloadSchema };
|
|
8
|
-
export default function (plop: NodePlopAPI, templatesPath: string, cloudAccountRepository: CloudAccountRepository, cloudAccountService: CloudAccountService, gitHubService: GitHubService, github?: GitHubRepo): void;
|
|
7
|
+
export { type InitialAnswers, Payload, payloadSchema };
|
|
8
|
+
export default function (plop: NodePlopAPI, templatesPath: string, cloudAccountRepository: CloudAccountRepository, cloudAccountService: CloudAccountService, gitHubService: GitHubService, github?: GitHubRepo, initialAnswers?: InitialAnswers): void;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import setGetTerraformBackend from "../../actions/get-terraform-backend.js";
|
|
2
2
|
import setInitCloudAccountsAction from "../../actions/init-cloud-accounts.js";
|
|
3
3
|
import setProvisionTerraformBackendAction from "../../actions/provision-terraform-backend.js";
|
|
4
|
+
import setSyncRepositoryEnvironmentsAction from "../../actions/sync-repository-environments.js";
|
|
4
5
|
import setEnvShortHelper from "../../helpers/env-short.js";
|
|
5
6
|
import setEqHelper from "../../helpers/eq.js";
|
|
6
7
|
import setResourcePrefixHelper from "../../helpers/resource-prefix.js";
|
|
7
8
|
import setTerraformStateKeyHelper from "../../helpers/terraform-state-key.js";
|
|
8
9
|
import getActions from "./actions.js";
|
|
9
|
-
import getPrompts, { payloadSchema } from "./prompts.js";
|
|
10
|
+
import getPrompts, { payloadSchema, } from "./prompts.js";
|
|
10
11
|
export const PLOP_ENVIRONMENT_GENERATOR_NAME = "DX_DeploymentEnvironment";
|
|
11
12
|
export { payloadSchema };
|
|
12
|
-
export default function (plop, templatesPath, cloudAccountRepository, cloudAccountService, gitHubService, github) {
|
|
13
|
+
export default function (plop, templatesPath, cloudAccountRepository, cloudAccountService, gitHubService, github, initialAnswers = {}) {
|
|
13
14
|
setEnvShortHelper(plop);
|
|
14
15
|
setResourcePrefixHelper(plop);
|
|
15
16
|
setEqHelper(plop);
|
|
@@ -17,6 +18,7 @@ export default function (plop, templatesPath, cloudAccountRepository, cloudAccou
|
|
|
17
18
|
setGetTerraformBackend(plop, cloudAccountService);
|
|
18
19
|
setProvisionTerraformBackendAction(plop, cloudAccountService);
|
|
19
20
|
setInitCloudAccountsAction(plop, cloudAccountService, gitHubService);
|
|
21
|
+
setSyncRepositoryEnvironmentsAction(plop);
|
|
20
22
|
plop.setGenerator(PLOP_ENVIRONMENT_GENERATOR_NAME, {
|
|
21
23
|
actions: getActions(templatesPath),
|
|
22
24
|
description: "Generate a new deployment environment",
|
|
@@ -24,7 +26,8 @@ export default function (plop, templatesPath, cloudAccountRepository, cloudAccou
|
|
|
24
26
|
cloudAccountRepository,
|
|
25
27
|
cloudAccountService,
|
|
26
28
|
github,
|
|
29
|
+
initialAnswers,
|
|
27
30
|
}),
|
|
28
31
|
});
|
|
29
32
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWRhcHRlcnMvcGxvcC9nZW5lcmF0b3JzL2Vudmlyb25tZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sc0JBQXNCLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTywwQkFBMEIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLGtDQUFrQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sbUNBQW1DLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxpQkFBaUIsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLFdBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLHVCQUF1QixNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sMEJBQTBCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sVUFBVSxFQUFFLEVBR2pCLGFBQWEsR0FDZCxNQUFNLGNBQWMsQ0FBQztBQUV0QixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRywwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQWdDLGFBQWEsRUFBRSxDQUFDO0FBRXZELE1BQU0sQ0FBQyxPQUFPLFdBQ1osSUFBaUIsRUFDakIsYUFBcUIsRUFDckIsc0JBQThDLEVBQzlDLG1CQUF3QyxFQUN4QyxhQUE0QixFQUM1QixNQUFtQixFQUNuQixpQkFBaUMsRUFBRTtJQUVuQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4Qix1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsa0NBQWtDLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsMEJBQTBCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JFLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFDLElBQUksQ0FBQyxZQUFZLENBQUMsK0JBQStCLEVBQUU7UUFDakQsT0FBTyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDbEMsV0FBVyxFQUFFLHVDQUF1QztRQUNwRCxPQUFPLEVBQUUsVUFBVSxDQUFDO1lBQ2xCLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsTUFBTTtZQUNOLGNBQWM7U0FDZixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTm9kZVBsb3BBUEkgfSBmcm9tIFwibm9kZS1wbG9wXCI7XG5cbmltcG9ydCB7XG4gIENsb3VkQWNjb3VudFJlcG9zaXRvcnksXG4gIENsb3VkQWNjb3VudFNlcnZpY2UsXG59IGZyb20gXCIuLi8uLi8uLi8uLi9kb21haW4vY2xvdWQtYWNjb3VudC5qc1wiO1xuaW1wb3J0IHsgR2l0SHViUmVwbyB9IGZyb20gXCIuLi8uLi8uLi8uLi9kb21haW4vZ2l0aHViLXJlcG8uanNcIjtcbmltcG9ydCB7IHR5cGUgR2l0SHViU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9kb21haW4vZ2l0aHViLmpzXCI7XG5pbXBvcnQgc2V0R2V0VGVycmFmb3JtQmFja2VuZCBmcm9tIFwiLi4vLi4vYWN0aW9ucy9nZXQtdGVycmFmb3JtLWJhY2tlbmQuanNcIjtcbmltcG9ydCBzZXRJbml0Q2xvdWRBY2NvdW50c0FjdGlvbiBmcm9tIFwiLi4vLi4vYWN0aW9ucy9pbml0LWNsb3VkLWFjY291bnRzLmpzXCI7XG5pbXBvcnQgc2V0UHJvdmlzaW9uVGVycmFmb3JtQmFja2VuZEFjdGlvbiBmcm9tIFwiLi4vLi4vYWN0aW9ucy9wcm92aXNpb24tdGVycmFmb3JtLWJhY2tlbmQuanNcIjtcbmltcG9ydCBzZXRTeW5jUmVwb3NpdG9yeUVudmlyb25tZW50c0FjdGlvbiBmcm9tIFwiLi4vLi4vYWN0aW9ucy9zeW5jLXJlcG9zaXRvcnktZW52aXJvbm1lbnRzLmpzXCI7XG5pbXBvcnQgc2V0RW52U2hvcnRIZWxwZXIgZnJvbSBcIi4uLy4uL2hlbHBlcnMvZW52LXNob3J0LmpzXCI7XG5pbXBvcnQgc2V0RXFIZWxwZXIgZnJvbSBcIi4uLy4uL2hlbHBlcnMvZXEuanNcIjtcbmltcG9ydCBzZXRSZXNvdXJjZVByZWZpeEhlbHBlciBmcm9tIFwiLi4vLi4vaGVscGVycy9yZXNvdXJjZS1wcmVmaXguanNcIjtcbmltcG9ydCBzZXRUZXJyYWZvcm1TdGF0ZUtleUhlbHBlciBmcm9tIFwiLi4vLi4vaGVscGVycy90ZXJyYWZvcm0tc3RhdGUta2V5LmpzXCI7XG5pbXBvcnQgZ2V0QWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zLmpzXCI7XG5pbXBvcnQgZ2V0UHJvbXB0cywge1xuICBJbml0aWFsQW5zd2VycyxcbiAgUGF5bG9hZCxcbiAgcGF5bG9hZFNjaGVtYSxcbn0gZnJvbSBcIi4vcHJvbXB0cy5qc1wiO1xuXG5leHBvcnQgY29uc3QgUExPUF9FTlZJUk9OTUVOVF9HRU5FUkFUT1JfTkFNRSA9IFwiRFhfRGVwbG95bWVudEVudmlyb25tZW50XCI7XG5leHBvcnQgeyB0eXBlIEluaXRpYWxBbnN3ZXJzLCBQYXlsb2FkLCBwYXlsb2FkU2NoZW1hIH07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChcbiAgcGxvcDogTm9kZVBsb3BBUEksXG4gIHRlbXBsYXRlc1BhdGg6IHN0cmluZyxcbiAgY2xvdWRBY2NvdW50UmVwb3NpdG9yeTogQ2xvdWRBY2NvdW50UmVwb3NpdG9yeSxcbiAgY2xvdWRBY2NvdW50U2VydmljZTogQ2xvdWRBY2NvdW50U2VydmljZSxcbiAgZ2l0SHViU2VydmljZTogR2l0SHViU2VydmljZSxcbiAgZ2l0aHViPzogR2l0SHViUmVwbyxcbiAgaW5pdGlhbEFuc3dlcnM6IEluaXRpYWxBbnN3ZXJzID0ge30sXG4pIHtcbiAgc2V0RW52U2hvcnRIZWxwZXIocGxvcCk7XG4gIHNldFJlc291cmNlUHJlZml4SGVscGVyKHBsb3ApO1xuICBzZXRFcUhlbHBlcihwbG9wKTtcbiAgc2V0VGVycmFmb3JtU3RhdGVLZXlIZWxwZXIocGxvcCk7XG5cbiAgc2V0R2V0VGVycmFmb3JtQmFja2VuZChwbG9wLCBjbG91ZEFjY291bnRTZXJ2aWNlKTtcbiAgc2V0UHJvdmlzaW9uVGVycmFmb3JtQmFja2VuZEFjdGlvbihwbG9wLCBjbG91ZEFjY291bnRTZXJ2aWNlKTtcbiAgc2V0SW5pdENsb3VkQWNjb3VudHNBY3Rpb24ocGxvcCwgY2xvdWRBY2NvdW50U2VydmljZSwgZ2l0SHViU2VydmljZSk7XG4gIHNldFN5bmNSZXBvc2l0b3J5RW52aXJvbm1lbnRzQWN0aW9uKHBsb3ApO1xuXG4gIHBsb3Auc2V0R2VuZXJhdG9yKFBMT1BfRU5WSVJPTk1FTlRfR0VORVJBVE9SX05BTUUsIHtcbiAgICBhY3Rpb25zOiBnZXRBY3Rpb25zKHRlbXBsYXRlc1BhdGgpLFxuICAgIGRlc2NyaXB0aW9uOiBcIkdlbmVyYXRlIGEgbmV3IGRlcGxveW1lbnQgZW52aXJvbm1lbnRcIixcbiAgICBwcm9tcHRzOiBnZXRQcm9tcHRzKHtcbiAgICAgIGNsb3VkQWNjb3VudFJlcG9zaXRvcnksXG4gICAgICBjbG91ZEFjY291bnRTZXJ2aWNlLFxuICAgICAgZ2l0aHViLFxuICAgICAgaW5pdGlhbEFuc3dlcnMsXG4gICAgfSksXG4gIH0pO1xufVxuIl19
|
|
@@ -64,10 +64,48 @@ export declare const payloadSchema: z.ZodObject<{
|
|
|
64
64
|
}, z.core.$strip>;
|
|
65
65
|
}, z.core.$strip>;
|
|
66
66
|
export type Payload = z.infer<typeof payloadSchema>;
|
|
67
|
+
/**
|
|
68
|
+
* Prefilled answers supplied up-front by the caller (e.g. CLI flags), used to
|
|
69
|
+
* skip the matching prompts. Identifies cloud accounts by id and locations by
|
|
70
|
+
* account id, since the full domain objects aren't available before resolving.
|
|
71
|
+
*/
|
|
72
|
+
export declare const initialAnswersSchema: z.ZodObject<{
|
|
73
|
+
env: z.ZodOptional<z.ZodObject<{
|
|
74
|
+
cloudAccountIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
75
|
+
locations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
76
|
+
italynorth: "italynorth";
|
|
77
|
+
westeurope: "westeurope";
|
|
78
|
+
}>>>;
|
|
79
|
+
name: z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
dev: "dev";
|
|
81
|
+
prod: "prod";
|
|
82
|
+
uat: "uat";
|
|
83
|
+
}>>;
|
|
84
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
85
|
+
}, z.core.$strip>>;
|
|
86
|
+
init: z.ZodOptional<z.ZodObject<{
|
|
87
|
+
confirm: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
runnerAppCredentials: z.ZodOptional<z.ZodObject<{
|
|
89
|
+
clientId: z.ZodOptional<z.ZodString>;
|
|
90
|
+
id: z.ZodOptional<z.ZodString>;
|
|
91
|
+
installationId: z.ZodOptional<z.ZodString>;
|
|
92
|
+
key: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
tags: z.ZodOptional<z.ZodObject<{
|
|
96
|
+
BusinessUnit: z.ZodOptional<z.ZodString>;
|
|
97
|
+
ManagementTeam: z.ZodOptional<z.ZodString>;
|
|
98
|
+
}, z.core.$strip>>;
|
|
99
|
+
workspace: z.ZodOptional<z.ZodObject<{
|
|
100
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
export type InitialAnswers = z.infer<typeof initialAnswersSchema>;
|
|
67
104
|
export type PromptsDependencies = {
|
|
68
105
|
cloudAccountRepository: CloudAccountRepository;
|
|
69
106
|
cloudAccountService: CloudAccountService;
|
|
70
107
|
github?: GitHubRepo;
|
|
108
|
+
initialAnswers?: InitialAnswers;
|
|
71
109
|
};
|
|
72
110
|
declare const prompts: (deps: PromptsDependencies) => DynamicPromptsFunction;
|
|
73
111
|
export declare const getCloudAccountChoices: (cloudAccounts: CloudAccount[]) => InquirerChoice<CloudAccount>[];
|