@storm-software/k8s-tools 0.4.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,11 @@
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
+
1
9
  ## 0.4.0 (2024-09-01)
2
10
 
3
11
  ### 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}`);
@@ -249,19 +342,19 @@ var executor_default = (0, import_base_executor.withRunExecutor)(
249
342
  );
250
343
 
251
344
  // packages/k8s-tools/src/generators/helm-chart/generator.ts
252
- var import_devkit = require("@nx/devkit");
345
+ var import_devkit3 = require("@nx/devkit");
253
346
  var import_base_generator = require("@storm-software/workspace-tools/base/base-generator");
254
347
  var import_path = require("path");
255
348
  async function helmChartGeneratorFn(tree, options, config) {
256
349
  const { writeTrace } = await import("@storm-software/config-tools");
257
350
  writeTrace("\u{1F4DD} Preparing to write Helm Chart", config);
258
- const project = (0, import_devkit.readProjectConfiguration)(tree, options.project);
351
+ const project = (0, import_devkit3.readProjectConfiguration)(tree, options.project);
259
352
  if (project.targets?.["helm-package"]) {
260
353
  throw new Error(
261
354
  `Project ${options.project} already has a helm target. Please remove it before running this command.`
262
355
  );
263
356
  }
264
- (0, import_devkit.updateProjectConfiguration)(tree, options.project, {
357
+ (0, import_devkit3.updateProjectConfiguration)(tree, options.project, {
265
358
  ...project,
266
359
  targets: {
267
360
  ...project.targets,
@@ -282,14 +375,14 @@ async function helmChartGeneratorFn(tree, options, config) {
282
375
  }
283
376
  }
284
377
  });
285
- (0, import_devkit.generateFiles)(
378
+ (0, import_devkit3.generateFiles)(
286
379
  tree,
287
380
  (0, import_path.join)(__dirname, "files", "chart"),
288
381
  (0, import_path.join)(project.root, options.chartFolder ?? ""),
289
382
  options
290
383
  );
291
384
  if (options.format) {
292
- await (0, import_devkit.formatFiles)(tree);
385
+ await (0, import_devkit3.formatFiles)(tree);
293
386
  }
294
387
  return {
295
388
  success: true
@@ -301,7 +394,7 @@ var generator_default = (0, import_base_generator.withRunGenerator)(
301
394
  );
302
395
 
303
396
  // packages/k8s-tools/src/generators/helm-dependency/generator.ts
304
- var import_devkit2 = require("@nx/devkit");
397
+ var import_devkit4 = require("@nx/devkit");
305
398
  var import_base_generator2 = require("@storm-software/workspace-tools/base/base-generator");
306
399
 
307
400
  // node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs
@@ -483,9 +576,9 @@ function compileStyleAliases(map2) {
483
576
  }
484
577
  function Type$1(tag, options) {
485
578
  options = options || {};
486
- Object.keys(options).forEach(function(name) {
487
- if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
488
- 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.');
489
582
  }
490
583
  });
491
584
  this.options = options;
@@ -509,9 +602,9 @@ function Type$1(tag, options) {
509
602
  }
510
603
  }
511
604
  var type = Type$1;
512
- function compileList(schema2, name) {
605
+ function compileList(schema2, name2) {
513
606
  var result = [];
514
- schema2[name].forEach(function(currentType) {
607
+ schema2[name2].forEach(function(currentType) {
515
608
  var newIndex = result.length;
516
609
  result.forEach(function(previousType, previousIndex) {
517
610
  if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {
@@ -1214,7 +1307,7 @@ function throwWarning(state, message) {
1214
1307
  }
1215
1308
  }
1216
1309
  var directiveHandlers = {
1217
- YAML: function handleYamlDirective(state, name, args) {
1310
+ YAML: function handleYamlDirective(state, name2, args) {
1218
1311
  var match, major, minor;
1219
1312
  if (state.version !== null) {
1220
1313
  throwError(state, "duplication of %YAML directive");
@@ -1237,7 +1330,7 @@ var directiveHandlers = {
1237
1330
  throwWarning(state, "unsupported YAML version of the document");
1238
1331
  }
1239
1332
  },
1240
- TAG: function handleTagDirective(state, name, args) {
1333
+ TAG: function handleTagDirective(state, name2, args) {
1241
1334
  var handle, prefix;
1242
1335
  if (args.length !== 2) {
1243
1336
  throwError(state, "TAG directive accepts exactly two arguments");
@@ -2930,13 +3023,13 @@ var js_yaml_default = jsYaml;
2930
3023
  async function helmDependencyGeneratorFn(tree, options, config) {
2931
3024
  const { writeTrace } = await import("@storm-software/config-tools");
2932
3025
  writeTrace("\u{1F4DD} Preparing to add Helm Dependency", config);
2933
- const project = (0, import_devkit2.readProjectConfiguration)(tree, options.project);
3026
+ const project = (0, import_devkit4.readProjectConfiguration)(tree, options.project);
2934
3027
  if (!project.targets?.["helm-package"]) {
2935
3028
  throw new Error(
2936
3029
  `Project ${options.project} does not have a helm target. Please run the chart generator first.`
2937
3030
  );
2938
3031
  }
2939
- (0, import_devkit2.updateProjectConfiguration)(
3032
+ (0, import_devkit4.updateProjectConfiguration)(
2940
3033
  tree,
2941
3034
  options.project,
2942
3035
  addDependencyToConfig(project, options.repositoryName, options.repository)
@@ -2949,7 +3042,7 @@ async function helmDependencyGeneratorFn(tree, options, config) {
2949
3042
  options.repository
2950
3043
  );
2951
3044
  if (options.format) {
2952
- await (0, import_devkit2.formatFiles)(tree);
3045
+ await (0, import_devkit4.formatFiles)(tree);
2953
3046
  }
2954
3047
  return {
2955
3048
  success: true
@@ -2959,7 +3052,7 @@ var generator_default2 = (0, import_base_generator2.withRunGenerator)(
2959
3052
  "Helm Dependency",
2960
3053
  helmDependencyGeneratorFn
2961
3054
  );
2962
- function addDependencyToConfig(project, name, url) {
3055
+ function addDependencyToConfig(project, name2, url) {
2963
3056
  return {
2964
3057
  ...project,
2965
3058
  targets: {
@@ -2972,15 +3065,15 @@ function addDependencyToConfig(project, name, url) {
2972
3065
  ...project.targets?.["helm-package"]?.options.dependencies,
2973
3066
  repositories: project.targets?.["helm-package"]?.options.dependencies.repositories ? [
2974
3067
  ...project.targets["helm-package"].options.dependencies.repositories,
2975
- { name, url }
2976
- ] : [{ name, url }]
3068
+ { name: name2, url }
3069
+ ] : [{ name: name2, url }]
2977
3070
  }
2978
3071
  }
2979
3072
  }
2980
3073
  }
2981
3074
  };
2982
3075
  }
2983
- function updateChartYaml(tree, project, name, version, repository) {
3076
+ function updateChartYaml(tree, project, name2, version, repository) {
2984
3077
  const chartFolder = project.targets?.["helm-package"]?.options.chartFolder;
2985
3078
  const chartPath = `${chartFolder}/Chart.yaml`;
2986
3079
  if (!tree.exists(chartPath)) {
@@ -2996,14 +3089,14 @@ function updateChartYaml(tree, project, name, version, repository) {
2996
3089
  chartContents.dependencies = [];
2997
3090
  }
2998
3091
  const existingDependency = chartContents.dependencies.find(
2999
- (dep) => dep.name === name
3092
+ (dep) => dep.name === name2
3000
3093
  );
3001
3094
  if (existingDependency) {
3002
3095
  existingDependency.version = version;
3003
3096
  existingDependency.repository = repository;
3004
3097
  } else {
3005
3098
  chartContents.dependencies.push({
3006
- name,
3099
+ name: name2,
3007
3100
  version,
3008
3101
  repository
3009
3102
  });
@@ -3014,10 +3107,185 @@ function updateChartYaml(tree, project, name, version, repository) {
3014
3107
  throw new Error("Failed to parse Chart.yaml");
3015
3108
  }
3016
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
+ };
3017
3280
  // Annotate the CommonJS export names for ESM import in node:
3018
3281
  0 && (module.exports = {
3282
+ createDependencies,
3283
+ createNodes,
3284
+ description,
3285
+ getRegistryVersion,
3019
3286
  helmChartGeneratorFn,
3020
3287
  helmDependencyGeneratorFn,
3288
+ name,
3021
3289
  serveExecutor
3022
3290
  });
3023
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":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":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":3288},"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":101021},"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/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.4.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[]>;