@catladder/cli 0.0.0-fix-catenv-broken-build-cdada2e9 → 0.0.0-fix-gitlab-env-no-url-except-start-7c96a064
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/bundles/catenv/index.js +96 -41
- package/dist/bundles/cli/index.js +95 -41
- package/dist/cli/src/apps/catenv/catenv.js +2 -1
- package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js.map +1 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +1 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.js +1 -7
- package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/kubeValues.js +1 -1
- package/dist/pipeline/src/deploy/kubernetes/kubeValues.js.map +1 -1
- package/dist/pipeline/src/deploy/sbom.js +2 -2
- package/dist/pipeline/src/deploy/sbom.js.map +1 -1
- package/dist/pipeline/src/pipeline/createMainPipeline.js +13 -7
- package/dist/pipeline/src/pipeline/createMainPipeline.js.map +1 -1
- package/dist/pipeline/src/pipeline/generatePipelineFiles.d.ts +5 -19
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js +71 -20
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.d.ts +6 -4
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js +6 -3
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js.map +1 -1
- package/dist/pipeline/src/types/context.d.ts +0 -4
- package/dist/pipeline/src/types/context.js.map +1 -1
- package/dist/pipeline/src/types/gitlab-types.d.ts +2 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/catenv/catenv.ts +1 -1
- package/src/apps/cli/commands/project/commandOpenEnv.ts +1 -1
|
@@ -13,12 +13,13 @@ const writeDotEnvFiles_1 = __nccwpck_require__(4770);
|
|
|
13
13
|
const writeEnvDTs_1 = __nccwpck_require__(8800);
|
|
14
14
|
const pipeline_1 = __nccwpck_require__(603);
|
|
15
15
|
exports["default"] = async (choice) => {
|
|
16
|
+
var _a;
|
|
16
17
|
const config = await (0, getProjectConfig_1.getProjectConfig)();
|
|
17
18
|
if (!config) {
|
|
18
19
|
return;
|
|
19
20
|
}
|
|
20
21
|
await Promise.all([
|
|
21
|
-
(0, pipeline_1.generatePipelineFiles)(config, "gitlab"),
|
|
22
|
+
(0, pipeline_1.generatePipelineFiles)(config, (_a = config.pipelineType) !== null && _a !== void 0 ? _a : "gitlab"),
|
|
22
23
|
(0, writeDotEnvFiles_1.writeDotEnvFiles)(config, choice),
|
|
23
24
|
(0, writeEnvDTs_1.writeDTsFiles)(config, choice),
|
|
24
25
|
(0, printVariables_1.printVariables)(config, choice),
|
|
@@ -3067,11 +3068,7 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
|
3067
3068
|
url = (0, BashExpression_1.joinBashExpressions)(["https://", host]);
|
|
3068
3069
|
predefinedVariables = {
|
|
3069
3070
|
...basePredefinedVariables,
|
|
3070
|
-
|
|
3071
|
-
...((0, types_1.isStandaloneBuildConfig)(buildConfigRaw) &&
|
|
3072
|
-
buildConfigRaw.type === "rails"
|
|
3073
|
-
? {}
|
|
3074
|
-
: { HOSTNAME: host }),
|
|
3071
|
+
HOSTNAME: host,
|
|
3075
3072
|
ROOT_URL: url,
|
|
3076
3073
|
HOSTNAME_INTERNAL,
|
|
3077
3074
|
ROOT_URL_INTERNAL: (0, BashExpression_1.joinBashExpressions)(["https://", HOSTNAME_INTERNAL]),
|
|
@@ -3120,8 +3117,6 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
|
3120
3117
|
null),
|
|
3121
3118
|
deploy: await (0, transformJobOnlyVars_1.transformJobOnlyVars)(env, componentName, (deployConfigRaw && deployConfigRaw.jobVars) || null),
|
|
3122
3119
|
},
|
|
3123
|
-
host,
|
|
3124
|
-
url,
|
|
3125
3120
|
};
|
|
3126
3121
|
};
|
|
3127
3122
|
exports.getEnvironmentVariables = getEnvironmentVariables;
|
|
@@ -4949,7 +4944,7 @@ const createAppConfig = (context, application) => {
|
|
|
4949
4944
|
}
|
|
4950
4945
|
const { healthRoute, command, ...rest } = application !== null && application !== void 0 ? application : {};
|
|
4951
4946
|
return (0, utils_1.mergeWithMergingArrays)({
|
|
4952
|
-
host: context.environment.
|
|
4947
|
+
host: context.environment.envVars.HOSTNAME,
|
|
4953
4948
|
command: command !== null && command !== void 0 ? command : context.build.config.startCommand,
|
|
4954
4949
|
livenessProbe: {
|
|
4955
4950
|
httpGet: {
|
|
@@ -5138,7 +5133,7 @@ const getDependencyTrackUploadScript = (context) => {
|
|
|
5138
5133
|
? []
|
|
5139
5134
|
: [
|
|
5140
5135
|
"echo 'Uploading SBOM to Dependency Track'",
|
|
5141
|
-
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.
|
|
5136
|
+
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.envVars.ROOT_URL}" "${sbom_1.SBOM_FILE}" vex.json || true`,
|
|
5142
5137
|
];
|
|
5143
5138
|
};
|
|
5144
5139
|
exports.getDependencyTrackUploadScript = getDependencyTrackUploadScript;
|
|
@@ -5147,7 +5142,7 @@ const getDependencyTrackDeleteScript = (context) => {
|
|
|
5147
5142
|
? []
|
|
5148
5143
|
: [
|
|
5149
5144
|
"echo 'Disabling component in Dependency Track'",
|
|
5150
|
-
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.
|
|
5145
|
+
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.envVars.ROOT_URL}" || true`,
|
|
5151
5146
|
];
|
|
5152
5147
|
};
|
|
5153
5148
|
exports.getDependencyTrackDeleteScript = getDependencyTrackDeleteScript;
|
|
@@ -5467,7 +5462,7 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
5467
5462
|
// for all triggers create jobs and add base rules
|
|
5468
5463
|
const allJobsPerTrigger = await Promise.all(config_1.ALL_PIPELINE_TRIGGERS.map(async (trigger) => await (0, createGitlabJobs_1.createGitlabJobs)(await (0, createAllJobs_1.createAllJobs)({ config, trigger, pipelineType }), getGitlabRulesForTrigger(trigger)))).then((j) => j.flat());
|
|
5469
5464
|
const allWorkspaceJobs = allJobsPerTrigger
|
|
5470
|
-
.filter((j) => j.context.type === "workspace") // sort by componentName in the same order as they appear in the config
|
|
5465
|
+
.filter((j) => { var _a; return ((_a = j.context) === null || _a === void 0 ? void 0 : _a.type) === "workspace"; }) // sort by componentName in the same order as they appear in the config
|
|
5471
5466
|
// this is purely for better readability in git diffs when you add new components
|
|
5472
5467
|
.sort((a, b) => {
|
|
5473
5468
|
var _a;
|
|
@@ -5477,7 +5472,7 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
5477
5472
|
return aIndex - bIndex;
|
|
5478
5473
|
});
|
|
5479
5474
|
const allComponentJobs = allJobsPerTrigger
|
|
5480
|
-
.filter((j) => j.context.type === "component")
|
|
5475
|
+
.filter((j) => { var _a; return ((_a = j.context) === null || _a === void 0 ? void 0 : _a.type) === "component"; })
|
|
5481
5476
|
// sort by componentName in the same order as they appear in the config
|
|
5482
5477
|
// this is purely for better readability in git diffs when you add new components
|
|
5483
5478
|
.sort((a, b) => {
|
|
@@ -5486,18 +5481,18 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
5486
5481
|
const bIndex = componentNames.findIndex((c) => c === b.context.name);
|
|
5487
5482
|
return aIndex - bIndex;
|
|
5488
5483
|
});
|
|
5489
|
-
const allJobs = [...allWorkspaceJobs, ...allComponentJobs].reduce((acc, { gitlabJob, name }) => {
|
|
5484
|
+
const allJobs = [...allWorkspaceJobs, ...allComponentJobs].reduce((acc, { gitlabJob, name, context }) => {
|
|
5490
5485
|
var _a, _b;
|
|
5491
5486
|
// merge jobs, if a job is already there, merge the rules
|
|
5492
5487
|
// this is currently needed because of envMode: "none", which creates the same job for all triggers, so it can appear multiple times
|
|
5493
5488
|
if (acc[name]) {
|
|
5494
|
-
acc[name].rules = [
|
|
5495
|
-
...((_a = acc[name].rules) !== null && _a !== void 0 ? _a : []),
|
|
5489
|
+
acc[name].gitlabJob.rules = [
|
|
5490
|
+
...((_a = acc[name].gitlabJob.rules) !== null && _a !== void 0 ? _a : []),
|
|
5496
5491
|
...((_b = gitlabJob.rules) !== null && _b !== void 0 ? _b : []),
|
|
5497
5492
|
];
|
|
5498
5493
|
}
|
|
5499
5494
|
else {
|
|
5500
|
-
acc[name] = gitlabJob;
|
|
5495
|
+
acc[name] = { context, gitlabJob };
|
|
5501
5496
|
}
|
|
5502
5497
|
return acc;
|
|
5503
5498
|
}, {});
|
|
@@ -5505,7 +5500,13 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
5505
5500
|
stages: [...stages, "release"],
|
|
5506
5501
|
jobs: {
|
|
5507
5502
|
...allJobs,
|
|
5508
|
-
...(0, gitlabReleaseJobs_1.getGitlabReleaseJobs)(),
|
|
5503
|
+
...Object.fromEntries(Object.entries((0, gitlabReleaseJobs_1.getGitlabReleaseJobs)()).map(([name, gitlabJob]) => [
|
|
5504
|
+
name,
|
|
5505
|
+
{
|
|
5506
|
+
gitlabJob,
|
|
5507
|
+
context: null,
|
|
5508
|
+
},
|
|
5509
|
+
])),
|
|
5509
5510
|
},
|
|
5510
5511
|
variables: config.runnerVariables,
|
|
5511
5512
|
});
|
|
@@ -5536,32 +5537,83 @@ function getGitlabRulesForTrigger(trigger) {
|
|
|
5536
5537
|
"use strict";
|
|
5537
5538
|
|
|
5538
5539
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5539
|
-
exports.
|
|
5540
|
+
exports.getGitlabCompletePipeline = exports.generatePipelineFiles = void 0;
|
|
5541
|
+
const promises_1 = __nccwpck_require__(3292);
|
|
5542
|
+
const path_1 = __nccwpck_require__(1017);
|
|
5540
5543
|
const writeFiles_1 = __nccwpck_require__(2228);
|
|
5541
5544
|
const createMainPipeline_1 = __nccwpck_require__(9192);
|
|
5542
5545
|
const sortGitLabJobDefProps_1 = __nccwpck_require__(2361);
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
const jobsWithSortedProps = Object.fromEntries(Object.entries(jobs).map(([jobName, job]) => [
|
|
5546
|
-
jobName,
|
|
5547
|
-
(0, sortGitLabJobDefProps_1.sortGitLabJobDefProps)(job),
|
|
5548
|
-
]));
|
|
5549
|
-
return {
|
|
5550
|
-
image,
|
|
5551
|
-
stages,
|
|
5552
|
-
variables,
|
|
5553
|
-
workflow,
|
|
5554
|
-
...pipelineRest,
|
|
5555
|
-
// jobs need to be spread into main YAML, because GitLab pipeline YAML has no jobs key - jobs are top level with their key as their name
|
|
5556
|
-
...jobsWithSortedProps,
|
|
5557
|
-
};
|
|
5558
|
-
}
|
|
5559
|
-
exports.generateLocalPipelineContent = generateLocalPipelineContent;
|
|
5546
|
+
const CATLADDER_GENERATED_FOLDER = ".catladder-generated";
|
|
5547
|
+
const GITLAB_GENERATED_FOLDER = CATLADDER_GENERATED_FOLDER + "/gitlab";
|
|
5560
5548
|
async function generatePipelineFiles(config, pipelineType) {
|
|
5561
|
-
|
|
5562
|
-
|
|
5549
|
+
if (pipelineType !== "gitlab") {
|
|
5550
|
+
throw new Error("Pipeline type not supported");
|
|
5551
|
+
}
|
|
5552
|
+
const includes = await getGitlabPipelineIncludes(config);
|
|
5553
|
+
const mainFile = {
|
|
5554
|
+
path: ".gitlab-ci.yml",
|
|
5555
|
+
content: {
|
|
5556
|
+
include: includes.map((i) => i.path),
|
|
5557
|
+
},
|
|
5558
|
+
};
|
|
5559
|
+
const files = [mainFile, ...includes];
|
|
5560
|
+
// first clean up the folder
|
|
5561
|
+
await (0, promises_1.rm)(GITLAB_GENERATED_FOLDER, { force: true, recursive: true });
|
|
5562
|
+
// write files
|
|
5563
|
+
await Promise.all(files.map(async ({ path, content }) => {
|
|
5564
|
+
await (0, promises_1.mkdir)((0, path_1.dirname)(path), { recursive: true });
|
|
5565
|
+
await (0, writeFiles_1.writeYamlfile)(path, content);
|
|
5566
|
+
}));
|
|
5563
5567
|
}
|
|
5564
5568
|
exports.generatePipelineFiles = generatePipelineFiles;
|
|
5569
|
+
async function getGitlabPipelineIncludes(config) {
|
|
5570
|
+
const { jobs, image, stages, variables, workflow, ...pipelineRest } = await (0, createMainPipeline_1.createMainPipeline)("gitlab", config);
|
|
5571
|
+
// we will create 1 include per component or workspace
|
|
5572
|
+
// this is for better readability in git diffs and to avoid problems with yaml files beeing too large
|
|
5573
|
+
// group by context
|
|
5574
|
+
const groups = Object.entries(jobs).reduce((acc, [jobName, { gitlabJob, context }]) => {
|
|
5575
|
+
const group = !context
|
|
5576
|
+
? "global-jobs"
|
|
5577
|
+
: (context === null || context === void 0 ? void 0 : context.type) + "/" + context.name;
|
|
5578
|
+
if (!acc[group]) {
|
|
5579
|
+
acc[group] = {};
|
|
5580
|
+
}
|
|
5581
|
+
acc[group][jobName] = (0, sortGitLabJobDefProps_1.sortGitLabJobDefProps)(gitlabJob); // also sort properties for more consistent diffing
|
|
5582
|
+
return acc;
|
|
5583
|
+
}, {});
|
|
5584
|
+
const componentIncludes = Object.entries(groups).map(([group, jobs]) => {
|
|
5585
|
+
return {
|
|
5586
|
+
path: GITLAB_GENERATED_FOLDER + "/" + group + ".yaml",
|
|
5587
|
+
content: jobs,
|
|
5588
|
+
};
|
|
5589
|
+
});
|
|
5590
|
+
const mainInclude = {
|
|
5591
|
+
path: GITLAB_GENERATED_FOLDER + "/main.yaml",
|
|
5592
|
+
content: {
|
|
5593
|
+
image,
|
|
5594
|
+
stages,
|
|
5595
|
+
variables,
|
|
5596
|
+
workflow,
|
|
5597
|
+
...pipelineRest,
|
|
5598
|
+
},
|
|
5599
|
+
};
|
|
5600
|
+
const includes = [mainInclude, ...componentIncludes];
|
|
5601
|
+
return includes;
|
|
5602
|
+
}
|
|
5603
|
+
/**
|
|
5604
|
+
*
|
|
5605
|
+
* for testing purposes
|
|
5606
|
+
*/
|
|
5607
|
+
async function getGitlabCompletePipeline(config) {
|
|
5608
|
+
const includes = await getGitlabPipelineIncludes(config);
|
|
5609
|
+
return includes.reduce((acc, { content }) => {
|
|
5610
|
+
return {
|
|
5611
|
+
...acc,
|
|
5612
|
+
...content, // merge all includes into one object
|
|
5613
|
+
};
|
|
5614
|
+
}, {});
|
|
5615
|
+
}
|
|
5616
|
+
exports.getGitlabCompletePipeline = getGitlabCompletePipeline;
|
|
5565
5617
|
//# sourceMappingURL=generatePipelineFiles.js.map
|
|
5566
5618
|
|
|
5567
5619
|
/***/ }),
|
|
@@ -5720,12 +5772,12 @@ const addGitlabEnvironment = (context, catladderJobEnvironment, job, allJobs) =>
|
|
|
5720
5772
|
return job;
|
|
5721
5773
|
}
|
|
5722
5774
|
const { env, name, environment } = context;
|
|
5723
|
-
const {
|
|
5775
|
+
const { envVars, envType } = environment;
|
|
5724
5776
|
const { on_stop, ...restEnvironment } = catladderJobEnvironment;
|
|
5725
5777
|
// those can be dynamic, so we therefore have to do this: https://docs.gitlab.com/ee/ci/environments/#set-a-dynamic-environment-url
|
|
5726
5778
|
const dotEnvFile = "gitlab_environment.env";
|
|
5727
5779
|
const scriptToAdd = [
|
|
5728
|
-
`echo "${exports.GITLAB_ENVIRONMENT_URL_VARIABLE}=${
|
|
5780
|
+
`echo "${exports.GITLAB_ENVIRONMENT_URL_VARIABLE}=${envVars.ROOT_URL}" >> ${dotEnvFile}`,
|
|
5729
5781
|
];
|
|
5730
5782
|
// this is NOT a bashVariable since it NEEDS to be used as a string in gitlab
|
|
5731
5783
|
const gitlabEnvironmentName = envType === "review"
|
|
@@ -5735,7 +5787,10 @@ const addGitlabEnvironment = (context, catladderJobEnvironment, job, allJobs) =>
|
|
|
5735
5787
|
...job,
|
|
5736
5788
|
environment: {
|
|
5737
5789
|
name: gitlabEnvironmentName,
|
|
5738
|
-
|
|
5790
|
+
...(!catladderJobEnvironment.action ||
|
|
5791
|
+
catladderJobEnvironment.action === "start"
|
|
5792
|
+
? { url: `$${exports.GITLAB_ENVIRONMENT_URL_VARIABLE}` }
|
|
5793
|
+
: {}),
|
|
5739
5794
|
...(on_stop
|
|
5740
5795
|
? {
|
|
5741
5796
|
on_stop: getFullReferencedJobNameFromComponent(on_stop, name, env, allJobs),
|
|
@@ -1563,7 +1563,7 @@ exports["default"] = async (vorpal) => vorpal
|
|
|
1563
1563
|
const { env, componentName } = (0, getProjectConfig_1.parseChoice)(envComponent);
|
|
1564
1564
|
await ensureCluster_1.default.call(this, envComponent);
|
|
1565
1565
|
const environment = await (0, getProjectConfig_1.getEnvironment)(env, componentName);
|
|
1566
|
-
const url = environment.
|
|
1566
|
+
const url = environment.envVars.ROOT_URL;
|
|
1567
1567
|
(0, open_1.default)(url.toString());
|
|
1568
1568
|
});
|
|
1569
1569
|
//# sourceMappingURL=commandOpenEnv.js.map
|
|
@@ -6005,11 +6005,7 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
|
6005
6005
|
url = (0, BashExpression_1.joinBashExpressions)(["https://", host]);
|
|
6006
6006
|
predefinedVariables = {
|
|
6007
6007
|
...basePredefinedVariables,
|
|
6008
|
-
|
|
6009
|
-
...((0, types_1.isStandaloneBuildConfig)(buildConfigRaw) &&
|
|
6010
|
-
buildConfigRaw.type === "rails"
|
|
6011
|
-
? {}
|
|
6012
|
-
: { HOSTNAME: host }),
|
|
6008
|
+
HOSTNAME: host,
|
|
6013
6009
|
ROOT_URL: url,
|
|
6014
6010
|
HOSTNAME_INTERNAL,
|
|
6015
6011
|
ROOT_URL_INTERNAL: (0, BashExpression_1.joinBashExpressions)(["https://", HOSTNAME_INTERNAL]),
|
|
@@ -6058,8 +6054,6 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
|
6058
6054
|
null),
|
|
6059
6055
|
deploy: await (0, transformJobOnlyVars_1.transformJobOnlyVars)(env, componentName, (deployConfigRaw && deployConfigRaw.jobVars) || null),
|
|
6060
6056
|
},
|
|
6061
|
-
host,
|
|
6062
|
-
url,
|
|
6063
6057
|
};
|
|
6064
6058
|
};
|
|
6065
6059
|
exports.getEnvironmentVariables = getEnvironmentVariables;
|
|
@@ -7887,7 +7881,7 @@ const createAppConfig = (context, application) => {
|
|
|
7887
7881
|
}
|
|
7888
7882
|
const { healthRoute, command, ...rest } = application !== null && application !== void 0 ? application : {};
|
|
7889
7883
|
return (0, utils_1.mergeWithMergingArrays)({
|
|
7890
|
-
host: context.environment.
|
|
7884
|
+
host: context.environment.envVars.HOSTNAME,
|
|
7891
7885
|
command: command !== null && command !== void 0 ? command : context.build.config.startCommand,
|
|
7892
7886
|
livenessProbe: {
|
|
7893
7887
|
httpGet: {
|
|
@@ -8076,7 +8070,7 @@ const getDependencyTrackUploadScript = (context) => {
|
|
|
8076
8070
|
? []
|
|
8077
8071
|
: [
|
|
8078
8072
|
"echo 'Uploading SBOM to Dependency Track'",
|
|
8079
|
-
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.
|
|
8073
|
+
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.envVars.ROOT_URL}" "${sbom_1.SBOM_FILE}" vex.json || true`,
|
|
8080
8074
|
];
|
|
8081
8075
|
};
|
|
8082
8076
|
exports.getDependencyTrackUploadScript = getDependencyTrackUploadScript;
|
|
@@ -8085,7 +8079,7 @@ const getDependencyTrackDeleteScript = (context) => {
|
|
|
8085
8079
|
? []
|
|
8086
8080
|
: [
|
|
8087
8081
|
"echo 'Disabling component in Dependency Track'",
|
|
8088
|
-
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.
|
|
8082
|
+
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.envVars.ROOT_URL}" || true`,
|
|
8089
8083
|
];
|
|
8090
8084
|
};
|
|
8091
8085
|
exports.getDependencyTrackDeleteScript = getDependencyTrackDeleteScript;
|
|
@@ -8405,7 +8399,7 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
8405
8399
|
// for all triggers create jobs and add base rules
|
|
8406
8400
|
const allJobsPerTrigger = await Promise.all(config_1.ALL_PIPELINE_TRIGGERS.map(async (trigger) => await (0, createGitlabJobs_1.createGitlabJobs)(await (0, createAllJobs_1.createAllJobs)({ config, trigger, pipelineType }), getGitlabRulesForTrigger(trigger)))).then((j) => j.flat());
|
|
8407
8401
|
const allWorkspaceJobs = allJobsPerTrigger
|
|
8408
|
-
.filter((j) => j.context.type === "workspace") // sort by componentName in the same order as they appear in the config
|
|
8402
|
+
.filter((j) => { var _a; return ((_a = j.context) === null || _a === void 0 ? void 0 : _a.type) === "workspace"; }) // sort by componentName in the same order as they appear in the config
|
|
8409
8403
|
// this is purely for better readability in git diffs when you add new components
|
|
8410
8404
|
.sort((a, b) => {
|
|
8411
8405
|
var _a;
|
|
@@ -8415,7 +8409,7 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
8415
8409
|
return aIndex - bIndex;
|
|
8416
8410
|
});
|
|
8417
8411
|
const allComponentJobs = allJobsPerTrigger
|
|
8418
|
-
.filter((j) => j.context.type === "component")
|
|
8412
|
+
.filter((j) => { var _a; return ((_a = j.context) === null || _a === void 0 ? void 0 : _a.type) === "component"; })
|
|
8419
8413
|
// sort by componentName in the same order as they appear in the config
|
|
8420
8414
|
// this is purely for better readability in git diffs when you add new components
|
|
8421
8415
|
.sort((a, b) => {
|
|
@@ -8424,18 +8418,18 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
8424
8418
|
const bIndex = componentNames.findIndex((c) => c === b.context.name);
|
|
8425
8419
|
return aIndex - bIndex;
|
|
8426
8420
|
});
|
|
8427
|
-
const allJobs = [...allWorkspaceJobs, ...allComponentJobs].reduce((acc, { gitlabJob, name }) => {
|
|
8421
|
+
const allJobs = [...allWorkspaceJobs, ...allComponentJobs].reduce((acc, { gitlabJob, name, context }) => {
|
|
8428
8422
|
var _a, _b;
|
|
8429
8423
|
// merge jobs, if a job is already there, merge the rules
|
|
8430
8424
|
// this is currently needed because of envMode: "none", which creates the same job for all triggers, so it can appear multiple times
|
|
8431
8425
|
if (acc[name]) {
|
|
8432
|
-
acc[name].rules = [
|
|
8433
|
-
...((_a = acc[name].rules) !== null && _a !== void 0 ? _a : []),
|
|
8426
|
+
acc[name].gitlabJob.rules = [
|
|
8427
|
+
...((_a = acc[name].gitlabJob.rules) !== null && _a !== void 0 ? _a : []),
|
|
8434
8428
|
...((_b = gitlabJob.rules) !== null && _b !== void 0 ? _b : []),
|
|
8435
8429
|
];
|
|
8436
8430
|
}
|
|
8437
8431
|
else {
|
|
8438
|
-
acc[name] = gitlabJob;
|
|
8432
|
+
acc[name] = { context, gitlabJob };
|
|
8439
8433
|
}
|
|
8440
8434
|
return acc;
|
|
8441
8435
|
}, {});
|
|
@@ -8443,7 +8437,13 @@ const createMainPipeline = async (pipelineType, config) => {
|
|
|
8443
8437
|
stages: [...stages, "release"],
|
|
8444
8438
|
jobs: {
|
|
8445
8439
|
...allJobs,
|
|
8446
|
-
...(0, gitlabReleaseJobs_1.getGitlabReleaseJobs)(),
|
|
8440
|
+
...Object.fromEntries(Object.entries((0, gitlabReleaseJobs_1.getGitlabReleaseJobs)()).map(([name, gitlabJob]) => [
|
|
8441
|
+
name,
|
|
8442
|
+
{
|
|
8443
|
+
gitlabJob,
|
|
8444
|
+
context: null,
|
|
8445
|
+
},
|
|
8446
|
+
])),
|
|
8447
8447
|
},
|
|
8448
8448
|
variables: config.runnerVariables,
|
|
8449
8449
|
});
|
|
@@ -8474,32 +8474,83 @@ function getGitlabRulesForTrigger(trigger) {
|
|
|
8474
8474
|
"use strict";
|
|
8475
8475
|
|
|
8476
8476
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
8477
|
-
exports.
|
|
8477
|
+
exports.getGitlabCompletePipeline = exports.generatePipelineFiles = void 0;
|
|
8478
|
+
const promises_1 = __nccwpck_require__(73292);
|
|
8479
|
+
const path_1 = __nccwpck_require__(71017);
|
|
8478
8480
|
const writeFiles_1 = __nccwpck_require__(92228);
|
|
8479
8481
|
const createMainPipeline_1 = __nccwpck_require__(39192);
|
|
8480
8482
|
const sortGitLabJobDefProps_1 = __nccwpck_require__(72361);
|
|
8481
|
-
|
|
8482
|
-
|
|
8483
|
-
const jobsWithSortedProps = Object.fromEntries(Object.entries(jobs).map(([jobName, job]) => [
|
|
8484
|
-
jobName,
|
|
8485
|
-
(0, sortGitLabJobDefProps_1.sortGitLabJobDefProps)(job),
|
|
8486
|
-
]));
|
|
8487
|
-
return {
|
|
8488
|
-
image,
|
|
8489
|
-
stages,
|
|
8490
|
-
variables,
|
|
8491
|
-
workflow,
|
|
8492
|
-
...pipelineRest,
|
|
8493
|
-
// jobs need to be spread into main YAML, because GitLab pipeline YAML has no jobs key - jobs are top level with their key as their name
|
|
8494
|
-
...jobsWithSortedProps,
|
|
8495
|
-
};
|
|
8496
|
-
}
|
|
8497
|
-
exports.generateLocalPipelineContent = generateLocalPipelineContent;
|
|
8483
|
+
const CATLADDER_GENERATED_FOLDER = ".catladder-generated";
|
|
8484
|
+
const GITLAB_GENERATED_FOLDER = CATLADDER_GENERATED_FOLDER + "/gitlab";
|
|
8498
8485
|
async function generatePipelineFiles(config, pipelineType) {
|
|
8499
|
-
|
|
8500
|
-
|
|
8486
|
+
if (pipelineType !== "gitlab") {
|
|
8487
|
+
throw new Error("Pipeline type not supported");
|
|
8488
|
+
}
|
|
8489
|
+
const includes = await getGitlabPipelineIncludes(config);
|
|
8490
|
+
const mainFile = {
|
|
8491
|
+
path: ".gitlab-ci.yml",
|
|
8492
|
+
content: {
|
|
8493
|
+
include: includes.map((i) => i.path),
|
|
8494
|
+
},
|
|
8495
|
+
};
|
|
8496
|
+
const files = [mainFile, ...includes];
|
|
8497
|
+
// first clean up the folder
|
|
8498
|
+
await (0, promises_1.rm)(GITLAB_GENERATED_FOLDER, { force: true, recursive: true });
|
|
8499
|
+
// write files
|
|
8500
|
+
await Promise.all(files.map(async ({ path, content }) => {
|
|
8501
|
+
await (0, promises_1.mkdir)((0, path_1.dirname)(path), { recursive: true });
|
|
8502
|
+
await (0, writeFiles_1.writeYamlfile)(path, content);
|
|
8503
|
+
}));
|
|
8501
8504
|
}
|
|
8502
8505
|
exports.generatePipelineFiles = generatePipelineFiles;
|
|
8506
|
+
async function getGitlabPipelineIncludes(config) {
|
|
8507
|
+
const { jobs, image, stages, variables, workflow, ...pipelineRest } = await (0, createMainPipeline_1.createMainPipeline)("gitlab", config);
|
|
8508
|
+
// we will create 1 include per component or workspace
|
|
8509
|
+
// this is for better readability in git diffs and to avoid problems with yaml files beeing too large
|
|
8510
|
+
// group by context
|
|
8511
|
+
const groups = Object.entries(jobs).reduce((acc, [jobName, { gitlabJob, context }]) => {
|
|
8512
|
+
const group = !context
|
|
8513
|
+
? "global-jobs"
|
|
8514
|
+
: (context === null || context === void 0 ? void 0 : context.type) + "/" + context.name;
|
|
8515
|
+
if (!acc[group]) {
|
|
8516
|
+
acc[group] = {};
|
|
8517
|
+
}
|
|
8518
|
+
acc[group][jobName] = (0, sortGitLabJobDefProps_1.sortGitLabJobDefProps)(gitlabJob); // also sort properties for more consistent diffing
|
|
8519
|
+
return acc;
|
|
8520
|
+
}, {});
|
|
8521
|
+
const componentIncludes = Object.entries(groups).map(([group, jobs]) => {
|
|
8522
|
+
return {
|
|
8523
|
+
path: GITLAB_GENERATED_FOLDER + "/" + group + ".yaml",
|
|
8524
|
+
content: jobs,
|
|
8525
|
+
};
|
|
8526
|
+
});
|
|
8527
|
+
const mainInclude = {
|
|
8528
|
+
path: GITLAB_GENERATED_FOLDER + "/main.yaml",
|
|
8529
|
+
content: {
|
|
8530
|
+
image,
|
|
8531
|
+
stages,
|
|
8532
|
+
variables,
|
|
8533
|
+
workflow,
|
|
8534
|
+
...pipelineRest,
|
|
8535
|
+
},
|
|
8536
|
+
};
|
|
8537
|
+
const includes = [mainInclude, ...componentIncludes];
|
|
8538
|
+
return includes;
|
|
8539
|
+
}
|
|
8540
|
+
/**
|
|
8541
|
+
*
|
|
8542
|
+
* for testing purposes
|
|
8543
|
+
*/
|
|
8544
|
+
async function getGitlabCompletePipeline(config) {
|
|
8545
|
+
const includes = await getGitlabPipelineIncludes(config);
|
|
8546
|
+
return includes.reduce((acc, { content }) => {
|
|
8547
|
+
return {
|
|
8548
|
+
...acc,
|
|
8549
|
+
...content, // merge all includes into one object
|
|
8550
|
+
};
|
|
8551
|
+
}, {});
|
|
8552
|
+
}
|
|
8553
|
+
exports.getGitlabCompletePipeline = getGitlabCompletePipeline;
|
|
8503
8554
|
//# sourceMappingURL=generatePipelineFiles.js.map
|
|
8504
8555
|
|
|
8505
8556
|
/***/ }),
|
|
@@ -8658,12 +8709,12 @@ const addGitlabEnvironment = (context, catladderJobEnvironment, job, allJobs) =>
|
|
|
8658
8709
|
return job;
|
|
8659
8710
|
}
|
|
8660
8711
|
const { env, name, environment } = context;
|
|
8661
|
-
const {
|
|
8712
|
+
const { envVars, envType } = environment;
|
|
8662
8713
|
const { on_stop, ...restEnvironment } = catladderJobEnvironment;
|
|
8663
8714
|
// those can be dynamic, so we therefore have to do this: https://docs.gitlab.com/ee/ci/environments/#set-a-dynamic-environment-url
|
|
8664
8715
|
const dotEnvFile = "gitlab_environment.env";
|
|
8665
8716
|
const scriptToAdd = [
|
|
8666
|
-
`echo "${exports.GITLAB_ENVIRONMENT_URL_VARIABLE}=${
|
|
8717
|
+
`echo "${exports.GITLAB_ENVIRONMENT_URL_VARIABLE}=${envVars.ROOT_URL}" >> ${dotEnvFile}`,
|
|
8667
8718
|
];
|
|
8668
8719
|
// this is NOT a bashVariable since it NEEDS to be used as a string in gitlab
|
|
8669
8720
|
const gitlabEnvironmentName = envType === "review"
|
|
@@ -8673,7 +8724,10 @@ const addGitlabEnvironment = (context, catladderJobEnvironment, job, allJobs) =>
|
|
|
8673
8724
|
...job,
|
|
8674
8725
|
environment: {
|
|
8675
8726
|
name: gitlabEnvironmentName,
|
|
8676
|
-
|
|
8727
|
+
...(!catladderJobEnvironment.action ||
|
|
8728
|
+
catladderJobEnvironment.action === "start"
|
|
8729
|
+
? { url: `$${exports.GITLAB_ENVIRONMENT_URL_VARIABLE}` }
|
|
8730
|
+
: {}),
|
|
8677
8731
|
...(on_stop
|
|
8678
8732
|
? {
|
|
8679
8733
|
on_stop: getFullReferencedJobNameFromComponent(on_stop, name, env, allJobs),
|
|
@@ -6,12 +6,13 @@ const writeDotEnvFiles_1 = require("./writeDotEnvFiles");
|
|
|
6
6
|
const writeEnvDTs_1 = require("./writeEnvDTs");
|
|
7
7
|
const pipeline_1 = require("../../../../pipeline/src/index.js");
|
|
8
8
|
exports.default = async (choice) => {
|
|
9
|
+
var _a;
|
|
9
10
|
const config = await (0, getProjectConfig_1.getProjectConfig)();
|
|
10
11
|
if (!config) {
|
|
11
12
|
return;
|
|
12
13
|
}
|
|
13
14
|
await Promise.all([
|
|
14
|
-
(0, pipeline_1.generatePipelineFiles)(config, "gitlab"),
|
|
15
|
+
(0, pipeline_1.generatePipelineFiles)(config, (_a = config.pipelineType) !== null && _a !== void 0 ? _a : "gitlab"),
|
|
15
16
|
(0, writeDotEnvFiles_1.writeDotEnvFiles)(config, choice),
|
|
16
17
|
(0, writeEnvDTs_1.writeDTsFiles)(config, choice),
|
|
17
18
|
(0, printVariables_1.printVariables)(config, choice),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;AAAA,oEAAiE;AACjE,qDAAkD;AAElD,yDAAsD;AACtD,+CAA8C;AAC9C,kDAA4D;AAE5D,kBAAe,KAAK,EAAE,MAAe,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;AAAA,oEAAiE;AACjE,qDAAkD;AAElD,yDAAsD;AACtD,+CAA8C;AAC9C,kDAA4D;AAE5D,kBAAe,KAAK,EAAE,MAAe,EAAE,EAAE;;IACvC,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,GAAE,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,gCAAqB,EAAC,MAAM,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,QAAQ,CAAC;QAC9D,IAAA,mCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC;QAEhC,IAAA,2BAAa,EAAC,MAAM,EAAE,MAAM,CAAC;QAE7B,IAAA,+BAAc,EAAC,MAAM,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -14,7 +14,7 @@ exports.default = async (vorpal) => vorpal
|
|
|
14
14
|
const { env, componentName } = (0, getProjectConfig_1.parseChoice)(envComponent);
|
|
15
15
|
await ensureCluster_1.default.call(this, envComponent);
|
|
16
16
|
const environment = await (0, getProjectConfig_1.getEnvironment)(env, componentName);
|
|
17
|
-
const url = environment.
|
|
17
|
+
const url = environment.envVars.ROOT_URL;
|
|
18
18
|
(0, open_1.default)(url.toString());
|
|
19
19
|
});
|
|
20
20
|
//# sourceMappingURL=commandOpenEnv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandOpenEnv.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandOpenEnv.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,0EAG6C;AAE7C,6DAA2D;AAC3D,0EAAkD;AAElD,kBAAe,KAAK,EAAE,MAAc,EAAE,EAAE,CACtC,MAAM;KACH,OAAO,CAAC,iCAAiC,EAAE,2BAA2B,CAAC;KACvE,YAAY,CAAC,MAAM,IAAA,kCAAgB,GAAE,CAAC;KACtC,MAAM,CAAC,KAAK,WAAW,EAAE,YAAY,EAAE;IACtC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAA,8BAAW,EAAC,YAAY,CAAC,CAAC;IACzD,MAAM,uBAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"commandOpenEnv.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandOpenEnv.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,0EAG6C;AAE7C,6DAA2D;AAC3D,0EAAkD;AAElD,kBAAe,KAAK,EAAE,MAAc,EAAE,EAAE,CACtC,MAAM;KACH,OAAO,CAAC,iCAAiC,EAAE,2BAA2B,CAAC;KACvE,YAAY,CAAC,MAAM,IAAA,kCAAgB,GAAE,CAAC;KACtC,MAAM,CAAC,KAAK,WAAW,EAAE,YAAY,EAAE;IACtC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAA,8BAAW,EAAC,YAAY,CAAC,CAAC;IACzD,MAAM,uBAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;IAEzC,IAAA,cAAI,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -13,7 +13,7 @@ declare const getBasePredefinedVariables: (ctx: EnvironmentContext) => {
|
|
|
13
13
|
};
|
|
14
14
|
type BasePredefinedVariables = ReturnType<typeof getBasePredefinedVariables>;
|
|
15
15
|
export type PredefinedVariables = BasePredefinedVariables & {
|
|
16
|
-
HOSTNAME
|
|
16
|
+
HOSTNAME: StringOrBashExpression;
|
|
17
17
|
ROOT_URL: StringOrBashExpression;
|
|
18
18
|
HOSTNAME_INTERNAL: StringOrBashExpression;
|
|
19
19
|
ROOT_URL_INTERNAL: StringOrBashExpression;
|
|
@@ -51,11 +51,7 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
|
51
51
|
url = (0, BashExpression_1.joinBashExpressions)(["https://", host]);
|
|
52
52
|
predefinedVariables = {
|
|
53
53
|
...basePredefinedVariables,
|
|
54
|
-
|
|
55
|
-
...((0, types_1.isStandaloneBuildConfig)(buildConfigRaw) &&
|
|
56
|
-
buildConfigRaw.type === "rails"
|
|
57
|
-
? {}
|
|
58
|
-
: { HOSTNAME: host }),
|
|
54
|
+
HOSTNAME: host,
|
|
59
55
|
ROOT_URL: url,
|
|
60
56
|
HOSTNAME_INTERNAL,
|
|
61
57
|
ROOT_URL_INTERNAL: (0, BashExpression_1.joinBashExpressions)(["https://", HOSTNAME_INTERNAL]),
|
|
@@ -104,8 +100,6 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
|
|
|
104
100
|
null),
|
|
105
101
|
deploy: await (0, transformJobOnlyVars_1.transformJobOnlyVars)(env, componentName, (deployConfigRaw && deployConfigRaw.jobVars) || null),
|
|
106
102
|
},
|
|
107
|
-
host,
|
|
108
|
-
url,
|
|
109
103
|
};
|
|
110
104
|
};
|
|
111
105
|
exports.getEnvironmentVariables = getEnvironmentVariables;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEnvironmentVariables.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvironmentVariables.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AASzC,2DAA6D;AAC7D,0CAAyD;AAEzD,sGAAmH;AACnH,4EAAyE;AACzE,mEAAgE;AAChE,mEAAgE;AAChE,iEAA8D;AAC9D,6CAIyB;AAQzB,MAAM,0BAA0B,GAAG,CAAC,GAAuB,EAAE,EAAE;IAC7D,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,GAAG;QAClB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG;QAC7B,QAAQ,EAAE,GAAG,CAAC,OAAO;QACrB,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAA,6CAAqB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAC;AAYK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,GAAkC,EAClC,UAAiD,EAAE,EACpB,EAAE;;IACjC,MAAM,kBAAkB,GAAG,IAAA,6CAAqB,EAAC,GAAG,CAAC,CAAC;IAEtD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;IAC3C,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,GAC9D,kBAAkB,CAAC;IAErB,MAAM,uBAAuB,GAC3B,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAEjD,IAAI,mBAA6D,CAAC;IAClE,IAAI,IAA4B,CAAC;IACjC,IAAI,GAA2B,CAAC;IAEhC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,cAAc,GAAsB,YAAY,CAAC;QACvD,MAAM,IAAI,GAAG,MAAA,cAAc,CAAC,IAAI,mCAAI,IAAI,CAAC;QACzC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;QACvB,mBAAmB,GAAG;YACpB,GAAG,uBAAuB;YAC1B,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,SAAS,GAAG,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;SACtB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,eAAe;YACvC,CAAC,CAAC,qBAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACrD,kBAA2B,CAC5B;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,iBAAiB,GACrB,MAAA,iBAAiB,CAAC,iBAAiB,mCAAI,0BAA0B,CAAC;QAEpE,IAAI,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,iBAAiB,CAAC;QAC/C,GAAG,GAAG,IAAA,oCAAmB,EAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAE9C,mBAAmB,GAAG;YACpB,GAAG,uBAAuB;YAC1B,
|
|
1
|
+
{"version":3,"file":"getEnvironmentVariables.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvironmentVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ const createAppConfig = (context, application) => {
|
|
|
15
15
|
}
|
|
16
16
|
const { healthRoute, command, ...rest } = application !== null && application !== void 0 ? application : {};
|
|
17
17
|
return (0, utils_1.mergeWithMergingArrays)({
|
|
18
|
-
host: context.environment.
|
|
18
|
+
host: context.environment.envVars.HOSTNAME,
|
|
19
19
|
command: command !== null && command !== void 0 ? command : context.build.config.startCommand,
|
|
20
20
|
livenessProbe: {
|
|
21
21
|
httpGet: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kubeValues.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/kubernetes/kubeValues.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAG/B,uCAAqD;AAErD,oCAA0C;AAC1C,yCAGoB;AAEpB,uCAA0C;AAC1C,uCAAoD;AAEpD,MAAM,eAAe,GAAG,CACtB,OAAyB,EACzB,WAAwD,EACX,EAAE;IAC/C,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC;IAE5D,OAAO,IAAA,8BAAsB,EAC3B;QACE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"kubeValues.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/kubernetes/kubeValues.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const getDependencyTrackUploadScript = (context) => {
|
|
|
12
12
|
? []
|
|
13
13
|
: [
|
|
14
14
|
"echo 'Uploading SBOM to Dependency Track'",
|
|
15
|
-
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.
|
|
15
|
+
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.envVars.ROOT_URL}" "${sbom_1.SBOM_FILE}" vex.json || true`,
|
|
16
16
|
];
|
|
17
17
|
};
|
|
18
18
|
exports.getDependencyTrackUploadScript = getDependencyTrackUploadScript;
|
|
@@ -21,7 +21,7 @@ const getDependencyTrackDeleteScript = (context) => {
|
|
|
21
21
|
? []
|
|
22
22
|
: [
|
|
23
23
|
"echo 'Disabling component in Dependency Track'",
|
|
24
|
-
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.
|
|
24
|
+
`/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.name}" "${context.environment.envVars.ROOT_URL}" || true`,
|
|
25
25
|
];
|
|
26
26
|
};
|
|
27
27
|
exports.getDependencyTrackDeleteScript = getDependencyTrackDeleteScript;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbom.js","sourceRoot":"","sources":["../../../../../pipeline/src/deploy/sbom.ts"],"names":[],"mappings":";;;AAAA,wCAA0C;AAC1C,8CAG0B;AAEnB,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAE,EAAE,CAC3D,IAAA,2CAAiC,EAAC,OAAO,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;IACtC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;AAHzB,QAAA,eAAe,mBAGU;AAE/B,MAAM,8BAA8B,GAAG,CAC5C,OAAyB,EACf,EAAE;IACZ,OAAO,IAAA,uBAAe,EAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,2CAA2C;YAC3C,oEAAoE,OAAO,CAAC,UAAU,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"sbom.js","sourceRoot":"","sources":["../../../../../pipeline/src/deploy/sbom.ts"],"names":[],"mappings":";;;AAAA,wCAA0C;AAC1C,8CAG0B;AAEnB,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAE,EAAE,CAC3D,IAAA,2CAAiC,EAAC,OAAO,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;IACtC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;AAHzB,QAAA,eAAe,mBAGU;AAE/B,MAAM,8BAA8B,GAAG,CAC5C,OAAyB,EACf,EAAE;IACZ,OAAO,IAAA,uBAAe,EAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,2CAA2C;YAC3C,oEAAoE,OAAO,CAAC,UAAU,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,MAAM,gBAAS,oBAAoB;SAC/N,CAAC;AACR,CAAC,CAAC;AATW,QAAA,8BAA8B,kCASzC;AAEK,MAAM,8BAA8B,GAAG,CAC5C,OAAyB,EACf,EAAE;IACZ,OAAO,IAAA,uBAAe,EAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,gDAAgD;YAChD,qEAAqE,OAAO,CAAC,UAAU,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,WAAW;SACxM,CAAC;AACR,CAAC,CAAC;AATW,QAAA,8BAA8B,kCASzC"}
|