@catladder/cli 0.0.0-next-4e7c6848 → 0.0.0-next-6a4450e0

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 (171) hide show
  1. package/dist/bundles/catenv/index.js +1392 -116
  2. package/dist/bundles/cli/index.js +1631 -112
  3. package/dist/cli/src/adapters/baseContext.d.ts +4 -0
  4. package/dist/cli/src/adapters/baseContext.js +5 -0
  5. package/dist/cli/src/adapters/baseContext.js.map +1 -1
  6. package/dist/cli/src/adapters/nonInteractive.d.ts +9 -0
  7. package/dist/cli/src/adapters/nonInteractive.js +32 -0
  8. package/dist/cli/src/adapters/nonInteractive.js.map +1 -0
  9. package/dist/cli/src/adapters/programmatic.d.ts +1 -0
  10. package/dist/cli/src/adapters/programmatic.js +6 -1
  11. package/dist/cli/src/adapters/programmatic.js.map +1 -1
  12. package/dist/cli/src/adapters/terminal.d.ts +1 -0
  13. package/dist/cli/src/adapters/terminal.js +10 -1
  14. package/dist/cli/src/adapters/terminal.js.map +1 -1
  15. package/dist/cli/src/adapters/vaultManagerAccess.d.ts +8 -0
  16. package/dist/cli/src/adapters/vaultManagerAccess.js +26 -0
  17. package/dist/cli/src/adapters/vaultManagerAccess.js.map +1 -0
  18. package/dist/cli/src/apps/catenv/catenv.d.ts +2 -0
  19. package/dist/cli/src/apps/catenv/catenv.js +8 -1
  20. package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
  21. package/dist/cli/src/apps/catenv/printVariables.d.ts +2 -2
  22. package/dist/cli/src/apps/catenv/printVariables.js +4 -4
  23. package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
  24. package/dist/cli/src/apps/catenv/types.d.ts +9 -0
  25. package/dist/cli/src/apps/catenv/writeDotEnvFiles.d.ts +2 -2
  26. package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +1 -1
  27. package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
  28. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +70 -3
  29. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  30. package/dist/cli/src/catenv.js +3 -2
  31. package/dist/cli/src/catenv.js.map +1 -1
  32. package/dist/cli/src/commands/index.d.ts +1 -0
  33. package/dist/cli/src/commands/index.js +8 -1
  34. package/dist/cli/src/commands/index.js.map +1 -1
  35. package/dist/cli/src/commands/project/commandSecretsSyncGithub.d.ts +46 -0
  36. package/dist/cli/src/commands/project/commandSecretsSyncGithub.js +150 -0
  37. package/dist/cli/src/commands/project/commandSecretsSyncGithub.js.map +1 -0
  38. package/dist/cli/src/config/getProjectConfig.d.ts +1 -1
  39. package/dist/cli/src/config/getProjectConfig.js +12 -2
  40. package/dist/cli/src/config/getProjectConfig.js.map +1 -1
  41. package/dist/cli/src/core/types.d.ts +15 -0
  42. package/dist/cli/src/core/types.js +8 -1
  43. package/dist/cli/src/core/types.js.map +1 -1
  44. package/dist/cli/src/git/gitProjectInformation.d.ts +1 -1
  45. package/dist/cli/src/git/gitProjectInformation.js +3 -3
  46. package/dist/cli/src/git/gitProjectInformation.js.map +1 -1
  47. package/dist/cli/src/utils/github.d.ts +20 -0
  48. package/dist/cli/src/utils/github.js +61 -0
  49. package/dist/cli/src/utils/github.js.map +1 -0
  50. package/dist/cli/src/vault/BitwardenVault.d.ts +24 -0
  51. package/dist/cli/src/vault/BitwardenVault.js +107 -0
  52. package/dist/cli/src/vault/BitwardenVault.js.map +1 -0
  53. package/dist/cli/src/vault/GitlabVault.d.ts +11 -0
  54. package/dist/cli/src/vault/GitlabVault.js +24 -0
  55. package/dist/cli/src/vault/GitlabVault.js.map +1 -0
  56. package/dist/cli/src/vault/VaultManager.d.ts +43 -0
  57. package/dist/cli/src/vault/VaultManager.js +131 -0
  58. package/dist/cli/src/vault/VaultManager.js.map +1 -0
  59. package/dist/cli/src/vault/bw.d.ts +15 -0
  60. package/dist/cli/src/vault/bw.js +89 -0
  61. package/dist/cli/src/vault/bw.js.map +1 -0
  62. package/dist/cli/src/vault/cache.d.ts +38 -0
  63. package/dist/cli/src/vault/cache.js +53 -0
  64. package/dist/cli/src/vault/cache.js.map +1 -0
  65. package/dist/cli/src/vault/index.d.ts +5 -0
  66. package/dist/cli/src/vault/index.js +48 -0
  67. package/dist/cli/src/vault/index.js.map +1 -0
  68. package/dist/cli/src/vault/types.d.ts +33 -0
  69. package/dist/cli/src/vault/types.js +5 -0
  70. package/dist/cli/src/vault/types.js.map +1 -0
  71. package/dist/pipeline/src/backends/github/GithubBackend.d.ts +4 -1
  72. package/dist/pipeline/src/backends/github/GithubBackend.js +70 -12
  73. package/dist/pipeline/src/backends/github/GithubBackend.js.map +1 -1
  74. package/dist/pipeline/src/backends/github/ciVariables.js +3 -1
  75. package/dist/pipeline/src/backends/github/ciVariables.js.map +1 -1
  76. package/dist/pipeline/src/backends/github/createGithubJobs.d.ts +13 -3
  77. package/dist/pipeline/src/backends/github/createGithubJobs.js +80 -14
  78. package/dist/pipeline/src/backends/github/createGithubJobs.js.map +1 -1
  79. package/dist/pipeline/src/backends/github/githubReleaseJobs.d.ts +2 -1
  80. package/dist/pipeline/src/backends/github/githubReleaseJobs.js +46 -33
  81. package/dist/pipeline/src/backends/github/githubReleaseJobs.js.map +1 -1
  82. package/dist/pipeline/src/backends/github/index.d.ts +2 -1
  83. package/dist/pipeline/src/backends/github/index.js +2 -1
  84. package/dist/pipeline/src/backends/github/index.js.map +1 -1
  85. package/dist/pipeline/src/backends/github/scriptFiles.d.ts +25 -0
  86. package/dist/pipeline/src/backends/github/scriptFiles.js +50 -0
  87. package/dist/pipeline/src/backends/github/scriptFiles.js.map +1 -0
  88. package/dist/pipeline/src/backends/gitlab/GitlabBackend.d.ts +1 -0
  89. package/dist/pipeline/src/backends/gitlab/GitlabBackend.js +18 -8
  90. package/dist/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  91. package/dist/pipeline/src/backends/gitlab/ciVariables.js +2 -1
  92. package/dist/pipeline/src/backends/gitlab/ciVariables.js.map +1 -1
  93. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.d.ts +3 -2
  94. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js +84 -10
  95. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js.map +1 -1
  96. package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js +1 -1
  97. package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js.map +1 -1
  98. package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js +2 -2
  99. package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js.map +1 -1
  100. package/dist/pipeline/src/backends/index.d.ts +17 -1
  101. package/dist/pipeline/src/backends/index.js +33 -1
  102. package/dist/pipeline/src/backends/index.js.map +1 -1
  103. package/dist/pipeline/src/backends/types.d.ts +2 -1
  104. package/dist/pipeline/src/bash/ciVariables.d.ts +1 -1
  105. package/dist/pipeline/src/bash/ciVariables.js.map +1 -1
  106. package/dist/pipeline/src/build/node/yarn.js +4 -1
  107. package/dist/pipeline/src/build/node/yarn.js.map +1 -1
  108. package/dist/pipeline/src/build/types.d.ts +1 -1
  109. package/dist/pipeline/src/constants.js +1 -1
  110. package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +8 -0
  111. package/dist/pipeline/src/context/getEnvironmentVariables.js +3 -3
  112. package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
  113. package/dist/pipeline/src/context/transformJobOnlyVars.js +2 -2
  114. package/dist/pipeline/src/context/transformJobOnlyVars.js.map +1 -1
  115. package/dist/pipeline/src/context/utils/envVars.d.ts +7 -0
  116. package/dist/pipeline/src/context/utils/envVars.js +22 -1
  117. package/dist/pipeline/src/context/utils/envVars.js.map +1 -1
  118. package/dist/pipeline/src/customImages/hash.d.ts +15 -0
  119. package/dist/pipeline/src/customImages/hash.js +71 -0
  120. package/dist/pipeline/src/customImages/hash.js.map +1 -0
  121. package/dist/pipeline/src/customImages/jobImagesPlan.d.ts +59 -0
  122. package/dist/pipeline/src/customImages/jobImagesPlan.js +172 -0
  123. package/dist/pipeline/src/customImages/jobImagesPlan.js.map +1 -0
  124. package/dist/pipeline/src/customImages/shippedImages.d.ts +28 -0
  125. package/dist/pipeline/src/customImages/shippedImages.js +60 -0
  126. package/dist/pipeline/src/customImages/shippedImages.js.map +1 -0
  127. package/dist/pipeline/src/deploy/cloudRun/index.js +15 -5
  128. package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  129. package/dist/pipeline/src/deploy/cloudRun/utils/database.js +4 -1
  130. package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
  131. package/dist/pipeline/src/pipeline/generatePipelineFiles.js +16 -1
  132. package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  133. package/dist/pipeline/src/runner/index.d.ts +20 -1
  134. package/dist/pipeline/src/runner/index.js +16 -3
  135. package/dist/pipeline/src/runner/index.js.map +1 -1
  136. package/dist/pipeline/src/types/config.d.ts +63 -5
  137. package/dist/pipeline/src/types/github-types.d.ts +5 -0
  138. package/dist/pipeline/src/types/jobs.d.ts +10 -2
  139. package/dist/pipeline/src/types/jobs.js.map +1 -1
  140. package/dist/pipeline/src/utils/gitlab.d.ts +5 -0
  141. package/dist/pipeline/src/utils/gitlab.js +6 -0
  142. package/dist/pipeline/src/utils/gitlab.js.map +1 -1
  143. package/dist/pipeline/src/utils/writeFiles.d.ts +6 -0
  144. package/dist/pipeline/src/utils/writeFiles.js +8 -0
  145. package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +1 -1
  148. package/src/adapters/baseContext.ts +10 -0
  149. package/src/adapters/nonInteractive.ts +30 -0
  150. package/src/adapters/programmatic.ts +7 -1
  151. package/src/adapters/terminal.ts +9 -1
  152. package/src/adapters/vaultManagerAccess.ts +25 -0
  153. package/src/apps/catenv/catenv.ts +5 -1
  154. package/src/apps/catenv/printVariables.ts +16 -6
  155. package/src/apps/catenv/types.ts +9 -0
  156. package/src/apps/catenv/writeDotEnvFiles.ts +3 -3
  157. package/src/apps/cli/commands/project/commandConfigSecrets.ts +114 -9
  158. package/src/catenv.ts +22 -2
  159. package/src/commands/index.ts +1 -0
  160. package/src/commands/project/commandSecretsSyncGithub.ts +172 -0
  161. package/src/config/getProjectConfig.ts +21 -7
  162. package/src/core/types.ts +23 -0
  163. package/src/git/gitProjectInformation.ts +5 -3
  164. package/src/utils/github.ts +76 -0
  165. package/src/vault/BitwardenVault.ts +161 -0
  166. package/src/vault/GitlabVault.ts +25 -0
  167. package/src/vault/VaultManager.ts +211 -0
  168. package/src/vault/bw.ts +110 -0
  169. package/src/vault/cache.ts +80 -0
  170. package/src/vault/index.ts +5 -0
  171. package/src/vault/types.ts +42 -0
@@ -1 +1 @@
1
- {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../../pipeline/src/build/node/yarn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../../pipeline/src/build/node/yarn.ts"],"names":[],"mappings":"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"}
@@ -309,7 +309,7 @@ export type BuildConfigGeneric<T extends BuildConfigStandaloneType> = Extract<Bu
309
309
  type: T;
310
310
  }>;
311
311
  export declare const isStandaloneBuildConfig: (t: BuildConfig | false) => t is BuildConfigStandalone;
312
- export declare const isOfBuildType: <T extends ("node" | "custom" | "rails" | "node-static" | "meteor" | "storybook")[]>(t: BuildConfig, ...types: T) => t is Extract<BuildConfigNode, {
312
+ export declare const isOfBuildType: <T extends ("node" | "custom" | "rails" | "node-static" | "storybook" | "meteor")[]>(t: BuildConfig, ...types: T) => t is Extract<BuildConfigNode, {
313
313
  type: T[number];
314
314
  }> | Extract<BuildConfigNodeStatic, {
315
315
  type: T[number];
@@ -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-4e7c6848" || "latest";
7
+ exports.PIPELINE_IMAGE_TAG = "next-6a4450e0" || "latest";
8
8
  exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "git.panter.ch:5001/catladder/catladder";
@@ -5,6 +5,14 @@ import type { EnvironmentContext } from "../types/environmentContext";
5
5
  export type SecretEnvVar = {
6
6
  key: string;
7
7
  hidden?: boolean;
8
+ /**
9
+ * whether the value is sensitive. Both kinds live in the vault and are
10
+ * provided to jobs the same way; platforms that distinguish masked
11
+ * secrets from plain variables (github) treat them differently:
12
+ * "variable" values are unmasked (visible in logs, usable in
13
+ * environment urls) and don't count against secret limits.
14
+ */
15
+ kind?: "secret" | "variable";
8
16
  };
9
17
  declare const getBasePredefinedVariables: (ctx: EnvironmentContext) => {
10
18
  ENV_SHORT: string;
@@ -22,7 +22,7 @@ const getBasePredefinedVariables = ctx => {
22
22
  };
23
23
  };
24
24
  const getEnvironmentVariables = async (ctx, options = {}) => {
25
- var _a, _b, _c, _d, _e, _f, _g, _h;
25
+ var _a, _b, _c, _d, _e, _f, _g;
26
26
  const environmentContext = (0, getEnvironmentContext_1.getEnvironmentContext)(ctx);
27
27
  const {
28
28
  config,
@@ -79,13 +79,13 @@ const getEnvironmentVariables = async (ctx, options = {}) => {
79
79
  }
80
80
  const publicEnvVarsRaw = (_e = (_d = envConfigRaw.vars) === null || _d === void 0 ? void 0 : _d.public) !== null && _e !== void 0 ? _e : {};
81
81
  const additionalSecretKeys = deployConfigRaw ? deploy_1.DEPLOY_TYPES[deployConfigRaw.type].additionalSecretKeys(environmentContext) : [];
82
- const secretEnvVarKeys = [...(0, envVars_1.stringListToSecreteEnvVarList)((_g = (_f = envConfigRaw.vars) === null || _f === void 0 ? void 0 : _f.secret) !== null && _g !== void 0 ? _g : []), ...additionalSecretKeys];
82
+ const secretEnvVarKeys = [...(0, envVars_1.normalizeSecretVarsConfig)((_f = envConfigRaw.vars) === null || _f === void 0 ? void 0 : _f.secret), ...additionalSecretKeys];
83
83
  const secretEnvVars = (0, envVars_1.makeSecretEnvVarMapping)(env, componentName, secretEnvVarKeys);
84
84
  const publicEnvVarsRawSanitized = (0, envVars_1.stringifyValues)(publicEnvVarsRaw);
85
85
  const publicEnvVarsUnresolved = Object.fromEntries(Object.entries(publicEnvVarsRawSanitized).map(([key, value]) => [key, (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)(value, {
86
86
  componentName: ctx.componentName
87
87
  })]));
88
- const publicEnvVars = ((_h = options.shouldResolveReferences) !== null && _h !== void 0 ? _h : true) ? await (0, resolveAllReferences_1.resolveAllReferences)(publicEnvVarsUnresolved, async otherComponentName => {
88
+ const publicEnvVars = ((_g = options.shouldResolveReferences) !== null && _g !== void 0 ? _g : true) ? await (0, resolveAllReferences_1.resolveAllReferences)(publicEnvVarsUnresolved, async otherComponentName => {
89
89
  const {
90
90
  envVars: otherEnvVars
91
91
  } = await (0, exports.getEnvironmentVariables)({
@@ -1 +1 @@
1
- {"version":3,"file":"getEnvironmentVariables.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvironmentVariables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getEnvironmentVariables.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/getEnvironmentVariables.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ const envVars_1 = require("./utils/envVars");
13
13
  * @returns
14
14
  */
15
15
  const transformJobOnlyVars = async (env, componentName, vars) => {
16
- var _a, _b;
16
+ var _a;
17
17
  if (!vars) {
18
18
  return {
19
19
  envVars: {},
@@ -21,7 +21,7 @@ const transformJobOnlyVars = async (env, componentName, vars) => {
21
21
  };
22
22
  }
23
23
  const publicVars = (0, envVars_1.stringifyValues)((_a = vars === null || vars === void 0 ? void 0 : vars.public) !== null && _a !== void 0 ? _a : {});
24
- const secretEnvVarKeys = (0, envVars_1.stringListToSecreteEnvVarList)((_b = vars === null || vars === void 0 ? void 0 : vars.secret) !== null && _b !== void 0 ? _b : []);
24
+ const secretEnvVarKeys = (0, envVars_1.normalizeSecretVarsConfig)(vars === null || vars === void 0 ? void 0 : vars.secret);
25
25
  const deployJobOnlySecretEnvVars = (vars === null || vars === void 0 ? void 0 : vars.secret) ? (0, envVars_1.makeSecretEnvVarMapping)(env, componentName, secretEnvVarKeys) : {};
26
26
  const envVars = {
27
27
  ...deployJobOnlySecretEnvVars,
@@ -1 +1 @@
1
- {"version":3,"file":"transformJobOnlyVars.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/transformJobOnlyVars.ts"],"names":[],"mappings":";;;AAEA,6CAIyB;AAEzB;;;;;;GAMG;AACI,MAAM,oBAAoB,GAAG,KAAK,EACvC,GAAW,EACX,aAAqB,EACrB,IAAoB,EAInB,EAAE;;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,EAAE;YACX,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,yBAAe,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAA,uCAA6B,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,0BAA0B,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM;QAC7C,CAAC,CAAC,IAAA,iCAAuB,EAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG;QACd,GAAG,0BAA0B;QAC7B,GAAG,UAAU;KACd,CAAC;IACF,OAAO;QACL,OAAO;QACP,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,oBAAoB,wBA6B/B"}
1
+ {"version":3,"file":"transformJobOnlyVars.js","sourceRoot":"","sources":["../../../../../pipeline/src/context/transformJobOnlyVars.ts"],"names":[],"mappings":";;;AAEA,6CAIyB;AAEzB;;;;;;GAMG;AACI,MAAM,oBAAoB,GAAG,KAAK,EACvC,GAAW,EACX,aAAqB,EACrB,IAAoB,EAInB,EAAE;;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,EAAE;YACX,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,yBAAe,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,EAAE,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAA,mCAAyB,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC;IACjE,MAAM,0BAA0B,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM;QAC7C,CAAC,CAAC,IAAA,iCAAuB,EAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG;QACd,GAAG,0BAA0B;QAC7B,GAAG,UAAU;KACd,CAAC;IACF,OAAO;QACL,OAAO;QACP,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,oBAAoB,wBA6B/B"}
@@ -1,8 +1,15 @@
1
1
  import type { SecretEnvVar } from "../getEnvironmentVariables";
2
+ import type { EnvVars } from "../../types/config";
2
3
  export declare const stringifyValues: (obj: Record<string, unknown>) => {
3
4
  [k: string]: string;
4
5
  };
5
6
  export declare const stringListToSecreteEnvVarList: (keys: string[]) => SecretEnvVar[];
7
+ /**
8
+ * normalizes both config forms of vault-stored env vars: the deprecated
9
+ * plain string[] (all keys secret) and the record form carrying a kind
10
+ * (or config object) per key
11
+ */
12
+ export declare const normalizeSecretVarsConfig: (secret: EnvVars["secret"]) => SecretEnvVar[];
6
13
  export declare const makeSecretEnvVarMapping: (env: string, componentName: string, secretEnvVars: SecretEnvVar[]) => {
7
14
  [k: string]: import("../../bash/BashExpression").BashExpression;
8
15
  };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.makeSecretEnvVarMapping = exports.stringListToSecreteEnvVarList = exports.stringifyValues = void 0;
6
+ exports.makeSecretEnvVarMapping = exports.normalizeSecretVarsConfig = exports.stringListToSecreteEnvVarList = exports.stringifyValues = void 0;
7
7
  const lodash_es_1 = require("lodash-es");
8
8
  const getEnvironmentVariables_1 = require("../getEnvironmentVariables");
9
9
  const BashExpression_1 = require("../../bash/BashExpression");
@@ -13,6 +13,27 @@ const stringListToSecreteEnvVarList = keys => keys.map(key => ({
13
13
  key
14
14
  }));
15
15
  exports.stringListToSecreteEnvVarList = stringListToSecreteEnvVarList;
16
+ /**
17
+ * normalizes both config forms of vault-stored env vars: the deprecated
18
+ * plain string[] (all keys secret) and the record form carrying a kind
19
+ * (or config object) per key
20
+ */
21
+ const normalizeSecretVarsConfig = secret => {
22
+ if (!secret) {
23
+ return [];
24
+ }
25
+ if (Array.isArray(secret)) {
26
+ return (0, exports.stringListToSecreteEnvVarList)(secret);
27
+ }
28
+ return Object.entries(secret).map(([key, config]) => typeof config === "string" ? {
29
+ key,
30
+ kind: config
31
+ } : {
32
+ key,
33
+ ...config
34
+ });
35
+ };
36
+ exports.normalizeSecretVarsConfig = normalizeSecretVarsConfig;
16
37
  const makeSecretEnvVarMapping = (env, componentName, secretEnvVars) => {
17
38
  return Object.fromEntries(secretEnvVars.map(({
18
39
  key
@@ -1 +1 @@
1
- {"version":3,"file":"envVars.js","sourceRoot":"","sources":["../../../../../../pipeline/src/context/utils/envVars.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,wEAA8D;AAC9D,8DAA4D;AAErD,MAAM,eAAe,GAAG,CAAC,GAA4B,EAAE,EAAE,CAC9D,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACxC,GAAG;IACH,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;CACrD,CAAC,CACH,CAAC;AANS,QAAA,eAAe,mBAMxB;AAEG,MAAM,6BAA6B,GAAG,CAAC,IAAc,EAAkB,EAAE,CAC9E,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AADlB,QAAA,6BAA6B,iCACX;AACxB,MAAM,uBAAuB,GAAG,CACrC,GAAW,EACX,aAAqB,EACrB,aAA6B,EAC7B,EAAE;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAC7B,GAAG;QACH,IAAA,gCAAe,EAAC,IAAA,0CAAgB,EAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;KAC3D,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC"}
1
+ {"version":3,"file":"envVars.js","sourceRoot":"","sources":["../../../../../../pipeline/src/context/utils/envVars.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,wEAA8D;AAC9D,8DAA4D;AAGrD,MAAM,eAAe,GAAG,CAAC,GAA4B,EAAE,EAAE,CAC9D,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACxC,GAAG;IACH,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;CACrD,CAAC,CACH,CAAC;AANS,QAAA,eAAe,mBAMxB;AAEG,MAAM,6BAA6B,GAAG,CAAC,IAAc,EAAkB,EAAE,CAC9E,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AADlB,QAAA,6BAA6B,iCACX;AAE/B;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CACvC,MAAyB,EACT,EAAE;IAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAA,qCAA6B,EAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAClD,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CACxE,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AACK,MAAM,uBAAuB,GAAG,CACrC,GAAW,EACX,aAAqB,EACrB,aAA6B,EAC7B,EAAE;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAC7B,GAAG;QACH,IAAA,gCAAe,EAAC,IAAA,0CAAgB,EAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;KAC3D,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * input for content-hashing an image definition. `extraDirs` covers
3
+ * image definitions that include other image dirs (dockerfile INCLUDE).
4
+ */
5
+ export type ImageHashConfig = {
6
+ dir: string;
7
+ extraDirs?: string[];
8
+ hashExtraPaths?: string[];
9
+ buildArgs?: Record<string, string>;
10
+ };
11
+ export type CustomImageHashResult = {
12
+ hash: string;
13
+ watchedPaths: string[];
14
+ };
15
+ export declare function computeCustomImageHash(config: ImageHashConfig): CustomImageHashResult;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.computeCustomImageHash = void 0;
7
+ const crypto_1 = require("crypto");
8
+ const fs_1 = require("fs");
9
+ const path_1 = require("path");
10
+ const IGNORED_FILES = new Set([".DS_Store", "Thumbs.db"]);
11
+ const isIgnoredFile = path => {
12
+ var _a;
13
+ return IGNORED_FILES.has((_a = path.split("/").pop()) !== null && _a !== void 0 ? _a : "");
14
+ };
15
+ function listFilesRecursive(dir) {
16
+ const resolved = (0, path_1.resolve)(dir);
17
+ const entries = (0, fs_1.readdirSync)(resolved, {
18
+ recursive: true,
19
+ encoding: "utf-8"
20
+ });
21
+ return entries.filter(entry => {
22
+ if (isIgnoredFile(entry)) {
23
+ // OS junk files exist locally but not in CI checkouts — they
24
+ // must never influence the content hash
25
+ return false;
26
+ }
27
+ const fullPath = (0, path_1.join)(resolved, entry);
28
+ return (0, fs_1.statSync)(fullPath).isFile();
29
+ }).sort();
30
+ }
31
+ function computeCustomImageHash(config) {
32
+ var _a;
33
+ const hash = (0, crypto_1.createHash)("sha256");
34
+ const watchedPaths = [];
35
+ // Hash all files in the dir (includes the Dockerfile and any context files)
36
+ const dirFiles = listFilesRecursive(config.dir);
37
+ for (const file of dirFiles) {
38
+ const fullPath = (0, path_1.join)((0, path_1.resolve)(config.dir), file);
39
+ hash.update(file); // include relative path for disambiguation
40
+ hash.update((0, fs_1.readFileSync)(fullPath));
41
+ }
42
+ watchedPaths.push(`${config.dir}/**/*`);
43
+ // extra dirs (e.g. included base image definitions)
44
+ for (const extraDir of (_a = config.extraDirs) !== null && _a !== void 0 ? _a : []) {
45
+ for (const file of listFilesRecursive(extraDir)) {
46
+ hash.update(file);
47
+ hash.update((0, fs_1.readFileSync)((0, path_1.join)((0, path_1.resolve)(extraDir), file)));
48
+ }
49
+ watchedPaths.push(`${extraDir}/**/*`);
50
+ }
51
+ // Hash extra paths (for files outside the dir)
52
+ if (config.hashExtraPaths) {
53
+ // Extra paths are literal file paths (not globs) for simplicity
54
+ const extraFiles = [...config.hashExtraPaths].sort();
55
+ for (const file of extraFiles) {
56
+ hash.update(file);
57
+ hash.update((0, fs_1.readFileSync)(file));
58
+ }
59
+ watchedPaths.push(...config.hashExtraPaths);
60
+ }
61
+ // Hash build args (sorted keys for determinism)
62
+ if (config.buildArgs) {
63
+ const sorted = Object.entries(config.buildArgs).sort(([a], [b]) => a.localeCompare(b));
64
+ hash.update(JSON.stringify(sorted));
65
+ }
66
+ return {
67
+ hash: hash.digest("hex").slice(0, 12),
68
+ watchedPaths
69
+ };
70
+ }
71
+ exports.computeCustomImageHash = computeCustomImageHash;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../pipeline/src/customImages/hash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { CatladderImageRef } from "../runner";
2
+ import type { Config, GitlabJobImage, PipelineType } from "../types";
3
+ import type { CatladderJob, CatladderJobNeed } from "../types/jobs";
4
+ export declare const GENERATED_IMAGES_FOLDER = ".catladder-generated/images";
5
+ export type JobImagesMode = "central" | "repo";
6
+ export declare const getJobImagesMode: (config: Config, pipelineType: PipelineType) => JobImagesMode;
7
+ export type ResolvedJobImage = {
8
+ /** the concrete image url */
9
+ image: string;
10
+ /** the dependency on the image build job (repo mode only) */
11
+ need?: CatladderJobNeed;
12
+ /** whether the image lives in the repository's own registry */
13
+ fromRepoRegistry?: boolean;
14
+ };
15
+ export type GeneratedImageFile = {
16
+ path: string;
17
+ content: string;
18
+ };
19
+ /**
20
+ * plans the catladder job images of one backend run: resolves image
21
+ * references, and (in repo mode) collects the image build jobs and the
22
+ * image definitions to materialize into the generated files.
23
+ *
24
+ * Reference-driven: only images actually used by a job are built.
25
+ */
26
+ export declare class JobImagesPlan {
27
+ readonly mode: JobImagesMode;
28
+ private readonly pipelineType;
29
+ private used;
30
+ constructor(mode: JobImagesMode, pipelineType: PipelineType);
31
+ /**
32
+ * resolves a job image (marker or concrete) to a concrete image url
33
+ * plus the build job dependency in repo mode
34
+ */
35
+ resolve(image: CatladderJob["image"]): {
36
+ image: GitlabJobImage | undefined;
37
+ need?: CatladderJobNeed;
38
+ fromRepoRegistry?: boolean;
39
+ };
40
+ resolveRef(ref: CatladderImageRef): ResolvedJobImage;
41
+ /**
42
+ * the registry image prefix. On github, container images can't use
43
+ * runtime env vars — the expression form is required.
44
+ */
45
+ private registryImageRef;
46
+ private use;
47
+ /**
48
+ * the image build jobs for all used images (repo mode; empty in
49
+ * central mode)
50
+ */
51
+ getEnsureJobs(): CatladderJob[];
52
+ private createEnsureJob;
53
+ /**
54
+ * the image definitions of all used images, materialized into the
55
+ * generated files (so pipelines build from committed, reviewable
56
+ * files and gitlab's rules:changes can watch them)
57
+ */
58
+ getGeneratedFiles(): GeneratedImageFile[];
59
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.JobImagesPlan = exports.getJobImagesMode = exports.GENERATED_IMAGES_FOLDER = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const ciVariables_1 = require("../bash/ciVariables");
10
+ const docker_1 = require("../build/docker");
11
+ const constants_1 = require("../constants");
12
+ const runner_1 = require("../runner");
13
+ const gitlab_1 = require("../utils/gitlab");
14
+ const hash_1 = require("./hash");
15
+ const shippedImages_1 = require("./shippedImages");
16
+ exports.GENERATED_IMAGES_FOLDER = ".catladder-generated/images";
17
+ /**
18
+ * the official docker cli image used to build the job images — NOT a
19
+ * catladder image, so building images never depends on one (bootstrap)
20
+ */
21
+ const BUILDER_IMAGE = "docker.io/docker:29.5.1";
22
+ const getJobImagesMode = (config, pipelineType) => {
23
+ var _a;
24
+ // the central registry is not reachable from github runners
25
+ if (pipelineType === "github" && config.jobImages === "central") {
26
+ throw new Error(`jobImages: "central" is not supported on github: catladder's central registry (${constants_1.DOCKER_REGISTRY}) is unreachable from github runners. Use "repo" (the default) instead.`);
27
+ }
28
+ return (_a = config.jobImages) !== null && _a !== void 0 ? _a : pipelineType === "github" ? "repo" : "central";
29
+ };
30
+ exports.getJobImagesMode = getJobImagesMode;
31
+ const ensureJobName = name => `🐳 job image ${name}`;
32
+ /**
33
+ * plans the catladder job images of one backend run: resolves image
34
+ * references, and (in repo mode) collects the image build jobs and the
35
+ * image definitions to materialize into the generated files.
36
+ *
37
+ * Reference-driven: only images actually used by a job are built.
38
+ */
39
+ class JobImagesPlan {
40
+ constructor(mode, pipelineType) {
41
+ this.mode = mode;
42
+ this.pipelineType = pipelineType;
43
+ this.used = new Map();
44
+ }
45
+ /**
46
+ * resolves a job image (marker or concrete) to a concrete image url
47
+ * plus the build job dependency in repo mode
48
+ */
49
+ resolve(image) {
50
+ if (!(0, runner_1.isCatladderImageRef)(image)) {
51
+ return {
52
+ image
53
+ };
54
+ }
55
+ return this.resolveRef(image);
56
+ }
57
+ resolveRef(ref) {
58
+ const name = ref.catladderImage;
59
+ if (this.mode === "central" || shippedImages_1.CENTRAL_ONLY_IMAGES.has(name)) {
60
+ return {
61
+ image: (0, runner_1.getCentralRunnerImageUrl)(name)
62
+ };
63
+ }
64
+ const {
65
+ hash
66
+ } = this.use(name);
67
+ return {
68
+ image: `${this.registryImageRef()}/catladder/${name}:${hash}`,
69
+ fromRepoRegistry: true,
70
+ need: {
71
+ job: ensureJobName(name),
72
+ artifacts: false,
73
+ optional: true,
74
+ global: true
75
+ }
76
+ };
77
+ }
78
+ /**
79
+ * the registry image prefix. On github, container images can't use
80
+ * runtime env vars — the expression form is required.
81
+ */
82
+ registryImageRef() {
83
+ return this.pipelineType === "github" ? "ghcr.io/${{ github.repository }}" : `${(0, ciVariables_1.getCiVariable)({
84
+ pipelineType: this.pipelineType
85
+ }, "registryImage")}`;
86
+ }
87
+ use(name) {
88
+ var _a;
89
+ const existing = this.used.get(name);
90
+ if (existing) {
91
+ return existing;
92
+ }
93
+ const dependencies = (_a = shippedImages_1.RUNNER_IMAGE_DEPENDENCIES[name]) !== null && _a !== void 0 ? _a : [];
94
+ // dependencies are materialized (and hashed) as part of this image,
95
+ // but also usable standalone
96
+ dependencies.forEach(dependency => this.use(dependency));
97
+ const {
98
+ hash
99
+ } = (0, hash_1.computeCustomImageHash)({
100
+ dir: (0, shippedImages_1.getShippedImageDir)(name),
101
+ extraDirs: dependencies.map(dependency => (0, shippedImages_1.getShippedImageDir)(dependency))
102
+ });
103
+ const entry = {
104
+ hash
105
+ };
106
+ this.used.set(name, entry);
107
+ return entry;
108
+ }
109
+ /**
110
+ * the image build jobs for all used images (repo mode; empty in
111
+ * central mode)
112
+ */
113
+ getEnsureJobs() {
114
+ return [...this.used.entries()].map(([name, {
115
+ hash
116
+ }]) => this.createEnsureJob(name, hash));
117
+ }
118
+ createEnsureJob(name, hash) {
119
+ var _a;
120
+ const ctx = {
121
+ pipelineType: this.pipelineType
122
+ };
123
+ const registryUser = (0, ciVariables_1.getCiVariable)(ctx, "registryUser");
124
+ const jobToken = (0, ciVariables_1.getCiVariable)(ctx, "jobToken");
125
+ const registry = (0, ciVariables_1.getCiVariable)(ctx, "registry");
126
+ const imageRef = `${this.registryImageRef()}/catladder/${name}:${hash}`;
127
+ const watchedDirs = [name, ...((_a = shippedImages_1.RUNNER_IMAGE_DEPENDENCIES[name]) !== null && _a !== void 0 ? _a : [])];
128
+ const {
129
+ services,
130
+ runnerVariables
131
+ } = (0, docker_1.getDockerJobBaseProps)();
132
+ return {
133
+ name: ensureJobName(name),
134
+ stage: "setup",
135
+ image: BUILDER_IMAGE,
136
+ services,
137
+ runnerVariables,
138
+ needs: [],
139
+ // gitlab: only run when the image definition changed; github has
140
+ // no equivalent and always runs (the existence check is fast)
141
+ rules: [{
142
+ changes: watchedDirs.map(dir => `${exports.GENERATED_IMAGES_FOLDER}/${dir}/**/*`)
143
+ }],
144
+ variables: {},
145
+ script: [...(0, gitlab_1.collapseableSection)("docker-login", "Docker Login")([`docker login --username ${registryUser} --password ${jobToken} ${registry}`]), ...(0, gitlab_1.collapseableSection)("check-image", "Checking if image exists")([`if docker manifest inspect ${imageRef} > /dev/null 2>&1; then`, ` echo "Image ${imageRef} already exists, skipping build"`, ` exit 0`, `fi`]), ...(0, gitlab_1.collapseableSection)("docker-build", "Building image")([`DOCKER_BUILDKIT=1 docker build -t ${imageRef} -f ${exports.GENERATED_IMAGES_FOLDER}/${name}/Dockerfile ${shippedImages_1.RUNNER_IMAGE_BUILD_CONTEXT[name] === "root" ? exports.GENERATED_IMAGES_FOLDER : `${exports.GENERATED_IMAGES_FOLDER}/${name}`}`]), ...(0, gitlab_1.collapseableSection)("docker-push", "Pushing image")([`docker push ${imageRef}`])]
146
+ };
147
+ }
148
+ /**
149
+ * the image definitions of all used images, materialized into the
150
+ * generated files (so pipelines build from committed, reviewable
151
+ * files and gitlab's rules:changes can watch them)
152
+ */
153
+ getGeneratedFiles() {
154
+ return [...this.used.keys()].flatMap(name => {
155
+ const dir = (0, shippedImages_1.getShippedImageDir)(name);
156
+ return listFilesRecursive(dir).map(file => ({
157
+ path: (0, path_1.join)(exports.GENERATED_IMAGES_FOLDER, name, file),
158
+ content: (0, fs_1.readFileSync)((0, path_1.join)(dir, file), "utf-8")
159
+ }));
160
+ });
161
+ }
162
+ }
163
+ exports.JobImagesPlan = JobImagesPlan;
164
+ const IGNORED_FILES = new Set([".DS_Store", "Thumbs.db"]);
165
+ const listFilesRecursive = dir => (0, fs_1.readdirSync)(dir, {
166
+ recursive: true,
167
+ encoding: "utf-8"
168
+ }).filter(entry => {
169
+ var _a;
170
+ // OS junk files exist locally but not in CI checkouts
171
+ return !IGNORED_FILES.has((_a = entry.split("/").pop()) !== null && _a !== void 0 ? _a : "") && (0, fs_1.statSync)((0, path_1.join)(dir, entry)).isFile();
172
+ }).sort();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobImagesPlan.js","sourceRoot":"","sources":["../../../../../pipeline/src/customImages/jobImagesPlan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { RunnerImageName } from "../runner";
2
+ /**
3
+ * images whose Dockerfile INCLUDEs another image's Dockerfile
4
+ * (dockerfile-x/dockerfile-plus, resolved against the images root as
5
+ * build context)
6
+ */
7
+ export declare const RUNNER_IMAGE_DEPENDENCIES: Partial<Record<RunnerImageName, RunnerImageName[]>>;
8
+ /**
9
+ * the docker build context of each image, mirroring the central image
10
+ * builds: the jobs family builds from the images root (their
11
+ * Dockerfiles INCLUDE sibling images), the others from their own dir
12
+ * (their COPY paths are relative to it)
13
+ */
14
+ /**
15
+ * images that cannot be built from the shipped definitions and always
16
+ * come from the central registry: semantic-release bakes catladder's
17
+ * own cli sources into the image (repo-root build context).
18
+ * TODO: make the semantic-release image self-contained.
19
+ */
20
+ export declare const CENTRAL_ONLY_IMAGES: ReadonlySet<RunnerImageName>;
21
+ export declare const RUNNER_IMAGE_BUILD_CONTEXT: Record<RunnerImageName, "root" | "self">;
22
+ /**
23
+ * the directory containing the image definitions shipped with the
24
+ * package (copied into dist at build time; the repository layout is
25
+ * the fallback for development and tests)
26
+ */
27
+ export declare const getShippedImagesDir: () => string;
28
+ export declare const getShippedImageDir: (name: RunnerImageName) => string;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getShippedImageDir = exports.getShippedImagesDir = exports.RUNNER_IMAGE_BUILD_CONTEXT = exports.CENTRAL_ONLY_IMAGES = exports.RUNNER_IMAGE_DEPENDENCIES = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ /**
10
+ * images whose Dockerfile INCLUDEs another image's Dockerfile
11
+ * (dockerfile-x/dockerfile-plus, resolved against the images root as
12
+ * build context)
13
+ */
14
+ exports.RUNNER_IMAGE_DEPENDENCIES = {
15
+ "jobs-meteor": ["jobs-default"],
16
+ "jobs-testing-chrome": ["jobs-default"]
17
+ };
18
+ /**
19
+ * the docker build context of each image, mirroring the central image
20
+ * builds: the jobs family builds from the images root (their
21
+ * Dockerfiles INCLUDE sibling images), the others from their own dir
22
+ * (their COPY paths are relative to it)
23
+ */
24
+ /**
25
+ * images that cannot be built from the shipped definitions and always
26
+ * come from the central registry: semantic-release bakes catladder's
27
+ * own cli sources into the image (repo-root build context).
28
+ * TODO: make the semantic-release image self-contained.
29
+ */
30
+ exports.CENTRAL_ONLY_IMAGES = new Set(["semantic-release"]);
31
+ exports.RUNNER_IMAGE_BUILD_CONTEXT = {
32
+ "jobs-default": "root",
33
+ "jobs-meteor": "root",
34
+ "jobs-testing-chrome": "root",
35
+ kubernetes: "self",
36
+ "docker-build": "self",
37
+ gcloud: "self",
38
+ "semantic-release": "self",
39
+ "agent-claude": "self"
40
+ };
41
+ /**
42
+ * the directory containing the image definitions shipped with the
43
+ * package (copied into dist at build time; the repository layout is
44
+ * the fallback for development and tests)
45
+ */
46
+ const getShippedImagesDir = () => {
47
+ const candidates = [
48
+ // built package: dist/customImages -> dist/runner-images
49
+ (0, path_1.join)(__dirname, "..", "runner-images"),
50
+ // repository: pipeline/src/customImages -> <root>/runner-images
51
+ (0, path_1.join)(__dirname, "..", "..", "..", "runner-images")];
52
+ const found = candidates.find(candidate => (0, fs_1.existsSync)(candidate));
53
+ if (!found) {
54
+ throw new Error("shipped job image definitions not found");
55
+ }
56
+ return found;
57
+ };
58
+ exports.getShippedImagesDir = getShippedImagesDir;
59
+ const getShippedImageDir = name => (0, path_1.join)((0, exports.getShippedImagesDir)(), name);
60
+ exports.getShippedImageDir = getShippedImageDir;
@@ -0,0 +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"}