@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.
Files changed (112) hide show
  1. package/dist/bundles/catenv/index.js +45 -9
  2. package/dist/bundles/cli/index.js +125 -11
  3. package/dist/bundles/runner-images/agent-claude/Dockerfile +5 -0
  4. package/dist/bundles/runner-images/docker-build/Dockerfile +26 -0
  5. package/dist/bundles/runner-images/docker-build/scripts/ensureMeteorDockerfile +55 -0
  6. package/dist/bundles/runner-images/docker-build/scripts/ensureNginxDockerfile +85 -0
  7. package/dist/bundles/runner-images/docker-build/scripts/ensureNodeDockerfile +50 -0
  8. package/dist/bundles/runner-images/gcloud/Dockerfile +3 -0
  9. package/dist/bundles/runner-images/jobs-default/Dockerfile +22 -0
  10. package/dist/bundles/runner-images/jobs-meteor/Dockerfile +7 -0
  11. package/dist/bundles/runner-images/jobs-testing-chrome/Dockerfile +15 -0
  12. package/dist/bundles/runner-images/kubernetes/Dockerfile +26 -0
  13. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.lock +9 -0
  14. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.yaml +14 -0
  15. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/README.md +24 -0
  16. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mailhog-5.0.1.tgz +0 -0
  17. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mongodb-12.1.27.tgz +0 -0
  18. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/myvalues.yaml +15 -0
  19. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/_helpers.tpl +202 -0
  20. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cloudsql-proxy-credentials.yml +10 -0
  21. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cronjobs.yml +69 -0
  22. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.autoscaler.yml +19 -0
  23. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.yml +103 -0
  24. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.configmap.yml +27 -0
  25. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.secrets.yml +10 -0
  26. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.redirects.yaml +91 -0
  27. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.yaml +48 -0
  28. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.jobs.yml +70 -0
  29. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.service.yaml +31 -0
  30. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.volumes.yml +20 -0
  31. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.deployment.yml +104 -0
  32. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.service.yaml +34 -0
  33. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mailhog.ingress.yaml +35 -0
  34. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.deployment.yml +45 -0
  35. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.service.yml +24 -0
  36. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mongodb.backup.cronjob.yml +120 -0
  37. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/values.yaml +154 -0
  38. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesCreateSecret +11 -0
  39. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesDelete +5 -0
  40. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesDeploy +57 -0
  41. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesRollback +5 -0
  42. package/dist/bundles/runner-images/semantic-release/Dockerfile +24 -0
  43. package/dist/bundles/runner-images/semantic-release/scripts/semanticRelease +67 -0
  44. package/dist/cli/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.d.ts +12 -0
  45. package/dist/cli/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.js +64 -0
  46. package/dist/cli/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.js.map +1 -0
  47. package/dist/cli/src/apps/cli/commands/project/setup/index.js +3 -0
  48. package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
  49. package/dist/cli/src/config/getProjectConfig.d.ts +6 -0
  50. package/dist/cli/src/config/getProjectConfig.js +10 -1
  51. package/dist/cli/src/config/getProjectConfig.js.map +1 -1
  52. package/dist/cli/src/gcloud/cloudSql/copyDb.js +6 -2
  53. package/dist/cli/src/gcloud/cloudSql/copyDb.js.map +1 -1
  54. package/dist/pipeline/src/constants.js +1 -1
  55. package/dist/pipeline/src/context/index.d.ts +1 -0
  56. package/dist/pipeline/src/context/index.js +1 -0
  57. package/dist/pipeline/src/context/index.js.map +1 -1
  58. package/dist/pipeline/src/customImages/shippedImages.js +3 -1
  59. package/dist/pipeline/src/customImages/shippedImages.js.map +1 -1
  60. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +18 -3
  61. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -1
  62. package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +5 -1
  63. package/dist/pipeline/src/store/index.d.ts +4 -0
  64. package/dist/pipeline/src/store/index.js +12 -3
  65. package/dist/pipeline/src/store/index.js.map +1 -1
  66. package/dist/runner-images/agent-claude/Dockerfile +5 -0
  67. package/dist/runner-images/docker-build/Dockerfile +26 -0
  68. package/dist/runner-images/docker-build/scripts/ensureMeteorDockerfile +55 -0
  69. package/dist/runner-images/docker-build/scripts/ensureNginxDockerfile +85 -0
  70. package/dist/runner-images/docker-build/scripts/ensureNodeDockerfile +50 -0
  71. package/dist/runner-images/gcloud/Dockerfile +3 -0
  72. package/dist/runner-images/jobs-default/Dockerfile +22 -0
  73. package/dist/runner-images/jobs-meteor/Dockerfile +7 -0
  74. package/dist/runner-images/jobs-testing-chrome/Dockerfile +15 -0
  75. package/dist/runner-images/kubernetes/Dockerfile +26 -0
  76. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.lock +9 -0
  77. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/Chart.yaml +14 -0
  78. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/README.md +24 -0
  79. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mailhog-5.0.1.tgz +0 -0
  80. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/charts/mongodb-12.1.27.tgz +0 -0
  81. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/myvalues.yaml +15 -0
  82. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/_helpers.tpl +202 -0
  83. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cloudsql-proxy-credentials.yml +10 -0
  84. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.cronjobs.yml +69 -0
  85. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.autoscaler.yml +19 -0
  86. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.deployment.yml +103 -0
  87. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.configmap.yml +27 -0
  88. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.env.secrets.yml +10 -0
  89. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.redirects.yaml +91 -0
  90. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.yaml +48 -0
  91. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.jobs.yml +70 -0
  92. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.service.yaml +31 -0
  93. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.volumes.yml +20 -0
  94. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.deployment.yml +104 -0
  95. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.worker.service.yaml +34 -0
  96. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mailhog.ingress.yaml +35 -0
  97. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.deployment.yml +45 -0
  98. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/maintenance.service.yml +24 -0
  99. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/mongodb.backup.cronjob.yml +120 -0
  100. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/values.yaml +154 -0
  101. package/dist/runner-images/kubernetes/scripts/kubernetesCreateSecret +11 -0
  102. package/dist/runner-images/kubernetes/scripts/kubernetesDelete +5 -0
  103. package/dist/runner-images/kubernetes/scripts/kubernetesDeploy +57 -0
  104. package/dist/runner-images/kubernetes/scripts/kubernetesRollback +5 -0
  105. package/dist/runner-images/semantic-release/Dockerfile +24 -0
  106. package/dist/runner-images/semantic-release/scripts/semanticRelease +67 -0
  107. package/dist/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +3 -2
  109. package/src/apps/cli/commands/project/setup/ensureGcloudProjectNumbers.ts +61 -0
  110. package/src/apps/cli/commands/project/setup/index.ts +3 -0
  111. package/src/config/getProjectConfig.ts +9 -0
  112. 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,5 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "Rolling back $RELEASE_NAME"
5
+ helm rollback "$RELEASE_NAME" --namespace "$KUBE_NAMESPACE"
@@ -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;AAEnC,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAY,EACZ,cAAkC,EAClC,EAAE;IACF,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;AAhCW,QAAA,YAAY,gBAgCvB"}
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(`-c 'drop database "${targetDbName}" WITH (FORCE)' 1> /dev/null || true`)}
34
- ${targetPSQL(`-c 'create database "${targetDbName}"' 1> /dev/null`)}
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,CACV,sBAAsB,YAAY,sCAAsC,CACzE;QACC,UAAU,CAAC,wBAAwB,YAAY,iBAAiB,CAAC;;6BAE5C,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"}
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-1cd29c1f" || "latest";
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";
@@ -1,3 +1,4 @@
1
1
  export * from "./createComponentContext";
2
+ export * from "./getEnvConfig";
2
3
  export * from "./getEnvironment";
3
4
  export * from "./getEnvironmentVariables";
@@ -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,yDAAyD;QACzD,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;AAZW,QAAA,mBAAmB,uBAY9B;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAqB,EAAU,EAAE,CAClE,IAAA,WAAI,EAAC,IAAA,2BAAmB,GAAE,EAAE,IAAI,CAAC,CAAC;AADvB,QAAA,kBAAkB,sBACK"}
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
- 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}`, `else`, ` ${(0, common_1.gcloudSchedulerCmd)()} jobs create http "$current_scheduler_name" ${argsString}`, `fi`].filter(utils_1.notNil).join("\n");
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;QAE3D,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC;YAClC,OAAO;YACP,QAAQ;YACR,GAAG,EAAE,oBAAoB;YACzB,GAAG,IAAI;YAEP,QAAQ,EAAE,IAAI,MAAM,CAAC,QAAQ,GAAG;YAChC,oBAAoB,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC;SACnD,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,KAAK,CAAC;gBACZ,CAAC,CAAC,gCAAgC,IAAA,2BAAkB,GAAE,yCAAyC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,oDAAoD,QAAQ,gBAAgB,OAAO,OAAO;gBACrN,CAAC,CAAC,IAAI;YACR,oBAAoB,GAAG,GAAG;YAC1B,2BAA2B,QAAQ,GAAG;YACtC,wFAAwF;YACxF,KAAK,IAAA,2BAAkB,GAAE,+CAA+C,UAAU,EAAE;YACpF,MAAM;YACN,KAAK,IAAA,2BAAkB,GAAE,+CAA+C,UAAU,EAAE;YACpF,IAAI;SACL;aACE,MAAM,CAAC,cAAM,CAAC;aACd,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,uBAAuB,2BAkClC;AAEF,MAAM,gBAAgB,GAAG,CACvB,SAAkD,EAClD,OAAyB,EAOzB,EAAE;;IACF,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,IAAI,GACR,SAAS,CAAC,IAAI,KAAK,SAAS;YAC1B,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,kBAAkB,EAAE;wBAClB,CAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,MAAM,IAAG,CAAC;4BACxB,CAAC,CAAC;gCACE,IAAI,EAAE,SAAS,CAAC,IAAI;6BACrB;4BACH,CAAC,CAAC;gCACE,IAAI,EAAE,EAAE;gCACR,SAAS,EAAE,IAAI,EAAE,0CAA0C;6BAC5D;qBACN;iBACF;aACF;YACH,CAAC,CAAC,IAAI,CAAC;QACX,OAAO;YACL,GAAG,EAAE,IAAA,+CAAwB,EAAC,SAAS,CAAC,GAAG,EAAE;gBAC3C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;gBACzC,SAAS;gBACT,MAAM;aACP,CAAC;YACF,cAAc,EAAE,IAAI;gBAClB,CAAC,CAAC,GAAG,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG;gBAC9C,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,MAAM;YACrB,6BAA6B,EAAE,IAAI,IAAA,sCAA6B,EAAC,OAAO,CAAC,GAAG;SAC7E,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,cAAc,EAAE,SAAS,CAAC,IAAI;YAC9B,aAAa,EAAE,SAAS,CAAC,MAAM;YAC/B,4BAA4B,EAAE,IAAI,IAAA,sCAA6B,EAAC,OAAO,CAAC,GAAG;SAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA4B,SAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,OAAyB,EAKvB,EAAE;IACJ,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,GAAG,CAChE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI;QACJ,QAAQ,EAAE,IAAA,8BAAoB,EAAC,OAAO,EAAE,IAAI,CAAC;QAC7C,MAAM;KACP,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,OAAyB,EACgC,EAAE;IAC3D,MAAM,aAAa,GAAG,IAAA,uCAAwB,EAAC,OAAO,CAAC,CAAC;IAExD,OAAO,MAAM,CAAC,WAAW,CACvB,aAAa;SACV,MAAM,CACL,CACE,KAAK,EAKL,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CACnC;SACA,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO;YACL,aAAa;YACb;gBACE,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,OAAO;gBACZ,gBAAgB;gBAChB,QAAQ;gBACR,IAAI,EAAE,UAAU;aACjB;SACF,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,OAAyB,EACgC,EAAE;;IAC3D,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CACH,CAAC;AACJ,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
- return exports.catladderStoreSchema.parse((_a = (0, yaml_1.parse)((0, fs_1.readFileSync)(path, {
44
- encoding: "utf-8"
45
- }))) !== null && _a !== void 0 ? _a : {});
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;;;GAGG;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,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;AACJ,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;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"}
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,5 @@
1
+ FROM node:24-alpine3.21
2
+
3
+ RUN apk update && apk add --no-cache git curl bash
4
+
5
+ RUN npm install -g @anthropic-ai/claude-code@2.1.139 @zereight/mcp-gitlab@2.1.10
@@ -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
+