@storm-software/k8s-tools 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## 0.5.0 (2024-09-02)
2
+
3
+ ### Features
4
+
5
+ - **terraform-modules:** Added the `aws/karpenter` and `cloudflare/r2-bucket`
6
+ modules
7
+ ([09deea18](https://github.com/storm-software/storm-ops/commit/09deea18))
8
+
9
+ ## 0.4.0 (2024-09-01)
10
+
11
+ ### Features
12
+
13
+ - **workspace-tools:** Added the `noDeps` flag to the cargo-doc executor options
14
+ ([82eeb944](https://github.com/storm-software/storm-ops/commit/82eeb944))
15
+
1
16
  ## 0.3.0 (2024-08-29)
2
17
 
3
18
  ### Features
package/executors.json CHANGED
@@ -4,6 +4,11 @@
4
4
  "implementation": "./src/executors/helm-package/executor",
5
5
  "schema": "./src/executors/helm-package/schema.json",
6
6
  "description": "Package Helm charts associated with a project"
7
+ },
8
+ "container-publish": {
9
+ "implementation": "./src/executors/container-publish/executor",
10
+ "schema": "./src/executors/container-publish/schema.json",
11
+ "description": "Deploy an OCI Image Format Specification to a container registry"
7
12
  }
8
13
  }
9
14
  }
package/index.js CHANGED
@@ -5,8 +5,8 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
8
+ for (var name2 in all)
9
+ __defProp(target, name2, { get: all[name2], enumerable: true });
10
10
  };
11
11
  var __copyProps = (to, from, except, desc) => {
12
12
  if (from && typeof from === "object" || typeof from === "function") {
@@ -37,12 +37,105 @@ var __decorateClass = (decorators, target, key, kind) => {
37
37
  // packages/k8s-tools/index.ts
38
38
  var k8s_tools_exports = {};
39
39
  __export(k8s_tools_exports, {
40
+ createDependencies: () => createDependencies,
41
+ createNodes: () => createNodes,
42
+ description: () => description,
43
+ getRegistryVersion: () => getRegistryVersion,
40
44
  helmChartGeneratorFn: () => helmChartGeneratorFn,
41
45
  helmDependencyGeneratorFn: () => helmDependencyGeneratorFn,
46
+ name: () => name,
42
47
  serveExecutor: () => serveExecutor
43
48
  });
44
49
  module.exports = __toCommonJS(k8s_tools_exports);
45
50
 
51
+ // packages/k8s-tools/src/executors/container-publish/executor.ts
52
+ var import_devkit2 = require("@nx/devkit");
53
+ var import_apply_workspace_tokens = require("@storm-software/workspace-tools/utils/apply-workspace-tokens");
54
+ var import_node_https = __toESM(require("node:https"));
55
+
56
+ // packages/k8s-tools/src/utils/package-helpers.ts
57
+ var import_devkit = require("@nx/devkit");
58
+ var import_project_tags = require("@storm-software/workspace-tools/utils/project-tags");
59
+ var import_toml = require("@storm-software/workspace-tools/utils/toml");
60
+ var import_node_fs = require("node:fs");
61
+ var getPackageManager = (project) => {
62
+ if ((0, import_project_tags.isEqualProjectTag)(
63
+ project,
64
+ import_project_tags.ProjectTagConstants.Language.TAG_ID,
65
+ import_project_tags.ProjectTagConstants.Language.RUST
66
+ ) && (0, import_node_fs.existsSync)((0, import_devkit.joinPathFragments)(project.root, "Cargo.toml"))) {
67
+ return {
68
+ type: "Cargo.toml",
69
+ content: (0, import_toml.parseCargoToml)((0, import_devkit.joinPathFragments)(project.root, "Cargo.toml"))
70
+ };
71
+ } else if ((0, import_project_tags.isEqualProjectTag)(
72
+ project,
73
+ import_project_tags.ProjectTagConstants.Language.TAG_ID,
74
+ import_project_tags.ProjectTagConstants.Language.TYPESCRIPT
75
+ ) && (0, import_node_fs.existsSync)((0, import_devkit.joinPathFragments)(project.root, "package.json"))) {
76
+ return {
77
+ type: "package.json",
78
+ content: (0, import_devkit.readJsonFile)(
79
+ (0, import_devkit.joinPathFragments)(project.root, "package.json")
80
+ )
81
+ };
82
+ }
83
+ return null;
84
+ };
85
+
86
+ // packages/k8s-tools/src/executors/container-publish/executor.ts
87
+ var getRegistryVersion = (name2, config) => {
88
+ if (!name2) {
89
+ throw new Error(
90
+ "The `getRegistryVersion` function requires a container name."
91
+ );
92
+ }
93
+ try {
94
+ const tagsApiUrl = `${config.registry.container}/v2/namespaces/${encodeURIComponent(config.namespace ? config.namespace : "storm-software")}/repositories/${encodeURIComponent(
95
+ name2.replace(`${config.namespace}-`, "")
96
+ )}/tags`;
97
+ console.log(`Checking for existing version at ${tagsApiUrl}`);
98
+ return new Promise(
99
+ (resolve, reject) => import_node_https.default.get(tagsApiUrl, (res) => {
100
+ if (res.statusCode === 404) {
101
+ console.log(`No existing version found at ${tagsApiUrl}`);
102
+ return resolve([]);
103
+ }
104
+ res.on("data", (data) => {
105
+ if (data) {
106
+ console.log(
107
+ `Existing versions found at ${tagsApiUrl} - ${data}`
108
+ );
109
+ const json2 = JSON.parse(data.toString());
110
+ return resolve(
111
+ json2.results.filter(
112
+ (result) => result.status === "active" && result.name && result.name !== "latest"
113
+ ).map((result) => result.name)
114
+ );
115
+ }
116
+ return reject(
117
+ new Error(
118
+ "No data returned from container registry, expected a 404 if no tags exist"
119
+ )
120
+ );
121
+ });
122
+ }).on("error", (e) => {
123
+ throw e;
124
+ })
125
+ );
126
+ } catch (error) {
127
+ console.error(`Failed to get version from ${config.registry.container}`);
128
+ console.error(error);
129
+ console.log("");
130
+ throw new Error(
131
+ `Could not get version from container registry - ${config.registry.container}`,
132
+ {
133
+ cause: error
134
+ }
135
+ );
136
+ }
137
+ };
138
+
46
139
  // packages/k8s-tools/src/executors/helm-package/executor.ts
47
140
  var import_base_executor = require("@storm-software/workspace-tools/base/base-executor");
48
141
 
@@ -138,9 +231,9 @@ var HelmClient = class extends AbstractHelmClient {
138
231
  }
139
232
  }
140
233
  }
141
- addRepository(name, url) {
234
+ addRepository(name2, url) {
142
235
  try {
143
- this.runCommand(["helm", "repo", "add", name, url]);
236
+ this.runCommand(["helm", "repo", "add", name2, url]);
144
237
  } catch (err) {
145
238
  if (err?.stderr.length > 0 && err?.exitCode !== 0) {
146
239
  throw new Error(`Failed to add repository: ${err.stderr}`);
@@ -169,7 +262,12 @@ var HelmClient = class extends AbstractHelmClient {
169
262
  });
170
263
  }
171
264
  runCommand(commands) {
172
- return (0, import_node_child_process.execSync)(commands.filter(Boolean).join(" "), { encoding: "utf8" });
265
+ return (0, import_node_child_process.execSync)(commands.filter(Boolean).join(" "), {
266
+ encoding: "utf8",
267
+ windowsHide: true,
268
+ maxBuffer: 1024 * 1e6,
269
+ stdio: "pipe"
270
+ });
173
271
  }
174
272
  };
175
273
  __decorateClass([
@@ -244,19 +342,19 @@ var executor_default = (0, import_base_executor.withRunExecutor)(
244
342
  );
245
343
 
246
344
  // packages/k8s-tools/src/generators/helm-chart/generator.ts
247
- var import_devkit = require("@nx/devkit");
345
+ var import_devkit3 = require("@nx/devkit");
248
346
  var import_base_generator = require("@storm-software/workspace-tools/base/base-generator");
249
347
  var import_path = require("path");
250
348
  async function helmChartGeneratorFn(tree, options, config) {
251
349
  const { writeTrace } = await import("@storm-software/config-tools");
252
350
  writeTrace("\u{1F4DD} Preparing to write Helm Chart", config);
253
- const project = (0, import_devkit.readProjectConfiguration)(tree, options.project);
351
+ const project = (0, import_devkit3.readProjectConfiguration)(tree, options.project);
254
352
  if (project.targets?.["helm-package"]) {
255
353
  throw new Error(
256
354
  `Project ${options.project} already has a helm target. Please remove it before running this command.`
257
355
  );
258
356
  }
259
- (0, import_devkit.updateProjectConfiguration)(tree, options.project, {
357
+ (0, import_devkit3.updateProjectConfiguration)(tree, options.project, {
260
358
  ...project,
261
359
  targets: {
262
360
  ...project.targets,
@@ -277,14 +375,14 @@ async function helmChartGeneratorFn(tree, options, config) {
277
375
  }
278
376
  }
279
377
  });
280
- (0, import_devkit.generateFiles)(
378
+ (0, import_devkit3.generateFiles)(
281
379
  tree,
282
380
  (0, import_path.join)(__dirname, "files", "chart"),
283
381
  (0, import_path.join)(project.root, options.chartFolder ?? ""),
284
382
  options
285
383
  );
286
384
  if (options.format) {
287
- await (0, import_devkit.formatFiles)(tree);
385
+ await (0, import_devkit3.formatFiles)(tree);
288
386
  }
289
387
  return {
290
388
  success: true
@@ -296,7 +394,7 @@ var generator_default = (0, import_base_generator.withRunGenerator)(
296
394
  );
297
395
 
298
396
  // packages/k8s-tools/src/generators/helm-dependency/generator.ts
299
- var import_devkit2 = require("@nx/devkit");
397
+ var import_devkit4 = require("@nx/devkit");
300
398
  var import_base_generator2 = require("@storm-software/workspace-tools/base/base-generator");
301
399
 
302
400
  // node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs
@@ -478,9 +576,9 @@ function compileStyleAliases(map2) {
478
576
  }
479
577
  function Type$1(tag, options) {
480
578
  options = options || {};
481
- Object.keys(options).forEach(function(name) {
482
- if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
483
- throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
579
+ Object.keys(options).forEach(function(name2) {
580
+ if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name2) === -1) {
581
+ throw new exception('Unknown option "' + name2 + '" is met in definition of "' + tag + '" YAML type.');
484
582
  }
485
583
  });
486
584
  this.options = options;
@@ -504,9 +602,9 @@ function Type$1(tag, options) {
504
602
  }
505
603
  }
506
604
  var type = Type$1;
507
- function compileList(schema2, name) {
605
+ function compileList(schema2, name2) {
508
606
  var result = [];
509
- schema2[name].forEach(function(currentType) {
607
+ schema2[name2].forEach(function(currentType) {
510
608
  var newIndex = result.length;
511
609
  result.forEach(function(previousType, previousIndex) {
512
610
  if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {
@@ -1209,7 +1307,7 @@ function throwWarning(state, message) {
1209
1307
  }
1210
1308
  }
1211
1309
  var directiveHandlers = {
1212
- YAML: function handleYamlDirective(state, name, args) {
1310
+ YAML: function handleYamlDirective(state, name2, args) {
1213
1311
  var match, major, minor;
1214
1312
  if (state.version !== null) {
1215
1313
  throwError(state, "duplication of %YAML directive");
@@ -1232,7 +1330,7 @@ var directiveHandlers = {
1232
1330
  throwWarning(state, "unsupported YAML version of the document");
1233
1331
  }
1234
1332
  },
1235
- TAG: function handleTagDirective(state, name, args) {
1333
+ TAG: function handleTagDirective(state, name2, args) {
1236
1334
  var handle, prefix;
1237
1335
  if (args.length !== 2) {
1238
1336
  throwError(state, "TAG directive accepts exactly two arguments");
@@ -2925,13 +3023,13 @@ var js_yaml_default = jsYaml;
2925
3023
  async function helmDependencyGeneratorFn(tree, options, config) {
2926
3024
  const { writeTrace } = await import("@storm-software/config-tools");
2927
3025
  writeTrace("\u{1F4DD} Preparing to add Helm Dependency", config);
2928
- const project = (0, import_devkit2.readProjectConfiguration)(tree, options.project);
3026
+ const project = (0, import_devkit4.readProjectConfiguration)(tree, options.project);
2929
3027
  if (!project.targets?.["helm-package"]) {
2930
3028
  throw new Error(
2931
3029
  `Project ${options.project} does not have a helm target. Please run the chart generator first.`
2932
3030
  );
2933
3031
  }
2934
- (0, import_devkit2.updateProjectConfiguration)(
3032
+ (0, import_devkit4.updateProjectConfiguration)(
2935
3033
  tree,
2936
3034
  options.project,
2937
3035
  addDependencyToConfig(project, options.repositoryName, options.repository)
@@ -2944,7 +3042,7 @@ async function helmDependencyGeneratorFn(tree, options, config) {
2944
3042
  options.repository
2945
3043
  );
2946
3044
  if (options.format) {
2947
- await (0, import_devkit2.formatFiles)(tree);
3045
+ await (0, import_devkit4.formatFiles)(tree);
2948
3046
  }
2949
3047
  return {
2950
3048
  success: true
@@ -2954,7 +3052,7 @@ var generator_default2 = (0, import_base_generator2.withRunGenerator)(
2954
3052
  "Helm Dependency",
2955
3053
  helmDependencyGeneratorFn
2956
3054
  );
2957
- function addDependencyToConfig(project, name, url) {
3055
+ function addDependencyToConfig(project, name2, url) {
2958
3056
  return {
2959
3057
  ...project,
2960
3058
  targets: {
@@ -2967,15 +3065,15 @@ function addDependencyToConfig(project, name, url) {
2967
3065
  ...project.targets?.["helm-package"]?.options.dependencies,
2968
3066
  repositories: project.targets?.["helm-package"]?.options.dependencies.repositories ? [
2969
3067
  ...project.targets["helm-package"].options.dependencies.repositories,
2970
- { name, url }
2971
- ] : [{ name, url }]
3068
+ { name: name2, url }
3069
+ ] : [{ name: name2, url }]
2972
3070
  }
2973
3071
  }
2974
3072
  }
2975
3073
  }
2976
3074
  };
2977
3075
  }
2978
- function updateChartYaml(tree, project, name, version, repository) {
3076
+ function updateChartYaml(tree, project, name2, version, repository) {
2979
3077
  const chartFolder = project.targets?.["helm-package"]?.options.chartFolder;
2980
3078
  const chartPath = `${chartFolder}/Chart.yaml`;
2981
3079
  if (!tree.exists(chartPath)) {
@@ -2991,14 +3089,14 @@ function updateChartYaml(tree, project, name, version, repository) {
2991
3089
  chartContents.dependencies = [];
2992
3090
  }
2993
3091
  const existingDependency = chartContents.dependencies.find(
2994
- (dep) => dep.name === name
3092
+ (dep) => dep.name === name2
2995
3093
  );
2996
3094
  if (existingDependency) {
2997
3095
  existingDependency.version = version;
2998
3096
  existingDependency.repository = repository;
2999
3097
  } else {
3000
3098
  chartContents.dependencies.push({
3001
- name,
3099
+ name: name2,
3002
3100
  version,
3003
3101
  repository
3004
3102
  });
@@ -3009,10 +3107,185 @@ function updateChartYaml(tree, project, name, version, repository) {
3009
3107
  throw new Error("Failed to parse Chart.yaml");
3010
3108
  }
3011
3109
  }
3110
+
3111
+ // packages/k8s-tools/src/plugins/docker/_dockerfile.ts
3112
+ var import_devkit5 = require("@nx/devkit");
3113
+ var import_project_tags2 = require("@storm-software/workspace-tools/utils/project-tags");
3114
+ var import_node_fs2 = require("node:fs");
3115
+ var name = "storm-software/docker/dockerfile";
3116
+ var description = "Plugin for parsing Dockerfile files";
3117
+ var createNodes = [
3118
+ "*/**/{Dockerfile,Dockerfile.*}",
3119
+ async (dockerFilePath, opts = {
3120
+ defaultEngine: "docker"
3121
+ }, _) => {
3122
+ if (!dockerFilePath) {
3123
+ return {};
3124
+ }
3125
+ const { loadStormConfig, findWorkspaceRoot } = await import("@storm-software/config-tools");
3126
+ const root = dockerFilePath.substring(dockerFilePath.lastIndexOf("/") + 1);
3127
+ const projectJsonPath = (0, import_devkit5.joinPathFragments)(root, "project.json");
3128
+ if (!(0, import_node_fs2.existsSync)(projectJsonPath)) {
3129
+ return {};
3130
+ }
3131
+ const projectJson = (0, import_devkit5.readJsonFile)(projectJsonPath);
3132
+ if (projectJson?.name) {
3133
+ return {};
3134
+ }
3135
+ const workspaceRoot = findWorkspaceRoot();
3136
+ const config = await loadStormConfig(workspaceRoot);
3137
+ Object.keys(projectJson).forEach((key) => {
3138
+ if (!project[key]) {
3139
+ project[key] = projectJson[key];
3140
+ }
3141
+ });
3142
+ const project = {
3143
+ root,
3144
+ name: projectJson?.name
3145
+ };
3146
+ const engine = opts.defaultEngine ?? "docker";
3147
+ const labels = [
3148
+ `org.opencontainers.image.ref.name=${project.name}`,
3149
+ `org.opencontainers.image.title=${titleCase(project.name)}`,
3150
+ `org.opencontainers.image.authors=${config.organization ? titleCase(config.organization) : "Storm Software"}`,
3151
+ `org.opencontainers.image.vendor=${config.organization ? titleCase(config.organization) : "Storm Software"}`,
3152
+ `org.opencontainers.image.documentation=${config.docs}`,
3153
+ `org.opencontainers.image.url=${config.homepage}`,
3154
+ `org.opencontainers.image.source=${config.repository}`
3155
+ ];
3156
+ let tag = "latest";
3157
+ const packageManager = getPackageManager(project);
3158
+ if (packageManager) {
3159
+ if (packageManager.type === "Cargo.toml") {
3160
+ tag = packageManager.content.package.version;
3161
+ labels.push(
3162
+ `org.opencontainers.image.description=${packageManager.content.package.description}`
3163
+ );
3164
+ } else if (packageManager.type === "package.json") {
3165
+ tag = packageManager.content.version;
3166
+ labels.push(
3167
+ `org.opencontainers.image.description=${packageManager.content.description}`
3168
+ );
3169
+ }
3170
+ }
3171
+ project.targets = {
3172
+ ...project.targets,
3173
+ container: {
3174
+ executor: "@nx-tools/nx-container:build",
3175
+ options: {
3176
+ file: dockerFilePath,
3177
+ engine,
3178
+ labels,
3179
+ push: true,
3180
+ platforms: ["linux/amd64"],
3181
+ metadata: {
3182
+ images: [
3183
+ `${config.namespace ? config.namespace : "storm-software"}/${project.name?.replace(`${config.namespace}-`, "")}`,
3184
+ `ghcr.io/${config.organization ? config.organization : "storm-software"}/${project.name}`
3185
+ ],
3186
+ tags: [
3187
+ "type=schedule",
3188
+ "type=ref,event=branch",
3189
+ "type=ref,event=tag",
3190
+ "type=ref,event=pr",
3191
+ "type=semver,pattern={{version}}",
3192
+ "type=semver,pattern={{major}}.{{minor}}",
3193
+ "type=semver,pattern={{major}}",
3194
+ "type=sha"
3195
+ ]
3196
+ }
3197
+ },
3198
+ defaultConfiguration: "production",
3199
+ configurations: {
3200
+ development: {
3201
+ quiet: false,
3202
+ "build-args": [
3203
+ "ENVIRONMENT=development",
3204
+ "DEBUG_IMAGE=true",
3205
+ `RELEASE=${tag}`
3206
+ ]
3207
+ },
3208
+ production: {
3209
+ quiet: true,
3210
+ "build-args": [
3211
+ "ENVIRONMENT=production",
3212
+ "DEBUG_IMAGE=false",
3213
+ `RELEASE=${tag}`
3214
+ ]
3215
+ }
3216
+ }
3217
+ }
3218
+ };
3219
+ if (((0, import_project_tags2.isEqualProjectTag)(
3220
+ project,
3221
+ import_project_tags2.ProjectTagConstants.ProjectType.TAG_ID,
3222
+ import_project_tags2.ProjectTagConstants.ProjectType.APPLICATION
3223
+ ) || project.projectType === "application") && (0, import_project_tags2.hasProjectTag)(project, import_project_tags2.ProjectTagConstants.Registry.TAG_ID)) {
3224
+ if (project.targets["nx-release-publish"]) {
3225
+ project.targets["nx-release-publish"] = {
3226
+ ...project.targets["nx-release-publish"],
3227
+ executor: "@storm-software/k8s-tools:container-publish",
3228
+ options: {
3229
+ packageRoot: project.root
3230
+ }
3231
+ };
3232
+ } else {
3233
+ project.targets["nx-release-publish"] = {
3234
+ cache: true,
3235
+ inputs: [
3236
+ "linting",
3237
+ "testing",
3238
+ "documentation",
3239
+ "rust",
3240
+ "^production"
3241
+ ],
3242
+ dependsOn: ["build", "^nx-release-publish"],
3243
+ executor: "@storm-software/k8s-tools:container-publish",
3244
+ options: {
3245
+ packageRoot: project.root
3246
+ }
3247
+ };
3248
+ }
3249
+ }
3250
+ (0, import_project_tags2.setDefaultProjectTags)(project);
3251
+ const projects = {};
3252
+ const externalNodes = {};
3253
+ projects[project.root] = {
3254
+ ...project,
3255
+ release: {
3256
+ ...project.release,
3257
+ version: {
3258
+ ...project.release?.version,
3259
+ generator: "@storm-software/workspace-tools:release-version"
3260
+ }
3261
+ }
3262
+ };
3263
+ return {
3264
+ projects,
3265
+ externalNodes
3266
+ };
3267
+ }
3268
+ ];
3269
+ var createDependencies = (_, context) => {
3270
+ return [];
3271
+ };
3272
+ var titleCase = (input) => {
3273
+ if (!input) {
3274
+ return "";
3275
+ }
3276
+ return input.split(/(?=[A-Z])|[\.\-\s_]/).map((s) => s.trim()).filter((s) => !!s).map(
3277
+ (s) => s ? s.toLowerCase().charAt(0).toUpperCase() + s.toLowerCase().slice(1) : s
3278
+ ).join(" ");
3279
+ };
3012
3280
  // Annotate the CommonJS export names for ESM import in node:
3013
3281
  0 && (module.exports = {
3282
+ createDependencies,
3283
+ createNodes,
3284
+ description,
3285
+ getRegistryVersion,
3014
3286
  helmChartGeneratorFn,
3015
3287
  helmDependencyGeneratorFn,
3288
+ name,
3016
3289
  serveExecutor
3017
3290
  });
3018
3291
  /*! Bundled license information:
package/meta.json CHANGED
@@ -1 +1 @@
1
- {"inputs":{"packages/k8s-tools/src/types.ts":{"bytes":859,"imports":[{"path":"prettier","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/utils/ensure-init.ts":{"bytes":956,"imports":[{"path":"../types","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/utils/client.ts":{"bytes":3444,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"packages/k8s-tools/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/k8s-tools/src/utils/ensure-init.ts","kind":"import-statement","original":"./ensure-init"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/executors/helm-package/executor.ts":{"bytes":1977,"imports":[{"path":"@storm-software/workspace-tools/base/base-executor","kind":"import-statement","external":true},{"path":"packages/k8s-tools/src/utils/client.ts","kind":"import-statement","original":"../../utils/client"},{"path":"./schema","kind":"import-statement","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"packages/k8s-tools/src/executors/index.ts":{"bytes":41,"imports":[{"path":"packages/k8s-tools/src/executors/helm-package/executor.ts","kind":"import-statement","original":"./helm-package/executor"}],"format":"esm"},"packages/k8s-tools/src/generators/helm-chart/generator.ts":{"bytes":1814,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/config","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs":{"bytes":107533,"imports":[],"format":"esm"},"packages/k8s-tools/src/generators/helm-dependency/generator.ts":{"bytes":3414,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/config","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"import-statement","external":true},{"path":"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs","kind":"import-statement","original":"js-yaml"},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"packages/k8s-tools/src/generators/index.ts":{"bytes":85,"imports":[{"path":"packages/k8s-tools/src/generators/helm-chart/generator.ts","kind":"import-statement","original":"./helm-chart/generator"},{"path":"packages/k8s-tools/src/generators/helm-dependency/generator.ts","kind":"import-statement","original":"./helm-dependency/generator"}],"format":"esm"},"packages/k8s-tools/src/index.ts":{"bytes":59,"imports":[{"path":"packages/k8s-tools/src/executors/index.ts","kind":"import-statement","original":"./executors"},{"path":"packages/k8s-tools/src/generators/index.ts","kind":"import-statement","original":"./generators"}],"format":"esm"},"packages/k8s-tools/index.ts":{"bytes":23,"imports":[{"path":"packages/k8s-tools/src/index.ts","kind":"import-statement","original":"./src"}],"format":"esm"}},"outputs":{"dist/packages/k8s-tools/index.js":{"imports":[{"path":"@storm-software/workspace-tools/base/base-executor","kind":"require-call","external":true},{"path":"node:child_process","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/index.ts","inputs":{"packages/k8s-tools/index.ts":{"bytesInOutput":263},"packages/k8s-tools/src/executors/helm-package/executor.ts":{"bytesInOutput":1555},"packages/k8s-tools/src/utils/client.ts":{"bytesInOutput":3203},"packages/k8s-tools/src/types.ts":{"bytesInOutput":134},"packages/k8s-tools/src/utils/ensure-init.ts":{"bytesInOutput":579},"packages/k8s-tools/src/executors/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/generators/helm-chart/generator.ts":{"bytesInOutput":1684},"packages/k8s-tools/src/generators/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/generators/helm-dependency/generator.ts":{"bytesInOutput":2849},"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs":{"bytesInOutput":87999}},"bytes":100936},"dist/packages/k8s-tools/src/executors/helm-package/executor.js":{"imports":[{"path":"@storm-software/workspace-tools/base/base-executor","kind":"require-call","external":true},{"path":"node:child_process","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/executors/helm-package/executor.ts","inputs":{"packages/k8s-tools/src/executors/helm-package/executor.ts":{"bytesInOutput":1736},"packages/k8s-tools/src/utils/client.ts":{"bytesInOutput":3203},"packages/k8s-tools/src/types.ts":{"bytesInOutput":134},"packages/k8s-tools/src/utils/ensure-init.ts":{"bytesInOutput":579}},"bytes":7833},"dist/packages/k8s-tools/src/generators/helm-chart/generator.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/generators/helm-chart/generator.ts","inputs":{"packages/k8s-tools/src/generators/helm-chart/generator.ts":{"bytesInOutput":1883}},"bytes":3441},"dist/packages/k8s-tools/src/generators/helm-dependency/generator.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/generators/helm-dependency/generator.ts","inputs":{"packages/k8s-tools/src/generators/helm-dependency/generator.ts":{"bytesInOutput":3051},"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs":{"bytesInOutput":87999}},"bytes":92893}}}
1
+ {"inputs":{"packages/k8s-tools/src/utils/package-helpers.ts":{"bytes":1567,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/executors/clean-package/types","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/utils/toml","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/executors/container-publish/executor.ts":{"bytes":6601,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/config","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/utils/apply-workspace-tokens","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/utils/toml","kind":"import-statement","external":true},{"path":"node:https","kind":"import-statement","external":true},{"path":"packages/k8s-tools/src/utils/package-helpers.ts","kind":"import-statement","original":"../../utils/package-helpers"},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"packages/k8s-tools/src/types.ts":{"bytes":859,"imports":[{"path":"prettier","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/utils/ensure-init.ts":{"bytes":956,"imports":[{"path":"../types","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/utils/client.ts":{"bytes":3533,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"packages/k8s-tools/src/types.ts","kind":"import-statement","original":"../types"},{"path":"packages/k8s-tools/src/utils/ensure-init.ts","kind":"import-statement","original":"./ensure-init"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"packages/k8s-tools/src/executors/helm-package/executor.ts":{"bytes":1977,"imports":[{"path":"@storm-software/workspace-tools/base/base-executor","kind":"import-statement","external":true},{"path":"packages/k8s-tools/src/utils/client.ts","kind":"import-statement","original":"../../utils/client"},{"path":"./schema","kind":"import-statement","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"packages/k8s-tools/src/executors/index.ts":{"bytes":87,"imports":[{"path":"packages/k8s-tools/src/executors/container-publish/executor.ts","kind":"import-statement","original":"./container-publish/executor"},{"path":"packages/k8s-tools/src/executors/helm-package/executor.ts","kind":"import-statement","original":"./helm-package/executor"}],"format":"esm"},"packages/k8s-tools/src/generators/helm-chart/generator.ts":{"bytes":1814,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/config","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"import-statement","external":true},{"path":"path","kind":"import-statement","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs":{"bytes":107533,"imports":[],"format":"esm"},"packages/k8s-tools/src/generators/helm-dependency/generator.ts":{"bytes":3414,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/config","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"import-statement","external":true},{"path":"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs","kind":"import-statement","original":"js-yaml"},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"packages/k8s-tools/src/generators/index.ts":{"bytes":85,"imports":[{"path":"packages/k8s-tools/src/generators/helm-chart/generator.ts","kind":"import-statement","original":"./helm-chart/generator"},{"path":"packages/k8s-tools/src/generators/helm-dependency/generator.ts","kind":"import-statement","original":"./helm-dependency/generator"}],"format":"esm"},"packages/k8s-tools/src/plugins/docker/_dockerfile.ts":{"bytes":6642,"imports":[{"path":"@nx/devkit","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"import-statement","external":true},{"path":"@storm-software/workspace-tools/utils/toml","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"packages/k8s-tools/src/utils/package-helpers.ts","kind":"import-statement","original":"../../utils/package-helpers"},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"format":"esm"},"packages/k8s-tools/src/plugins/docker/index.ts":{"bytes":31,"imports":[{"path":"packages/k8s-tools/src/plugins/docker/_dockerfile.ts","kind":"import-statement","original":"./_dockerfile"}],"format":"esm"},"packages/k8s-tools/src/plugins/index.ts":{"bytes":26,"imports":[{"path":"packages/k8s-tools/src/plugins/docker/index.ts","kind":"import-statement","original":"./docker"}],"format":"esm"},"packages/k8s-tools/src/index.ts":{"bytes":86,"imports":[{"path":"packages/k8s-tools/src/executors/index.ts","kind":"import-statement","original":"./executors"},{"path":"packages/k8s-tools/src/generators/index.ts","kind":"import-statement","original":"./generators"},{"path":"packages/k8s-tools/src/plugins/index.ts","kind":"import-statement","original":"./plugins"}],"format":"esm"},"packages/k8s-tools/index.ts":{"bytes":23,"imports":[{"path":"packages/k8s-tools/src/index.ts","kind":"import-statement","original":"./src"}],"format":"esm"}},"outputs":{"dist/packages/k8s-tools/index.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/apply-workspace-tokens","kind":"require-call","external":true},{"path":"node:https","kind":"require-call","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/toml","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-executor","kind":"require-call","external":true},{"path":"node:child_process","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/index.ts","inputs":{"packages/k8s-tools/index.ts":{"bytesInOutput":447},"packages/k8s-tools/src/executors/container-publish/executor.ts":{"bytesInOutput":1936},"packages/k8s-tools/src/utils/package-helpers.ts":{"bytesInOutput":1238},"packages/k8s-tools/src/executors/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/executors/helm-package/executor.ts":{"bytesInOutput":1555},"packages/k8s-tools/src/utils/client.ts":{"bytesInOutput":3290},"packages/k8s-tools/src/types.ts":{"bytesInOutput":134},"packages/k8s-tools/src/utils/ensure-init.ts":{"bytesInOutput":579},"packages/k8s-tools/src/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/generators/helm-chart/generator.ts":{"bytesInOutput":1689},"packages/k8s-tools/src/generators/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/generators/helm-dependency/generator.ts":{"bytesInOutput":2873},"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs":{"bytesInOutput":88006},"packages/k8s-tools/src/plugins/docker/_dockerfile.ts":{"bytesInOutput":5761},"packages/k8s-tools/src/plugins/docker/index.ts":{"bytesInOutput":0},"packages/k8s-tools/src/plugins/index.ts":{"bytesInOutput":0}},"bytes":110506},"dist/packages/k8s-tools/src/executors/helm-package/executor.js":{"imports":[{"path":"@storm-software/workspace-tools/base/base-executor","kind":"require-call","external":true},{"path":"node:child_process","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/executors/helm-package/executor.ts","inputs":{"packages/k8s-tools/src/executors/helm-package/executor.ts":{"bytesInOutput":1736},"packages/k8s-tools/src/utils/client.ts":{"bytesInOutput":3288},"packages/k8s-tools/src/types.ts":{"bytesInOutput":134},"packages/k8s-tools/src/utils/ensure-init.ts":{"bytesInOutput":579}},"bytes":7918},"dist/packages/k8s-tools/src/executors/container-publish/executor.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/apply-workspace-tokens","kind":"require-call","external":true},{"path":"node:https","kind":"require-call","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/toml","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/executors/container-publish/executor.ts","inputs":{"packages/k8s-tools/src/executors/container-publish/executor.ts":{"bytesInOutput":5692},"packages/k8s-tools/src/utils/package-helpers.ts":{"bytesInOutput":1238}},"bytes":8610},"dist/packages/k8s-tools/src/generators/helm-chart/generator.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/generators/helm-chart/generator.ts","inputs":{"packages/k8s-tools/src/generators/helm-chart/generator.ts":{"bytesInOutput":1883}},"bytes":3441},"dist/packages/k8s-tools/src/generators/helm-dependency/generator.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/base/base-generator","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/generators/helm-dependency/generator.ts","inputs":{"packages/k8s-tools/src/generators/helm-dependency/generator.ts":{"bytesInOutput":3051},"node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs":{"bytesInOutput":87999}},"bytes":92893},"dist/packages/k8s-tools/src/plugins/docker/index.js":{"imports":[{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"@nx/devkit","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/project-tags","kind":"require-call","external":true},{"path":"@storm-software/workspace-tools/utils/toml","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"@storm-software/config-tools","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"packages/k8s-tools/src/plugins/docker/index.ts","inputs":{"packages/k8s-tools/src/plugins/docker/index.ts":{"bytesInOutput":238},"packages/k8s-tools/src/plugins/docker/_dockerfile.ts":{"bytesInOutput":5761},"packages/k8s-tools/src/utils/package-helpers.ts":{"bytesInOutput":1238}},"bytes":8989}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/k8s-tools",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "type": "commonjs",
5
5
  "description": "⚡ A Nx plugin package that contains various executors, generators, and utilities that assist in managing k8s IoC.",
6
6
  "repository": {
@@ -27,7 +27,8 @@
27
27
  "./generators.json": "./generators.json",
28
28
  "./generators/*/schema.json": "./src/generators/*/schema.json",
29
29
  "./executors.json": "./executors.json",
30
- "./executors/*/schema.json": "./src/executors/*/schema.json"
30
+ "./executors/*/schema.json": "./src/executors/*/schema.json",
31
+ "./plugins/docker": "./src/plugins/docker/index.js"
31
32
  },
32
33
  "keywords": [
33
34
  "storm",
@@ -40,10 +41,18 @@
40
41
  "monorepo"
41
42
  ],
42
43
  "peerDependencies": {
43
- "@nx/devkit": "^19.6.2",
44
- "nx": "^19.6.2"
44
+ "@nx-tools/container-metadata": "^6.0.2",
45
+ "@nx-tools/nx-container": "^6.0.2",
46
+ "@nx/devkit": "^19.6.4",
47
+ "nx": "^19.6.4"
45
48
  },
46
49
  "peerDependenciesMeta": {
50
+ "@nx-tools/container-metadata": {
51
+ "optional": false
52
+ },
53
+ "@nx-tools/nx-container": {
54
+ "optional": false
55
+ },
47
56
  "@nx/devkit": {
48
57
  "optional": false
49
58
  },
@@ -52,13 +61,15 @@
52
61
  }
53
62
  },
54
63
  "dependencies": {
55
- "@nx/devkit": "^19.6.2",
56
- "@nx/workspace": "^19.6.2",
64
+ "@nx/devkit": "^19.6.4",
65
+ "@nx/workspace": "^19.6.4",
57
66
  "js-yaml": "^4.1.0"
58
67
  },
59
68
  "devDependencies": {
69
+ "@nx-tools/container-metadata": "^6.0.2",
70
+ "@nx-tools/nx-container": "^6.0.2",
60
71
  "@types/js-yaml": "4.0.9",
61
- "nx": "^19.6.2"
72
+ "nx": "^19.6.4"
62
73
  },
63
74
  "publishConfig": {
64
75
  "access": "public"
@@ -0,0 +1,7 @@
1
+ import { type ExecutorContext } from "@nx/devkit";
2
+ import { StormConfig } from "@storm-software/config";
3
+ import type { ContainerPublishExecutorSchema } from "./schema.d";
4
+ export default function publishExecutor(options: ContainerPublishExecutorSchema, context: ExecutorContext): AsyncGenerator<undefined, {
5
+ success: boolean;
6
+ }, unknown>;
7
+ export declare const getRegistryVersion: (name: string, config: StormConfig) => Promise<string[]>;