@catladder/cli 0.0.0-next-1cd29c1f → 0.0.0-next-52feb889
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 +45 -9
- package/dist/bundles/cli/index.js +125 -11
- package/dist/bundles/runner-images/agent-claude/Dockerfile +5 -0
- package/dist/bundles/runner-images/docker-build/Dockerfile +26 -0
- package/dist/bundles/runner-images/docker-build/scripts/ensureMeteorDockerfile +55 -0
- package/dist/bundles/runner-images/docker-build/scripts/ensureNginxDockerfile +85 -0
- package/dist/bundles/runner-images/docker-build/scripts/ensureNodeDockerfile +50 -0
- package/dist/bundles/runner-images/gcloud/Dockerfile +3 -0
- package/dist/bundles/runner-images/jobs-default/Dockerfile +22 -0
- package/dist/bundles/runner-images/jobs-meteor/Dockerfile +7 -0
- package/dist/bundles/runner-images/jobs-testing-chrome/Dockerfile +15 -0
- package/dist/bundles/runner-images/kubernetes/Dockerfile +26 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.lock +9 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.yaml +14 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/README.md +24 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mailhog-5.0.1.tgz +0 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mongodb-12.1.27.tgz +0 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/myvalues.yaml +15 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/_helpers.tpl +202 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cloudsql-proxy-credentials.yml +10 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cronjobs.yml +69 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.autoscaler.yml +19 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.yml +103 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.configmap.yml +27 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.secrets.yml +10 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.redirects.yaml +91 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.yaml +48 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.jobs.yml +70 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.service.yaml +31 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.volumes.yml +20 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.deployment.yml +104 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.service.yaml +34 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mailhog.ingress.yaml +35 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.deployment.yml +45 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.service.yml +24 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mongodb.backup.cronjob.yml +120 -0
- package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/values.yaml +154 -0
- package/dist/bundles/runner-images/kubernetes/scripts/kubernetesCreateSecret +11 -0
- package/dist/bundles/runner-images/kubernetes/scripts/kubernetesDelete +5 -0
- package/dist/bundles/runner-images/kubernetes/scripts/kubernetesDeploy +57 -0
- package/dist/bundles/runner-images/kubernetes/scripts/kubernetesRollback +5 -0
- package/dist/bundles/runner-images/semantic-release/Dockerfile +24 -0
- package/dist/bundles/runner-images/semantic-release/scripts/semanticRelease +67 -0
- package/dist/cli/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.d.ts +12 -0
- package/dist/cli/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.js +64 -0
- package/dist/cli/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/setup/index.js +3 -0
- package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
- package/dist/cli/src/config/getProjectConfig.d.ts +6 -0
- package/dist/cli/src/config/getProjectConfig.js +10 -1
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/cli/src/gcloud/cloudSql/copyDb.js +6 -2
- package/dist/cli/src/gcloud/cloudSql/copyDb.js.map +1 -1
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/context/index.d.ts +1 -0
- package/dist/pipeline/src/context/index.js +1 -0
- package/dist/pipeline/src/context/index.js.map +1 -1
- package/dist/pipeline/src/customImages/shippedImages.js +3 -1
- package/dist/pipeline/src/customImages/shippedImages.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +18 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -1
- package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +5 -1
- package/dist/pipeline/src/store/index.d.ts +4 -0
- package/dist/pipeline/src/store/index.js +12 -3
- package/dist/pipeline/src/store/index.js.map +1 -1
- package/dist/runner-images/agent-claude/Dockerfile +5 -0
- package/dist/runner-images/docker-build/Dockerfile +26 -0
- package/dist/runner-images/docker-build/scripts/ensureMeteorDockerfile +55 -0
- package/dist/runner-images/docker-build/scripts/ensureNginxDockerfile +85 -0
- package/dist/runner-images/docker-build/scripts/ensureNodeDockerfile +50 -0
- package/dist/runner-images/gcloud/Dockerfile +3 -0
- package/dist/runner-images/jobs-default/Dockerfile +22 -0
- package/dist/runner-images/jobs-meteor/Dockerfile +7 -0
- package/dist/runner-images/jobs-testing-chrome/Dockerfile +15 -0
- package/dist/runner-images/kubernetes/Dockerfile +26 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.lock +9 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.yaml +14 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/README.md +24 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mailhog-5.0.1.tgz +0 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mongodb-12.1.27.tgz +0 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/myvalues.yaml +15 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/_helpers.tpl +202 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cloudsql-proxy-credentials.yml +10 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cronjobs.yml +69 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.autoscaler.yml +19 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.yml +103 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.configmap.yml +27 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.secrets.yml +10 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.redirects.yaml +91 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.yaml +48 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.jobs.yml +70 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.service.yaml +31 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.volumes.yml +20 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.deployment.yml +104 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.service.yaml +34 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mailhog.ingress.yaml +35 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.deployment.yml +45 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.service.yml +24 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mongodb.backup.cronjob.yml +120 -0
- package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/values.yaml +154 -0
- package/dist/runner-images/kubernetes/scripts/kubernetesCreateSecret +11 -0
- package/dist/runner-images/kubernetes/scripts/kubernetesDelete +5 -0
- package/dist/runner-images/kubernetes/scripts/kubernetesDeploy +57 -0
- package/dist/runner-images/kubernetes/scripts/kubernetesRollback +5 -0
- package/dist/runner-images/semantic-release/Dockerfile +24 -0
- package/dist/runner-images/semantic-release/scripts/semanticRelease +67 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.ts +61 -0
- package/src/apps/cli/commands/project/setup/index.ts +3 -0
- package/src/config/getProjectConfig.ts +9 -0
- package/src/gcloud/cloudSql/copyDb.ts +7 -2
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
echo "Deploy to kubernetes"
|
|
5
|
+
echo "Release: $RELEASE_NAME"
|
|
6
|
+
echo "URL (canonical): $HOSTNAME_INTERNAL"
|
|
7
|
+
|
|
8
|
+
# this bash-brainfuck simply splits $helmArgs by newline to an array...
|
|
9
|
+
readarray -t helmArgsArray <<<"$HELM_ARGS"
|
|
10
|
+
|
|
11
|
+
#Log the time until selfdestruct in case of review environment
|
|
12
|
+
if [[ ${ENV_SHORT} == "review" ]]; then echo "NOTE - This deployment will stop itself after 2 weeks"; fi
|
|
13
|
+
|
|
14
|
+
if [[ ${ENV_SHORT} == "review" ]]; then
|
|
15
|
+
# auto rollback
|
|
16
|
+
set +e # disable fail job on error
|
|
17
|
+
helmStatus=$(helm status --namespace $KUBE_NAMESPACE $RELEASE_NAME 2>/dev/null | awk -F': ' -v key="STATUS" '$1==key {print $2}')
|
|
18
|
+
helmRevision=$(helm status --namespace $KUBE_NAMESPACE $RELEASE_NAME 2>/dev/null | awk -F': ' -v key="REVISION" '$1==key {print $2}')
|
|
19
|
+
if [ "$helmStatus" = "failed" ] || [ "$helmStatus" = "pending-install" ] || [ "$helmStatus" = "pending-upgrade" ]; then
|
|
20
|
+
# rollback
|
|
21
|
+
echo "helm deployment is pending or failed, rollback (only on review)..."
|
|
22
|
+
if [ "$helmRevision" = "1" ]; then
|
|
23
|
+
helm uninstall "$RELEASE_NAME" --namespace "$KUBE_NAMESPACE"
|
|
24
|
+
else
|
|
25
|
+
helm rollback "$RELEASE_NAME" --namespace "$KUBE_NAMESPACE"
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
fi
|
|
29
|
+
set -e # reenable
|
|
30
|
+
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
echo "doing helm upgrade"
|
|
34
|
+
helm upgrade --install "$RELEASE_NAME" "$HELM_GITLAB_CHART_NAME" \
|
|
35
|
+
--timeout="30m0s" \
|
|
36
|
+
--set global.appName="$KUBE_APP_NAME" \
|
|
37
|
+
--set global.appPrefix="$KUBE_APP_NAME_PREFIX" \
|
|
38
|
+
--set global.ENV_SHORT="$ENV_SHORT" \
|
|
39
|
+
--set global.BUILD_ID="$BUILD_INFO_ID" \
|
|
40
|
+
--set image.repository="$CI_REGISTRY_IMAGE" \
|
|
41
|
+
--set image.pullSecret="$KUBE_DOCKER_IMAGE_PULL_SECRET" \
|
|
42
|
+
--set image.name="$DOCKER_IMAGE_NAME" \
|
|
43
|
+
--set image.tag="$DOCKER_IMAGE_TAG" \
|
|
44
|
+
--set image.pullPolicy=IfNotPresent \
|
|
45
|
+
--set application.hostCanonical="$HOSTNAME_INTERNAL" \
|
|
46
|
+
--set mongodb.fullnameOverride=$KUBE_APP_NAME-mongodb \
|
|
47
|
+
--set mailhog.fullnameOverride=$KUBE_APP_NAME-mailhog \
|
|
48
|
+
--set gitlab.visualReviewEnabled="$GITLAB_VISUAL_REVIEW_ENABLED" \
|
|
49
|
+
--set gitlab.app="$CI_PROJECT_PATH_SLUG" \
|
|
50
|
+
--set gitlab.projectPath="$CI_PROJECT_PATH" \
|
|
51
|
+
--set gitlab.mergeRequestId="$CI_MERGE_REQUEST_IID" \
|
|
52
|
+
--set gitlab.projectId="$CI_PROJECT_ID" \
|
|
53
|
+
--set gitlab.env="$CI_ENVIRONMENT_SLUG" \
|
|
54
|
+
--set namespace="$KUBE_NAMESPACE" \
|
|
55
|
+
--namespace="$KUBE_NAMESPACE" \
|
|
56
|
+
${helmArgsArray[@]} \
|
|
57
|
+
--values __all_values.yml
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# build context is the root directory
|
|
2
|
+
FROM node:lts-alpine
|
|
3
|
+
|
|
4
|
+
RUN apk add --no-cache bash git git-lfs
|
|
5
|
+
|
|
6
|
+
RUN mkdir /packages
|
|
7
|
+
COPY ./cli /packages/cli
|
|
8
|
+
|
|
9
|
+
# add semantic release
|
|
10
|
+
RUN yarn global add \
|
|
11
|
+
semantic-release@^19 \
|
|
12
|
+
@semantic-release/commit-analyzer \
|
|
13
|
+
@semantic-release/release-notes-generator \
|
|
14
|
+
https://github.com/panter/git.git#b4037626cc583d3e9f7995ea0604b23730d0a22e \
|
|
15
|
+
@semantic-release/changelog \
|
|
16
|
+
@semantic-release/gitlab@9 \
|
|
17
|
+
@semantic-release/exec@6 \
|
|
18
|
+
/packages/cli
|
|
19
|
+
|
|
20
|
+
RUN mkdir -p /scripts
|
|
21
|
+
COPY ./runner-images/semantic-release/scripts/* /scripts/
|
|
22
|
+
RUN chmod +x /scripts/*
|
|
23
|
+
|
|
24
|
+
ENV PATH="/scripts:${PATH}"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# 0. check and evalaute security audit or create MR with security audit template (and exit 1)
|
|
5
|
+
# 1. create "@semantic-release/changelog"
|
|
6
|
+
# 2. commit it to git (and push)
|
|
7
|
+
# 3. optional: update package.json
|
|
8
|
+
|
|
9
|
+
# better branches settings: https://github.com/semantic-release/semantic-release/issues/1581
|
|
10
|
+
|
|
11
|
+
echo "doing security audit check"
|
|
12
|
+
catladder security audit ci-job ./ "$GL_TOKEN" "$CI_DEFAULT_BRANCH" "$CI_PROJECT_ID" "$GITLAB_USER_ID"
|
|
13
|
+
|
|
14
|
+
echo "doing semantic release"
|
|
15
|
+
|
|
16
|
+
if [ ! -e .releaserc ]; then
|
|
17
|
+
cat >.releaserc <<EOF
|
|
18
|
+
{
|
|
19
|
+
"plugins": [
|
|
20
|
+
[
|
|
21
|
+
"@semantic-release/commit-analyzer",
|
|
22
|
+
{
|
|
23
|
+
preset: "angular",
|
|
24
|
+
releaseRules: [
|
|
25
|
+
{ breaking: true, release: "major" },
|
|
26
|
+
{ revert: true, release: "patch" },
|
|
27
|
+
|
|
28
|
+
{ type: "feat", release: "minor" },
|
|
29
|
+
{ type: "docs", release: "patch" },
|
|
30
|
+
{ type: "fix", release: "patch" },
|
|
31
|
+
{ type: "perf", release: "patch" },
|
|
32
|
+
# always fall back to a patch release
|
|
33
|
+
{
|
|
34
|
+
header: "**",
|
|
35
|
+
release: "patch",
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
"@semantic-release/release-notes-generator",
|
|
41
|
+
"@semantic-release/changelog",
|
|
42
|
+
["@semantic-release/git", {
|
|
43
|
+
"message": "chore(\${branch.type}): \${nextRelease.version}\n\n\${nextRelease.notes}"
|
|
44
|
+
}],
|
|
45
|
+
["@semantic-release/gitlab", {
|
|
46
|
+
"gitlabUrl": "https://git.panter.ch"
|
|
47
|
+
}]
|
|
48
|
+
],
|
|
49
|
+
"branches": [
|
|
50
|
+
"+([0-9])?(.{+([0-9]),x}).x",
|
|
51
|
+
"master",
|
|
52
|
+
"main",
|
|
53
|
+
"next",
|
|
54
|
+
"next-major",
|
|
55
|
+
{
|
|
56
|
+
"name": "beta",
|
|
57
|
+
"prerelease": true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "alpha",
|
|
61
|
+
"prerelease": true
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
}
|
|
65
|
+
EOF
|
|
66
|
+
fi
|
|
67
|
+
semantic-release
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IO } from "../../../../../core/types";
|
|
2
|
+
/**
|
|
3
|
+
* fetches the gcloud project numbers of all cloud run deploys into the
|
|
4
|
+
* catladder store.
|
|
5
|
+
*
|
|
6
|
+
* This must run BEFORE any pipeline context is created: context creation
|
|
7
|
+
* computes the deterministic cloud run urls, which read the project
|
|
8
|
+
* number from the store and throw when it is missing — on a fresh
|
|
9
|
+
* project that would make `project setup` fail with the very error it is
|
|
10
|
+
* supposed to fix (chicken-and-egg).
|
|
11
|
+
*/
|
|
12
|
+
export declare const ensureGcloudProjectNumbers: (instance: IO) => Promise<void>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ensureGcloudProjectNumbers = void 0;
|
|
7
|
+
const pipeline_1 = require("../../../../../../../pipeline/src/index.js");
|
|
8
|
+
const getProjectConfig_1 = require("../../../../../config/getProjectConfig");
|
|
9
|
+
const getProjectNumber_1 = require("../../../../../gcloud/getProjectNumber");
|
|
10
|
+
const updateCatladderStore_1 = require("../../../../../store/updateCatladderStore");
|
|
11
|
+
const projects_1 = require("../../../../../utils/projects");
|
|
12
|
+
/**
|
|
13
|
+
* fetches the gcloud project numbers of all cloud run deploys into the
|
|
14
|
+
* catladder store.
|
|
15
|
+
*
|
|
16
|
+
* This must run BEFORE any pipeline context is created: context creation
|
|
17
|
+
* computes the deterministic cloud run urls, which read the project
|
|
18
|
+
* number from the store and throw when it is missing — on a fresh
|
|
19
|
+
* project that would make `project setup` fail with the very error it is
|
|
20
|
+
* supposed to fix (chicken-and-egg).
|
|
21
|
+
*/
|
|
22
|
+
const ensureGcloudProjectNumbers = async instance => {
|
|
23
|
+
var _a;
|
|
24
|
+
const config = await (0, getProjectConfig_1.getProjectConfig)();
|
|
25
|
+
if (!config) return;
|
|
26
|
+
const projectIds = new Set();
|
|
27
|
+
for (const {
|
|
28
|
+
componentName,
|
|
29
|
+
env
|
|
30
|
+
} of await (0, getProjectConfig_1.getAllComponentsWithAllEnvsFlat)()) {
|
|
31
|
+
const {
|
|
32
|
+
deploy
|
|
33
|
+
} = (0, pipeline_1.getEnvConfig)(config, componentName, env);
|
|
34
|
+
if (deploy && deploy.type === "google-cloudrun") {
|
|
35
|
+
projectIds.add(deploy.projectId);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const root = (_a = await (0, projects_1.getGitRoot)()) !== null && _a !== void 0 ? _a : process.cwd();
|
|
39
|
+
const store = (0, pipeline_1.readCatladderStore)(root);
|
|
40
|
+
const missing = [...projectIds].filter(projectId => {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
return !((_b = (_a = store.gcloudProjects) === null || _a === void 0 ? void 0 : _a[projectId]) === null || _b === void 0 ? void 0 : _b.projectNumber);
|
|
43
|
+
});
|
|
44
|
+
for (const projectId of missing) {
|
|
45
|
+
instance.log(`fetch gcloud project number for ${projectId}...`);
|
|
46
|
+
const projectNumber = await (0, getProjectNumber_1.fetchGcloudProjectNumber)(projectId);
|
|
47
|
+
instance.log(`project number: ${projectNumber}`);
|
|
48
|
+
await (0, updateCatladderStore_1.updateCatladderStore)(current => ({
|
|
49
|
+
...current,
|
|
50
|
+
gcloudProjects: {
|
|
51
|
+
...current.gcloudProjects,
|
|
52
|
+
[projectId]: {
|
|
53
|
+
projectNumber
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
if (missing.length > 0) {
|
|
59
|
+
// the store is attached to the config at read time; drop the cached
|
|
60
|
+
// config so contexts created after this pre-pass see the new values
|
|
61
|
+
(0, getProjectConfig_1.invalidateProjectConfig)();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
exports.ensureGcloudProjectNumbers = ensureGcloudProjectNumbers;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureGcloudProjectNumbers.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.ts"],"names":[],"mappings":";;;AAAA,kDAAuE;AACvE,6EAIgD;AAEhD,6EAAkF;AAClF,oFAAiF;AACjF,4DAA2D;AAE3D;;;;;;;;;GASG;AACI,MAAM,0BAA0B,GAAG,KAAK,EAAE,QAAY,EAAE,EAAE;;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,GAAE,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,EACT,aAAa,EACb,GAAG,GACJ,IAAI,MAAM,IAAA,kDAA+B,GAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,uBAAY,EAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAChD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAA,CAAC,MAAM,IAAA,qBAAU,GAAE,CAAC,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CACpC,CAAC,SAAS,EAAE,EAAE,eAAC,OAAA,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAG,SAAS,CAAC,0CAAE,aAAa,CAAA,CAAA,EAAA,CACjE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,QAAQ,CAAC,GAAG,CAAC,mCAAmC,SAAS,KAAK,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,MAAM,IAAA,2CAAwB,EAAC,SAAS,CAAC,CAAC;QAChE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,IAAA,2CAAoB,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvC,GAAG,OAAO;YACV,cAAc,EAAE;gBACd,GAAG,OAAO,CAAC,cAAc;gBACzB,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE;aAC/B;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,oEAAoE;QACpE,oEAAoE;QACpE,IAAA,0CAAuB,GAAE,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC;AAvCW,QAAA,0BAA0B,8BAuCrC"}
|
|
@@ -10,7 +10,10 @@ const setupContext_1 = require("./setupContext");
|
|
|
10
10
|
const setupTopic_1 = require("./setupTopic");
|
|
11
11
|
const setupAgents_1 = require("./setupAgents");
|
|
12
12
|
const logSection_1 = require("./logSection");
|
|
13
|
+
const ensureGcloudProjectNumbers_1 = require("./ensureGcloudProjectNumbers");
|
|
13
14
|
const setupProject = async (instance, onlyComponents) => {
|
|
15
|
+
// must come first: creating contexts already requires the store
|
|
16
|
+
await (0, ensureGcloudProjectNumbers_1.ensureGcloudProjectNumbers)(instance);
|
|
14
17
|
const allContext = await (0, getProjectConfig_1.getAllPipelineContexts)(onlyComponents);
|
|
15
18
|
instance.log("will setup those contexts:");
|
|
16
19
|
allContext.forEach(context => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;AACA,6EAAgF;AAChF,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAC1C,+CAA4C;AAC5C,6CAA0C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;AACA,6EAAgF;AAChF,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAC1C,+CAA4C;AAC5C,6CAA0C;AAC1C,6EAA0E;AAEnE,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAY,EACZ,cAAkC,EAClC,EAAE;IACF,gEAAgE;IAChE,MAAM,IAAA,uDAA0B,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,IAAA,yCAAsB,EAAC,cAAc,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,IAAA,uBAAU,EAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAA,2BAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD;QACE,kCAAkC;QAClC,2BAA2B;QAC3B,qDAAqD;QACrD,qBAAqB;QACrB,eAAe;KAChB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
|
|
@@ -2,6 +2,12 @@ import type { Config } from "../../../pipeline/src/index.js";
|
|
|
2
2
|
import type { IO } from "../core/types";
|
|
3
3
|
export { parseChoice } from "./parseChoice";
|
|
4
4
|
export declare const getProjectConfig: () => Promise<Config>;
|
|
5
|
+
/**
|
|
6
|
+
* drops the cached config so the next access re-reads it from disk —
|
|
7
|
+
* needed after writing the catladder store, which is attached to the
|
|
8
|
+
* config (`config.store`) at read time
|
|
9
|
+
*/
|
|
10
|
+
export declare const invalidateProjectConfig: () => void;
|
|
5
11
|
export declare const getProjectComponents: () => Promise<string[]>;
|
|
6
12
|
export declare const getPipelineContextByChoice: (env: string, componentName: string) => Promise<import("../../../pipeline/src/index.js").ComponentContext>;
|
|
7
13
|
export declare const getAllComponentsWithAllEnvsFlat: () => Promise<Array<{
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getJobOnlyEnvVarsResolved = exports.getEnvVarsResolved = exports.getGitlabVar = exports.getEnvironment = exports.getAllPipelineContexts = exports.getAllComponentsWithAllEnvsHierarchical = exports.getAllComponentsWithAllEnvsFlat = exports.getPipelineContextByChoice = exports.getProjectComponents = exports.getProjectConfig = exports.parseChoice = void 0;
|
|
6
|
+
exports.getJobOnlyEnvVarsResolved = exports.getEnvVarsResolved = exports.getGitlabVar = exports.getEnvironment = exports.getAllPipelineContexts = exports.getAllComponentsWithAllEnvsHierarchical = exports.getAllComponentsWithAllEnvsFlat = exports.getPipelineContextByChoice = exports.getProjectComponents = exports.invalidateProjectConfig = exports.getProjectConfig = exports.parseChoice = void 0;
|
|
7
7
|
const pipeline_1 = require("../../../pipeline/src/index.js");
|
|
8
8
|
const gitlab_1 = require("../utils/gitlab");
|
|
9
9
|
const projects_1 = require("../utils/projects");
|
|
@@ -33,6 +33,15 @@ const getProjectConfig = async () => {
|
|
|
33
33
|
return currentConfig;
|
|
34
34
|
};
|
|
35
35
|
exports.getProjectConfig = getProjectConfig;
|
|
36
|
+
/**
|
|
37
|
+
* drops the cached config so the next access re-reads it from disk —
|
|
38
|
+
* needed after writing the catladder store, which is attached to the
|
|
39
|
+
* config (`config.store`) at read time
|
|
40
|
+
*/
|
|
41
|
+
const invalidateProjectConfig = () => {
|
|
42
|
+
currentConfig = null;
|
|
43
|
+
};
|
|
44
|
+
exports.invalidateProjectConfig = invalidateProjectConfig;
|
|
36
45
|
const getProjectComponents = async () => {
|
|
37
46
|
const config = await (0, exports.getProjectConfig)();
|
|
38
47
|
if (!config) return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,8 +30,12 @@ const createCopyDbScript = ({
|
|
|
30
30
|
const copyDBScript = `
|
|
31
31
|
set -e
|
|
32
32
|
|
|
33
|
-
${targetPSQL(
|
|
34
|
-
|
|
33
|
+
${targetPSQL(
|
|
34
|
+
// connect to the always-existing "postgres" maintenance database:
|
|
35
|
+
// without an explicit dbname, psql falls back to the username and
|
|
36
|
+
// fails with e.g. 'FATAL: database "user" does not exist'
|
|
37
|
+
`--dbname=postgres -c 'drop database "${targetDbName}" WITH (FORCE)' 1> /dev/null || true`)}
|
|
38
|
+
${targetPSQL(`--dbname=postgres -c 'create database "${targetDbName}"' 1> /dev/null`)}
|
|
35
39
|
echo "Estimating database size..."
|
|
36
40
|
DB_SIZE=$(PGPASSWORD=${encodedSourcePassword} psql --dbname=postgres://${encodedSourceUsername}:${encodedSourcePassword}@localhost:${sourcePort}/${sourceDbName} -t -A -c "SELECT pg_database_size('${sourceDbName}')")
|
|
37
41
|
# pg_database_size includes indexes, TOAST, and free space — pg_dump output is roughly 40% of that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyDb.js","sourceRoot":"","sources":["../../../../../src/gcloud/cloudSql/copyDb.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAWvC,MAAM,WAAW,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAExC,OAAO,MAAM,IAAA,6BAAK,EAAC,MAAM,EAAE,EAAE,EAAE;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AACF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,cAAc,EACd,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,GACP,EAAE,EAAE;IACT,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CACrC,cAAc,cAAc,YAAY,UAAU,4BAA4B,cAAc,OAAO,OAAO,EAAE,CAAC;IAE/G,yEAAyE;IACzE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG;;;QAGf,UAAU,
|
|
1
|
+
{"version":3,"file":"copyDb.js","sourceRoot":"","sources":["../../../../../src/gcloud/cloudSql/copyDb.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAWvC,MAAM,WAAW,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAExC,OAAO,MAAM,IAAA,6BAAK,EAAC,MAAM,EAAE,EAAE,EAAE;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AACF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,cAAc,EACd,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,GACP,EAAE,EAAE;IACT,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CACrC,cAAc,cAAc,YAAY,UAAU,4BAA4B,cAAc,OAAO,OAAO,EAAE,CAAC;IAE/G,yEAAyE;IACzE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG;;;QAGf,UAAU;IACV,kEAAkE;IAClE,kEAAkE;IAClE,0DAA0D;IAC1D,wCAAwC,YAAY,sCAAsC,CAC3F;QACC,UAAU,CACV,0CAA0C,YAAY,iBAAiB,CACxE;;6BAEsB,qBAAqB,6BAA6B,qBAAqB,IAAI,qBAAqB,cAAc,UAAU,IAAI,YAAY,uCAAuC,YAAY;;;;;;;;;;;;;0CAa9K,qBAAqB,IAAI,qBAAqB,cAAc,UAAU,IAAI,YAAY,2CAA2C,UAAU,CAAC,IAAI,YAAY,gBAAgB,CAAC;;;OAGhN,CAAC;IACN,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
7
|
-
exports.PIPELINE_IMAGE_TAG = "next-
|
|
7
|
+
exports.PIPELINE_IMAGE_TAG = "next-52feb889" || "latest";
|
|
8
8
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "git.panter.ch:5001/catladder/catladder";
|
|
@@ -23,5 +23,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
23
23
|
value: true
|
|
24
24
|
});
|
|
25
25
|
__exportStar(require("./createComponentContext"), exports);
|
|
26
|
+
__exportStar(require("./getEnvConfig"), exports);
|
|
26
27
|
__exportStar(require("./getEnvironment"), exports);
|
|
27
28
|
__exportStar(require("./getEnvironmentVariables"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,mDAAiC;AACjC,4DAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,iDAA+B;AAC/B,mDAAiC;AACjC,4DAA0C"}
|
|
@@ -45,7 +45,9 @@ exports.RUNNER_IMAGE_BUILD_CONTEXT = {
|
|
|
45
45
|
*/
|
|
46
46
|
const getShippedImagesDir = () => {
|
|
47
47
|
const candidates = [
|
|
48
|
-
// built package: dist/customImages -> dist/runner-images
|
|
48
|
+
// built pipeline package: dist/customImages -> dist/runner-images
|
|
49
|
+
// bundled cli package (what consumers install): the ncc bundles live
|
|
50
|
+
// in dist/bundles/<name>, so both resolve to dist/bundles/runner-images
|
|
49
51
|
(0, path_1.join)(__dirname, "..", "runner-images"),
|
|
50
52
|
// repository: pipeline/src/customImages -> <root>/runner-images
|
|
51
53
|
(0, path_1.join)(__dirname, "..", "..", "..", "runner-images")];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shippedImages.js","sourceRoot":"","sources":["../../../../../pipeline/src/customImages/shippedImages.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,+BAA4B;AAG5B;;;;GAIG;AACU,QAAA,yBAAyB,GAElC;IACF,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,qBAAqB,EAAE,CAAC,cAAc,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH;;;;;GAKG;AACU,QAAA,mBAAmB,GAAiC,IAAI,GAAG,CAAC;IACvE,kBAAkB;CACnB,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAGnC;IACF,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,MAAM;IACd,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,MAAM;CACvB,CAAC;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,MAAM,UAAU,GAAG;QACjB,
|
|
1
|
+
{"version":3,"file":"shippedImages.js","sourceRoot":"","sources":["../../../../../pipeline/src/customImages/shippedImages.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,+BAA4B;AAG5B;;;;GAIG;AACU,QAAA,yBAAyB,GAElC;IACF,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,qBAAqB,EAAE,CAAC,cAAc,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH;;;;;GAKG;AACU,QAAA,mBAAmB,GAAiC,IAAI,GAAG,CAAC;IACvE,kBAAkB;CACnB,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAGnC;IACF,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,MAAM;IACd,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,MAAM;CACvB,CAAC;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,MAAM,UAAU,GAAG;QACjB,kEAAkE;QAClE,qEAAqE;QACrE,wEAAwE;QACxE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC;QACtC,gEAAgE;QAChE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC;KACnD,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAqB,EAAU,EAAE,CAClE,IAAA,WAAI,EAAC,IAAA,2BAAmB,GAAE,EAAE,IAAI,CAAC,CAAC;AADvB,QAAA,kBAAkB,sBACK"}
|
|
@@ -36,8 +36,11 @@ const getCreateScheduleScript = context => {
|
|
|
36
36
|
config
|
|
37
37
|
}, jobIndex) => {
|
|
38
38
|
var _a;
|
|
39
|
+
// `headers` is pulled out of the shared args because the flag name differs
|
|
40
|
+
// between create (`--headers`) and update (`--update-headers`).
|
|
39
41
|
const {
|
|
40
42
|
uri,
|
|
43
|
+
headers,
|
|
41
44
|
...args
|
|
42
45
|
} = getSchedulerArgs(config, context);
|
|
43
46
|
const argsString = (0, createArgsString_1.createArgsString)({
|
|
@@ -48,12 +51,15 @@ const getCreateScheduleScript = context => {
|
|
|
48
51
|
schedule: `"${config.schedule}"`,
|
|
49
52
|
"max-retry-attempts": (_a = config.maxRetryAttempts) !== null && _a !== void 0 ? _a : 0
|
|
50
53
|
});
|
|
51
|
-
|
|
54
|
+
const headersValue = headers ? `"${(0, bash_1.bashEscape)(headers)}"` : undefined;
|
|
55
|
+
const createHeadersArg = headersValue ? ` --headers=${headersValue}` : "";
|
|
56
|
+
const updateHeadersArg = headersValue ? ` --update-headers=${headersValue}` : "";
|
|
57
|
+
return [jobIndex === 0 ? `exist_scheduler_names="$(\n ${(0, common_1.gcloudSchedulerCmd)()} jobs list --filter='httpTarget.uri ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --location='${location}' --project='${project}'\n)"` : null, `current_job_uri="${uri}"`, `current_scheduler_name="${fullName}"`, `if echo "$exist_scheduler_names" | grep -Fx "$current_scheduler_name" >/dev/null; then`, ` ${(0, common_1.gcloudSchedulerCmd)()} jobs update http "$current_scheduler_name" ${argsString}${updateHeadersArg}`, `else`, ` ${(0, common_1.gcloudSchedulerCmd)()} jobs create http "$current_scheduler_name" ${argsString}${createHeadersArg}`, `fi`].filter(utils_1.notNil).join("\n");
|
|
52
58
|
});
|
|
53
59
|
};
|
|
54
60
|
exports.getCreateScheduleScript = getCreateScheduleScript;
|
|
55
61
|
const getSchedulerArgs = (scheduler, context) => {
|
|
56
|
-
var _a;
|
|
62
|
+
var _a, _b;
|
|
57
63
|
if (scheduler.type === "job") {
|
|
58
64
|
const {
|
|
59
65
|
projectId,
|
|
@@ -81,10 +87,19 @@ const getSchedulerArgs = (scheduler, context) => {
|
|
|
81
87
|
};
|
|
82
88
|
}
|
|
83
89
|
if (scheduler.type === "http") {
|
|
90
|
+
// default the Content-Type to application/json when a body is sent and the
|
|
91
|
+
// user didn't set one explicitly. Otherwise Cloud Scheduler falls back to
|
|
92
|
+
// application/octet-stream, which is rarely what's intended.
|
|
93
|
+
const hasContentType = Object.keys((_b = scheduler.headers) !== null && _b !== void 0 ? _b : {}).some(k => k.toLowerCase() === "content-type");
|
|
94
|
+
const headers = scheduler.body && !hasContentType ? {
|
|
95
|
+
"Content-Type": "application/json",
|
|
96
|
+
...scheduler.headers
|
|
97
|
+
} : scheduler.headers;
|
|
84
98
|
return {
|
|
85
99
|
uri: scheduler.url,
|
|
86
|
-
"message-body": scheduler.body,
|
|
100
|
+
"message-body": scheduler.body ? '"' + (0, bash_1.bashEscape)(scheduler.body) + '"' : undefined,
|
|
87
101
|
"http-method": scheduler.method,
|
|
102
|
+
headers: headers ? Object.entries(headers).map(([k, v]) => `${k}=${v}`).join(",") : undefined,
|
|
88
103
|
"oidc-service-account-email": `"${(0, common_1.getComputeServiceAccountEmail)(context)}"`
|
|
89
104
|
};
|
|
90
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../../../../../../pipeline/src/deploy/cloudRun/createJobs/execute/schedules.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAM9C,6CAA2C;AAK3C,2EAA4E;AAC5E,mEAAgE;AAChE,iDAA2D;AAC3D,kDAA2D;AAC3D,sCAImB;AAEZ,MAAM,wBAAwB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACpE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC;QAClC,OAAO,EAAE,YAAY,CAAC,SAAS;QAC/B,QAAQ,EAAE,YAAY,CAAC,MAAM;KAC9B,CAAC,CAAC;IAEH,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,IAAA,2BAAkB,GAAE,gBAAgB,QAAQ,IAAI,UAAU,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAbW,QAAA,wBAAwB,4BAanC;AAEK,MAAM,uBAAuB,GAAG,CACrC,OAAyB,EACf,EAAE;IACZ,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAC5C,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAU,EAAE;;QAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../../../../../../pipeline/src/deploy/cloudRun/createJobs/execute/schedules.ts"],"names":[],"mappings":"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"}
|
|
@@ -477,7 +477,11 @@ export type DeployConfigCloudRunExecuteHttp = {
|
|
|
477
477
|
*/
|
|
478
478
|
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "PURGE";
|
|
479
479
|
/**
|
|
480
|
-
* the body to send
|
|
480
|
+
* the body to send.
|
|
481
|
+
*
|
|
482
|
+
* When a body is set and no `Content-Type` header is provided, it defaults to
|
|
483
|
+
* `application/json` (Cloud Scheduler would otherwise fall back to
|
|
484
|
+
* `application/octet-stream`).
|
|
481
485
|
*/
|
|
482
486
|
body?: string;
|
|
483
487
|
/**
|
|
@@ -21,6 +21,10 @@ export declare const getCatladderStorePath: (directory: string) => string;
|
|
|
21
21
|
/**
|
|
22
22
|
* reads and validates the catladder store. Returns an empty store when the
|
|
23
23
|
* file does not exist (project setup has not run yet).
|
|
24
|
+
*
|
|
25
|
+
* An unreadable or invalid store is treated the same as a missing one
|
|
26
|
+
* (with a warning): the store only holds machine-fetched values, so the
|
|
27
|
+
* remedy is always rerunning project setup — not hand-editing the file.
|
|
24
28
|
*/
|
|
25
29
|
export declare const readCatladderStore: (directory?: string) => CatladderStore;
|
|
26
30
|
/**
|
|
@@ -33,6 +33,10 @@ exports.getCatladderStorePath = getCatladderStorePath;
|
|
|
33
33
|
/**
|
|
34
34
|
* reads and validates the catladder store. Returns an empty store when the
|
|
35
35
|
* file does not exist (project setup has not run yet).
|
|
36
|
+
*
|
|
37
|
+
* An unreadable or invalid store is treated the same as a missing one
|
|
38
|
+
* (with a warning): the store only holds machine-fetched values, so the
|
|
39
|
+
* remedy is always rerunning project setup — not hand-editing the file.
|
|
36
40
|
*/
|
|
37
41
|
const readCatladderStore = (directory = process.cwd()) => {
|
|
38
42
|
var _a;
|
|
@@ -40,9 +44,14 @@ const readCatladderStore = (directory = process.cwd()) => {
|
|
|
40
44
|
if (!(0, fs_1.existsSync)(path)) {
|
|
41
45
|
return {};
|
|
42
46
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
try {
|
|
48
|
+
return exports.catladderStoreSchema.parse((_a = (0, yaml_1.parse)((0, fs_1.readFileSync)(path, {
|
|
49
|
+
encoding: "utf-8"
|
|
50
|
+
}))) !== null && _a !== void 0 ? _a : {});
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.warn(`⚠️ ignoring invalid ${exports.CATLADDER_STORE_FILE} (rerun "catladder project setup" to regenerate it): ${error instanceof Error ? error.message : error}`);
|
|
53
|
+
return {};
|
|
54
|
+
}
|
|
46
55
|
};
|
|
47
56
|
exports.readCatladderStore = readCatladderStore;
|
|
48
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/store/index.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAC5B,+BAA6B;AAC7B,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,oBAAoB,GAAG,GAAG,2BAAmB,IAAI,iCAAyB,EAAE,CAAC;AAE1F;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,OAAC;SACd,MAAM,CACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAII,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACzD,IAAA,WAAI,EAAC,SAAS,EAAE,2BAAmB,EAAE,iCAAyB,CAAC,CAAC;AADrD,QAAA,qBAAqB,yBACgC;AAElE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/store/index.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAC5B,+BAA6B;AAC7B,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,oBAAoB,GAAG,GAAG,2BAAmB,IAAI,iCAAyB,EAAE,CAAC;AAE1F;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,OAAC;SACd,MAAM,CACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAII,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACzD,IAAA,WAAI,EAAC,SAAS,EAAE,2BAAmB,EAAE,iCAAyB,CAAC,CAAC;AADrD,QAAA,qBAAqB,yBACgC;AAElE;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAG,CAChC,YAAoB,OAAO,CAAC,GAAG,EAAE,EACjB,EAAE;;IAClB,MAAM,IAAI,GAAG,IAAA,6BAAqB,EAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,4BAAoB,CAAC,KAAK,CAC/B,MAAA,IAAA,YAAK,EAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,mCAAI,EAAE,CACvD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uBAAuB,4BAAoB,wDACzC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAC3C,EAAE,CACH,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B;AAEF;;;;;;;GAOG;AACI,MAAM,sBAAsB,GAAG,CACpC,MAAkC,EAClC,SAAiB,EACT,EAAE;;IACV,MAAM,aAAa,GACjB,MAAA,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,cAAc,0CAAG,SAAS,CAAC,0CAAE,aAAa,CAAC;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,8CAA8C,SAAS,QAAQ,4BAAoB,KAAK;YACtF,sDAAsD,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAbW,QAAA,sBAAsB,0BAajC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
FROM docker:29.5.1
|
|
3
|
+
|
|
4
|
+
# add bash
|
|
5
|
+
RUN apk add --no-cache bash
|
|
6
|
+
|
|
7
|
+
# for glcoud
|
|
8
|
+
ARG GCLOUD_SDK_VERSION=525.0.0
|
|
9
|
+
|
|
10
|
+
RUN apk --update add curl python3 py3-crcmod libc6-compat
|
|
11
|
+
RUN curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${GCLOUD_SDK_VERSION}-linux-x86_64.tar.gz && \
|
|
12
|
+
tar zxvf google-cloud-sdk-${GCLOUD_SDK_VERSION}-linux-x86_64.tar.gz && \
|
|
13
|
+
rm google-cloud-sdk-${GCLOUD_SDK_VERSION}-linux-x86_64.tar.gz && \
|
|
14
|
+
./google-cloud-sdk/install.sh
|
|
15
|
+
ENV PATH="/google-cloud-sdk/bin:${PATH}"
|
|
16
|
+
|
|
17
|
+
# end gcloud
|
|
18
|
+
|
|
19
|
+
# for scripts
|
|
20
|
+
|
|
21
|
+
RUN mkdir p /scripts
|
|
22
|
+
COPY ./scripts/* /scripts/
|
|
23
|
+
RUN chmod +x /scripts/*
|
|
24
|
+
|
|
25
|
+
ENV PATH="/scripts:${PATH}"
|
|
26
|
+
|