@payfit/nx-core 4.10.2-beta-test.0 → 4.10.2-beta-helm-patch-tag.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
CHANGED
|
@@ -11,6 +11,8 @@ async function publishHelm(options, context, version) {
|
|
|
11
11
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
12
12
|
try {
|
|
13
13
|
const projectHelmFolder = `apps/${context.projectName}/.deploy`;
|
|
14
|
+
const valuesConfigPath = `${projectHelmFolder}/values.yaml`;
|
|
15
|
+
const chartConfigPath = `${projectHelmFolder}/Chart.yaml`;
|
|
14
16
|
const destinationHelmFolder = `dist/apps/${context.projectName}/chart/`;
|
|
15
17
|
const gitBranchName = await (0, github_1.getSanitizedCurrentGitBranch)();
|
|
16
18
|
if (!gitBranchName)
|
|
@@ -25,6 +27,7 @@ async function publishHelm(options, context, version) {
|
|
|
25
27
|
await proxyData.isReady();
|
|
26
28
|
await (0, helm_1.setupTeleportProxyHelmChartFile)(projectHelmFolder, proxyData.port);
|
|
27
29
|
await (0, helm_1.installHelmRepo)(projectHelmFolder);
|
|
30
|
+
await (0, helm_1.patchImageTag)(valuesConfigPath, chartConfigPath, version);
|
|
28
31
|
await (0, helm_1.packageHelm)(projectHelmFolder, version, destinationHelmFolder);
|
|
29
32
|
await (0, helm_1.resetTeleportProxyHelmChartFile)(projectHelmFolder, proxyData.port);
|
|
30
33
|
return (0, helm_1.pushPackagedHelm)(`${destinationHelmFolder}${context.projectName}-${version}.tgz`, options.chartRegistry, gitBranchName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/executors/publisher/helm.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/executors/publisher/helm.ts"],"names":[],"mappings":";;AAiBA,kCAyCC;;AA1DD,8BAA6B;AAI7B,mDAAmD;AACnD,+CAAiE;AACjE,2CAOyB;AACzB,yCAA4D;AAGrD,KAAK,UAAU,WAAW,CAC/B,OAAiC,EACjC,OAAwB,EACxB,OAAe;;;QAMf,MAAM,iBAAiB,GAAG,QAAQ,OAAO,CAAC,WAAW,UAAU,CAAA;QAC/D,MAAM,gBAAgB,GAAG,GAAG,iBAAiB,cAAc,CAAA;QAC3D,MAAM,eAAe,GAAG,GAAG,iBAAiB,aAAa,CAAA;QACzD,MAAM,qBAAqB,GAAG,aAAa,OAAO,CAAC,WAAW,SAAS,CAAA;QACvE,MAAM,aAAa,GAAG,MAAM,IAAA,qCAA4B,GAAE,CAAA;QAE1D,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAEvE,MAAM,IAAA,uBAAY,GAAE,CAAA;QAEpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,wCAAwC,OAAO,CAAC,WAAW,EAAE,CAC9D,CAAA;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,CAAC,aAAa,IAAI,aAAa,iBAAiB,OAAO,EAAE,CAC7F,CAAA;QACD,8CAA8C;QAC9C,MAAM,SAAS,0CAAG,MAAM,IAAA,gCAA0B,GAAE,QAAA,CAAA;QACpD,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QAEzB,MAAM,IAAA,sCAA+B,EAAC,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACxE,MAAM,IAAA,sBAAe,EAAC,iBAAiB,CAAC,CAAA;QACxC,MAAM,IAAA,oBAAa,EAAC,gBAAgB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,IAAA,kBAAW,EAAC,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAA;QACpE,MAAM,IAAA,sCAA+B,EAAC,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACxE,OAAO,IAAA,uBAAgB,EACrB,GAAG,qBAAqB,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,MAAM,EAC/D,OAAO,CAAC,aAAa,EACrB,aAAa,CACd,CAAA;;;;;;;;;CACF"}
|
package/dist/src/utils/helm.d.ts
CHANGED
|
@@ -24,6 +24,13 @@ export declare function installHelmRepo(helmFolderPath: string): Promise<{
|
|
|
24
24
|
stdout: string;
|
|
25
25
|
stderr: string;
|
|
26
26
|
}>;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param valuesConfigPath
|
|
30
|
+
* @param chartConfigPath
|
|
31
|
+
* @param version
|
|
32
|
+
*/
|
|
33
|
+
export declare function patchImageTag(valuesConfigPath: string, chartConfigPath: string, version: string): Promise<void>;
|
|
27
34
|
/**
|
|
28
35
|
* Package the Helm chart
|
|
29
36
|
* @param helmFolderPath
|
package/dist/src/utils/helm.js
CHANGED
|
@@ -4,11 +4,12 @@ exports.getHelmChartFile = getHelmChartFile;
|
|
|
4
4
|
exports.setupTeleportProxyHelmChartFile = setupTeleportProxyHelmChartFile;
|
|
5
5
|
exports.resetTeleportProxyHelmChartFile = resetTeleportProxyHelmChartFile;
|
|
6
6
|
exports.installHelmRepo = installHelmRepo;
|
|
7
|
+
exports.patchImageTag = patchImageTag;
|
|
7
8
|
exports.packageHelm = packageHelm;
|
|
8
9
|
exports.pushPackagedHelm = pushPackagedHelm;
|
|
9
10
|
const fs = require("node:fs");
|
|
10
11
|
const process = require("node:process");
|
|
11
|
-
const
|
|
12
|
+
const YAML = require("yaml");
|
|
12
13
|
const aws_auth_1 = require("./aws-auth");
|
|
13
14
|
const exec_1 = require("./exec");
|
|
14
15
|
const tshProxy = 'http://localhost';
|
|
@@ -17,7 +18,7 @@ const tshProxy = 'http://localhost';
|
|
|
17
18
|
* @param helmFolderPath
|
|
18
19
|
*/
|
|
19
20
|
async function getHelmChartFile(helmFolderPath) {
|
|
20
|
-
return
|
|
21
|
+
return YAML.parse(fs.readFileSync(`${helmFolderPath}/Chart.yaml`, 'utf8'));
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Prepare the Chart.yaml config file for the Tsh proxy
|
|
@@ -26,7 +27,7 @@ async function getHelmChartFile(helmFolderPath) {
|
|
|
26
27
|
*/
|
|
27
28
|
async function setupTeleportProxyHelmChartFile(helmFolderPath, tshPort) {
|
|
28
29
|
console.log(`Replacing charts.shared.payfit.tech -> localhost:${tshPort} for the Teleport proxy`);
|
|
29
|
-
let chartConfigStr =
|
|
30
|
+
let chartConfigStr = YAML.stringify(await getHelmChartFile(helmFolderPath));
|
|
30
31
|
chartConfigStr = chartConfigStr.replace(/(https?:\/\/)charts(\.shared)?\.payfit\.tech/gi, `${tshProxy}:${tshPort}`);
|
|
31
32
|
return fs.writeFileSync(`${helmFolderPath}/Chart.yaml`, chartConfigStr);
|
|
32
33
|
}
|
|
@@ -36,7 +37,7 @@ async function setupTeleportProxyHelmChartFile(helmFolderPath, tshPort) {
|
|
|
36
37
|
* @param tshPort
|
|
37
38
|
*/
|
|
38
39
|
async function resetTeleportProxyHelmChartFile(helmFolderPath, tshPort) {
|
|
39
|
-
let chartConfigStr =
|
|
40
|
+
let chartConfigStr = YAML.stringify(await getHelmChartFile(helmFolderPath));
|
|
40
41
|
chartConfigStr = chartConfigStr.replace(`${tshProxy}:${tshPort}`, 'https://charts.shared.payfit.tech');
|
|
41
42
|
return fs.writeFileSync(`${helmFolderPath}/Chart.yaml`, chartConfigStr);
|
|
42
43
|
}
|
|
@@ -66,6 +67,40 @@ async function installHelmRepo(helmFolderPath) {
|
|
|
66
67
|
}
|
|
67
68
|
return (0, exec_1.exec_command)(`helm dependency update ${helmFolderPath}`);
|
|
68
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @param valuesConfigPath
|
|
73
|
+
* @param chartConfigPath
|
|
74
|
+
* @param version
|
|
75
|
+
*/
|
|
76
|
+
async function patchImageTag(valuesConfigPath, chartConfigPath, version) {
|
|
77
|
+
if (!fs.existsSync(valuesConfigPath)) {
|
|
78
|
+
console.log('Values files detected, trying to patch Docker image tag');
|
|
79
|
+
const values = YAML.parse(fs.readFileSync(valuesConfigPath, 'utf8'));
|
|
80
|
+
const chart = YAML.parse(fs.readFileSync(chartConfigPath, 'utf8'));
|
|
81
|
+
for (const dep of chart.dependencies) {
|
|
82
|
+
if (values[dep.alias]) {
|
|
83
|
+
if (values[dep.alias]?.image?.tag) {
|
|
84
|
+
values[dep.alias].image.tag = version;
|
|
85
|
+
fs.writeFileSync(valuesConfigPath, YAML.stringify(values), {
|
|
86
|
+
encoding: 'utf8',
|
|
87
|
+
});
|
|
88
|
+
console.log(`Patched Docker image tag for the service ${dep.alias} successfully`);
|
|
89
|
+
}
|
|
90
|
+
if (values[dep.alias]?.dbMigration?.image?.tag) {
|
|
91
|
+
values[dep.alias].dbMigration.image.tag = version;
|
|
92
|
+
fs.writeFileSync(valuesConfigPath, YAML.stringify(values), {
|
|
93
|
+
encoding: 'utf8',
|
|
94
|
+
});
|
|
95
|
+
console.log(`Patched Docker image tag for the dbMigration of the service ${dep.alias} successfully`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.log(`Failed to find image.tag key for the service ${dep.alias}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
69
104
|
/**
|
|
70
105
|
* Package the Helm chart
|
|
71
106
|
* @param helmFolderPath
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../src/utils/helm.ts"],"names":[],"mappings":";;AAcA,4CAEC;AAOD,0EAaC;AAOD,0EAUC;AAMD,0CA4BC;AAQD,kCAQC;AAQD,4CAaC;
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../src/utils/helm.ts"],"names":[],"mappings":"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"}
|