pepr 0.0.9 → 0.1.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/README.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Pepr
2
2
 
3
- Pepr is an open-source project licensed under the Apache 2 license, designed to be a declarative Kubernetes configuration system that automates application reconfiguration. It allows users to interact with user-defined "capabilities" that react to Kubernetes mutating webhook events.
3
+ <img align="right" width="350" src=".images/pepr.png" />
4
+
5
+ Pepr is an open-source project that helps IT Ops teams of all skill levels manage and modify resources in a Kubernetes (K8s) cluster using TypeScript. Kubernetes simplifies the management of multiple computers working together to run and scale applications. Pepr acts as a smart assistant, automatically changing or validating parts of the system as needed.
6
+
7
+ TypeScript is used to create Pepr capabilities, benefiting from its error-catching and clean code features, but without requiring specialized software engineering experience or prior Typescript knowledge. Pepr also provides a user-friendly interface for writing commands in plain English in a [Fluent Interface](https://en.wikipedia.org/wiki/Fluent_interface) style.
8
+
9
+ Capabilities are logical groupings of actions, which are the atomic units of change within Pepr. Actions _modify_, _create_, or _interact_ with resources in response to events. Pepr's capabilities and actions work together in the cluster, offering a versatile and customizable tool that enhances Kubernetes by building glue code or plumbing for system interactions. This makes Pepr useful for various tasks such as creating robust policy engines or seamlessly connecting applications.
10
+
11
+ Imagine Pepr as a smart home system where different devices communicate with each other. Pepr provides instructions, simplifying the management of the smart home. The project enables both expert and novice capability authors to improve management and interactions within the Kubernetes environment, making its features accessible to everyone.
4
12
 
5
13
  ## Features
6
14
 
@@ -12,11 +20,11 @@ Pepr is an open-source project licensed under the Apache 2 license, designed to
12
20
 
13
21
  ### Module
14
22
 
15
- A module is the top-level collection of capabilities. It is a single, complete TypeScript project that includes an entry point to load all the configuration and capabilities, along with their capability actions. During the Pepr build process, each module produces a unique Kubernetes MutatingWebhookConfiguration and ValidatingWebhookConfiguration, along with a secret containing the transpiled and compressed TypeScript code. The webhooks and secret are deployed into the Kubernetes cluster for processing by a common Pepr controller.
23
+ A module is the top-level collection of capabilities. It is a single, complete TypeScript project that includes an entry point to load all the configuration and capabilities, along with their CapabilityActions. During the Pepr build process, each module produces a unique Kubernetes MutatingWebhookConfiguration and ValidatingWebhookConfiguration, along with a secret containing the transpiled and compressed TypeScript code. The webhooks and secret are deployed into the Kubernetes cluster for processing by a common Pepr controller.
16
24
 
17
25
  ### Capability
18
26
 
19
- A capability is set of related CapabilityActions that work together to achieve a specific transformation or operation on Kubernetes resources. Capabilities are user-defined and can include one or more CapabilityActions. They are defined within a Pepr module and can be used in both MutatingWebhookConfigurations and ValidatingWebhookConfigurations. A Capability can have a specific scope, such as mutating or validating, and can be used in multiple Pepr modules if needed.
27
+ A capability is set of related CapabilityActions that work together to achieve a specific transformation or operation on Kubernetes resources. Capabilities are user-defined and can include one or more CapabilityActions. They are defined within a Pepr module and can be used in both MutatingWebhookConfigurations and ValidatingWebhookConfigurations. A Capability can have a specific scope, such as mutating or validating, and can be reused in multiple Pepr modules.
20
28
 
21
29
  ### CapabilityAction
22
30
 
@@ -56,14 +64,16 @@ const { When } = new Capability({
56
64
  });
57
65
  ```
58
66
 
59
- Next, we need to define some actions to perform when specific Kubernetes resources are created, updated or deleted in the cluster. Pepr provides a set of actions that can be used to react to Kubernetes resources, such as `a.Pod`, `a.Deployment`, `a.CronJob`, etc. These actions can be chained together to create complex conditions, such as `a.Pod.IsCreated().InNamespace("default")` or `a.Deployment.IsUpdated().WithLabel("changeme=true")`. Below is an example of a capability that reacts to the creation of a CronJob resource:
67
+ Next, we need to define some actions to perform when specific Kubernetes resources are created, updated or deleted in the cluster. Pepr provides a set of actions that can be used to react to Kubernetes resources, such as `a.Pod`, `a.Deployment`, `a.CronJob`, etc. These actions can be chained together to create complex conditions, such as `a.Pod.IsCreated().InNamespace("default")` or `a.Deployment.IsUpdated().WithLabel("changeme=true")`. Below is an example of a capability that reacts to the creation of a Deployment resource:
60
68
 
61
69
  ```typescript
62
- When(a.CronJob).IsCreated().Then(modifyCronJobSchedule);
63
-
64
- function modifyCronJobSchedule(cronJob: Action<CronJob>) {
65
- cronJob.Raw.spec.schedule = "*/5 * * * *";
66
- }
70
+ When(a.Deployment)
71
+ .IsCreated()
72
+ .ThenSet({
73
+ spec: {
74
+ minReadySeconds: 3,
75
+ },
76
+ });
67
77
  ```
68
78
 
69
79
  Here's a more complex example that reacts to the creation of a Deployment resource:
@@ -71,29 +81,27 @@ Here's a more complex example that reacts to the creation of a Deployment resour
71
81
  ```typescript
72
82
  When(a.Deployment)
73
83
  .IsCreatedOrUpdated()
74
- .InNamespace("mutation-namespace")
84
+ .InNamespace("ns1", "ns2")
75
85
  .WithLabel("changeme", "true")
76
- .Then(changeABunchOfDeploymentThings);
77
-
78
- function changeABunchOfDeploymentThings(deployment: Action<Deployment>) {
79
- deployment
80
- .SetLabel("mutated", "true")
81
- .SetLabel("test", "thing")
82
- .SetAnnotation("test2", "thing")
83
- .RemoveLabel("test3");
84
-
85
- if (deployment.HasLabel("test")) {
86
- deployment.SetLabel("test5", "thing");
87
- }
88
-
89
- let { spec } = deployment.Raw;
90
- spec.strategy.type = "Recreate";
91
- spec.minReadySeconds = 3;
92
-
93
- if (deployment.PermitSideEffects) {
94
- // Do side-effect inducing things
95
- }
96
- }
86
+ .Then(request => {
87
+ request
88
+ .SetLabel("mutated", "true")
89
+ .SetLabel("test", "thing")
90
+ .SetAnnotation("test2", "thing")
91
+ .RemoveLabel("test3");
92
+
93
+ if (request.HasLabel("test")) {
94
+ request.SetLabel("test5", "thing");
95
+ }
96
+
97
+ const { spec } = request.Raw;
98
+ spec.strategy.type = "Recreate";
99
+ spec.minReadySeconds = 3;
100
+
101
+ if (request.PermitSideEffects) {
102
+ // Do side-effect inducing things
103
+ }
104
+ });
97
105
  ```
98
106
 
99
107
  Now you can build and bundle your capability:
@@ -154,6 +162,6 @@ class C,G,H,I Validate;
154
162
 
155
163
  ## Kubernetes Mutating Webhooks
156
164
 
157
- Kubernetes mutating webhooks are a powerful feature that allows users to intercept and modify Kubernetes API requests, such as resource creation or updates, before they are persisted to the cluster. They can be used to enforce security policies, default values, or perform custom transformations on resources.
165
+ [Kubernetes mutating webhooks](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/)are a powerful feature that allows users to intercept and modify Kubernetes API requests, such as resource creation or updates, before they are persisted to the cluster. They can be used to enforce security policies, default values, or perform custom transformations on resources.
158
166
 
159
167
  Pepr uses Kubernetes mutating webhooks to react to cluster resource events and apply user-defined capabilities, which are sets of Kubernetes transformations/actions.
package/dist/pepr-cli.js CHANGED
@@ -12,12 +12,28 @@ require('@kubernetes/client-node/dist');
12
12
  require('ramda');
13
13
  require('fast-json-patch');
14
14
  var zlib = require('zlib');
15
+ var util = require('util');
16
+ var uuid = require('uuid');
17
+ var prompt = require('prompts');
15
18
  var commander = require('commander');
16
19
  var child_process = require('child_process');
17
20
  var chokidar = require('chokidar');
18
- var util = require('util');
19
21
 
20
- var version = "0.0.9";
22
+ var version = "0.1.0";
23
+ var devDependencies = {
24
+ "@types/prompts": "^2.4.4",
25
+ "@types/uuid": "^9.0.1",
26
+ "@typescript-eslint/eslint-plugin": "^5.57.0",
27
+ "@typescript-eslint/parser": "^5.57.0",
28
+ ava: "^5.2.0",
29
+ eslint: "^8.37.0",
30
+ prettier: "^2.8.7",
31
+ "rollup-plugin-visualizer": "^5.9.0",
32
+ "ts-node": "^10.9.1",
33
+ "tsconfig-paths": "^4.1.2",
34
+ tslib: "^2.5.0",
35
+ typescript: "^5.0.2"
36
+ };
21
37
 
22
38
  const banner = `                                                                                                                                           
23
39
                                                                                                                                             
@@ -171,6 +187,12 @@ var Operation;
171
187
  Operation["CONNECT"] = "CONNECT";
172
188
  })(Operation || (Operation = {}));
173
189
 
190
+ var ErrorBehavior;
191
+ (function (ErrorBehavior) {
192
+ ErrorBehavior["ignore"] = "ignore";
193
+ ErrorBehavior["audit"] = "audit";
194
+ ErrorBehavior["reject"] = "reject";
195
+ })(ErrorBehavior || (ErrorBehavior = {}));
174
196
  var HookPhase;
175
197
  (function (HookPhase) {
176
198
  HookPhase["mutate"] = "mutate";
@@ -200,6 +222,22 @@ function moduleSecret(uuid, data) {
200
222
  };
201
223
  }
202
224
 
225
+ function build (program) {
226
+ program
227
+ .command("build")
228
+ .description("Build a Pepr Module for deployment")
229
+ .option("-d, --dir [directory]", "Pepr module directory", ".")
230
+ .action(async (opts) => {
231
+ const { path: path$1, uuid } = await buildModule(opts.dir);
232
+ const code = await fs.promises.readFile(path$1, { encoding: "utf-8" });
233
+ const secret = moduleSecret(uuid, code);
234
+ const yaml = clientNode.dumpYaml(secret);
235
+ const yamlPath = path.resolve("dist", `pepr-module-${uuid}.yaml`);
236
+ await fs.promises.writeFile(yamlPath, yaml);
237
+ Log.debug(`Module compiled successfully at ${path$1}`);
238
+ Log.info(`K8s resource for the module saved to ${yamlPath}`);
239
+ });
240
+ }
203
241
  const externalLibs = [
204
242
  /@kubernetes\/client-node(\/.*)?/,
205
243
  "commander",
@@ -209,13 +247,13 @@ const externalLibs = [
209
247
  ];
210
248
  async function buildModule(moduleDir) {
211
249
  try {
212
- const modulePath = path.resolve(moduleDir, "index.ts");
213
- const moduleText = await fs.promises.readFile(modulePath, { encoding: "utf-8" });
214
- const match = moduleText.match(/peprModuleUUID:\s*"(.+?)"/);
215
- const peprModuleUUID = match && match[1];
216
- const name = `pepr-${peprModuleUUID}.js`;
217
- if (!peprModuleUUID) {
218
- throw new Error("Could not load the peprModuleUUID in index.ts");
250
+ const cfgPath = path.resolve(moduleDir, "package.json");
251
+ const input = path.resolve(moduleDir, "src", "pepr.ts");
252
+ const moduleText = await fs.promises.readFile(cfgPath, { encoding: "utf-8" });
253
+ const uuid = JSON.parse(moduleText).pepr.uuid;
254
+ const name = `pepr-${uuid}.js`;
255
+ if (!uuid) {
256
+ throw new Error("Could not load the uuid in package.json");
219
257
  }
220
258
  const plugins = [
221
259
  nodeResolve({
@@ -233,7 +271,7 @@ async function buildModule(moduleDir) {
233
271
  plugins,
234
272
  external: externalLibs,
235
273
  treeshake: true,
236
- input: modulePath,
274
+ input,
237
275
  });
238
276
  await bundle.write({
239
277
  dir: "dist",
@@ -242,7 +280,7 @@ async function buildModule(moduleDir) {
242
280
  });
243
281
  return {
244
282
  path: path.resolve("dist", name),
245
- uuid: peprModuleUUID,
283
+ uuid: uuid,
246
284
  };
247
285
  }
248
286
  catch (e) {
@@ -250,37 +288,251 @@ async function buildModule(moduleDir) {
250
288
  process.exit(1);
251
289
  }
252
290
  }
253
- function build (program) {
254
- program
255
- .command("build")
256
- .description("Build a Pepr Module for deployment")
257
- .action(async (opts) => {
258
- const { path: path$1, uuid } = await buildModule(opts.dir);
259
- const code = await fs.promises.readFile(path$1, { encoding: "utf-8" });
260
- const secret = moduleSecret(uuid, code);
261
- const yaml = clientNode.dumpYaml(secret);
262
- const yamlPath = path.resolve("dist", `pepr-module-${uuid}.yaml`);
263
- await fs.promises.writeFile(yamlPath, yaml);
264
- Log.debug(`Module compiled successfully at ${path$1}`);
265
- Log.info(`K8s resource for the module saved to ${yamlPath}`);
266
- });
267
- }
268
291
 
269
292
  function capability (program) {
270
293
  program
271
294
  .command("new")
272
295
  .description("Create a new Pepr Capability")
296
+ .option("-d, --dir [directory]", "Pepr module directory", ".")
273
297
  .action(() => {
274
298
  console.log("new");
275
299
  });
276
300
  }
277
301
 
302
+ function sanitizeName(name) {
303
+ let sanitized = name.toLowerCase().replace(/[^a-z0-9-]+/gi, "-");
304
+ sanitized = sanitized.replace(/^-+|-+$/g, "");
305
+ sanitized = sanitized.replace(/--+/g, "-");
306
+ return sanitized;
307
+ }
308
+ async function createDir(dir) {
309
+ try {
310
+ await fs.promises.mkdir(dir);
311
+ }
312
+ catch (err) {
313
+ if (err.code === "EEXIST") {
314
+ throw new Error(`Directory ${dir} already exists`);
315
+ }
316
+ else {
317
+ throw err;
318
+ }
319
+ }
320
+ }
321
+ function write(path, data) {
322
+ if (typeof data !== "string") {
323
+ data = JSON.stringify(data, null, 2);
324
+ }
325
+ return fs.promises.writeFile(path, data);
326
+ }
327
+
328
+ function genPeprTS() {
329
+ return {
330
+ path: "pepr.ts",
331
+ data: `
332
+ import { PeprModule } from "pepr";
333
+ import cfg from "./package.json";
334
+
335
+ // This initializes the Pepr module with the configuration from package.json
336
+ export const peprModule = new PeprModule(cfg, {
337
+ // Modify as needed
338
+ alwaysIgnore: {
339
+ namespaces: [],
340
+ labels: [],
341
+ },
342
+ });
343
+
344
+ /**
345
+ * Each Pepr Capability is registered with the module using the Register function.
346
+ * This will be automatically generated by the Pepr CLI when creating a new capability:
347
+ * 'pepr new <capability name>'
348
+ *
349
+ * Example:
350
+ * import Capability1 from "./capability1";
351
+ * import Capability2 from "./capability2";
352
+ *
353
+ * Capability1(peprModule.Register);
354
+ * Capability2(peprModule.Register);
355
+ */
356
+
357
+ `,
358
+ };
359
+ }
360
+ function genPkgJSON(opts) {
361
+ const uuid$1 = uuid.v5(opts.name, uuid.v4());
362
+ const name = sanitizeName(opts.name);
363
+ const { prettier, typescript } = devDependencies;
364
+ const data = {
365
+ name,
366
+ version: "0.0.1",
367
+ description: opts.description,
368
+ keywords: ["pepr", "k8s", "policy-engine", "pepr-module", "security"],
369
+ pepr: {
370
+ name: opts.name.trim(),
371
+ version,
372
+ uuid: uuid$1,
373
+ onError: opts.errorBehavior,
374
+ },
375
+ scripts: {
376
+ build: "pepr build",
377
+ start: "pepr test",
378
+ },
379
+ dependencies: {
380
+ pepr: `^${version}`,
381
+ prettier,
382
+ typescript,
383
+ },
384
+ };
385
+ return {
386
+ data,
387
+ path: "package.json",
388
+ print: util.inspect(data, false, 5, true),
389
+ };
390
+ }
391
+ const tsConfig = {
392
+ path: "tsconfig.json",
393
+ data: {
394
+ compilerOptions: {
395
+ esModuleInterop: true,
396
+ lib: ["ES2020"],
397
+ moduleResolution: "node",
398
+ resolveJsonModule: true,
399
+ strict: false,
400
+ target: "ES2020",
401
+ },
402
+ },
403
+ };
404
+ const gitIgnore = {
405
+ path: ".gitignore",
406
+ data: `# Ignore node_modules
407
+ node_modules
408
+ dist
409
+ `,
410
+ };
411
+ const prettierRC = {
412
+ path: ".prettierrc",
413
+ data: {
414
+ arrowParens: "avoid",
415
+ bracketSameLine: false,
416
+ bracketSpacing: true,
417
+ embeddedLanguageFormatting: "auto",
418
+ insertPragma: false,
419
+ printWidth: 80,
420
+ quoteProps: "as-needed",
421
+ requirePragma: false,
422
+ semi: true,
423
+ useTabs: false,
424
+ vueIndentScriptAndStyle: false,
425
+ tabWidth: 2,
426
+ },
427
+ };
428
+ const readme = {
429
+ path: "README.md",
430
+ data: `# Pepr Module
431
+
432
+ This is a Pepr module. It is a module that can be used with the [Pepr]() framework.
433
+ `,
434
+ };
435
+
436
+ function walkthrough() {
437
+ const askName = {
438
+ type: "text",
439
+ name: "name",
440
+ message: "Enter a name for the new Pepr module. This will create a new directory based on the name.\n",
441
+ validate: async (val) => {
442
+ try {
443
+ const name = sanitizeName(val);
444
+ await fs.promises.access(name, fs.promises.constants.F_OK);
445
+ return "A directory with this name already exists";
446
+ }
447
+ catch (e) {
448
+ return val.length > 2 || "The name must be at least 3 characters long";
449
+ }
450
+ },
451
+ };
452
+ const askDescription = {
453
+ type: "text",
454
+ name: "description",
455
+ message: "(Recommended) Enter a description for the new Pepr module.\n",
456
+ };
457
+ const askErrorBehavior = {
458
+ type: "select",
459
+ name: "errorBehavior",
460
+ validate: val => ErrorBehavior[val],
461
+ message: "How do you want Pepr to handle errors encountered during K8s operations?",
462
+ choices: [
463
+ {
464
+ title: "Ignore",
465
+ value: ErrorBehavior.ignore,
466
+ description: "Pepr will continue processing and generate an entry in the Pepr Controller log.",
467
+ selected: true,
468
+ },
469
+ {
470
+ title: "Log an audit event",
471
+ value: ErrorBehavior.audit,
472
+ description: "Pepr will continue processing and generate an entry in the Pepr Controller log as well as an audit event in the cluster.",
473
+ },
474
+ {
475
+ title: "Reject the operation",
476
+ value: ErrorBehavior.reject,
477
+ description: "Pepr will reject the operation and return an error to the client.",
478
+ },
479
+ ],
480
+ };
481
+ return prompt([
482
+ askName,
483
+ askDescription,
484
+ askErrorBehavior,
485
+ ]);
486
+ }
487
+ async function confirm(dirName, packageJSON, peprTSPath) {
488
+ console.log(`
489
+ To be generated:
490
+
491
+ \x1b[1m${dirName}\x1b[0m
492
+ ├── \x1b[1m${gitIgnore.path}\x1b[0m
493
+ ├── \x1b[1m${prettierRC.path}\x1b[0m
494
+ ├── \x1b[1m${packageJSON.path}\x1b[0m
495
+ ${packageJSON.print.replace(/^/gm, " │ ")}
496
+ ├── \x1b[1m${peprTSPath}\x1b[0m
497
+ ├── \x1b[1m${readme.path}\x1b[0m
498
+ └── \x1b[1m${tsConfig.path}\x1b[0m
499
+ `);
500
+ const confirm = await prompt({
501
+ type: "confirm",
502
+ name: "confirm",
503
+ message: "Create the new Pepr module?",
504
+ });
505
+ return confirm.confirm;
506
+ }
507
+
278
508
  function init (program) {
279
509
  program
280
510
  .command("init")
281
511
  .description("Initialize a new Pepr Module")
282
- .action(() => {
283
- console.log("init");
512
+ .action(async () => {
513
+ const response = await walkthrough();
514
+ const dirName = sanitizeName(response.name);
515
+ const packageJSON = genPkgJSON(response);
516
+ const peprTS = genPeprTS();
517
+ const confirmed = await confirm(dirName, packageJSON, peprTS.path);
518
+ if (confirmed) {
519
+ console.log("Creating new Pepr module...");
520
+ try {
521
+ await createDir(dirName);
522
+ await write(path.resolve(dirName, gitIgnore.path), gitIgnore.data);
523
+ await write(path.resolve(dirName, prettierRC.path), prettierRC.data);
524
+ await write(path.resolve(dirName, packageJSON.path), packageJSON.data);
525
+ await write(path.resolve(dirName, readme.path), readme.data);
526
+ await write(path.resolve(dirName, tsConfig.path), tsConfig.data);
527
+ await write(path.resolve(dirName, peprTS.path), peprTS.data);
528
+ console.log(`New Pepr module created at ${dirName}`);
529
+ console.log(`Run "cd ${dirName} && npm install" to get started`);
530
+ }
531
+ catch (err) {
532
+ Log.error(err);
533
+ process.exit(1);
534
+ }
535
+ }
284
536
  });
285
537
  }
286
538
 
@@ -288,7 +540,6 @@ class RootCmd extends commander.Command {
288
540
  createCommand(name) {
289
541
  const cmd = new commander.Command(name);
290
542
  cmd.option("-l, --log-level [level]", "Log level: debug, info, warn, error", "info");
291
- cmd.option("-d, --dir [directory]", "Pepr module directory", ".");
292
543
  cmd.hook("preAction", run => {
293
544
  Log.SetLogLevel(run.opts().logLevel);
294
545
  });
@@ -301,6 +552,7 @@ function test (program) {
301
552
  program
302
553
  .command("test")
303
554
  .description("Test a Pepr Module locally")
555
+ .option("-d, --dir [directory]", "Pepr module directory", ".")
304
556
  .option("-w, --watch", "Watch for changes and re-run the test")
305
557
  .action(async (opts) => {
306
558
  Log.info("Test Module");
@@ -1 +1 @@
1
- {"version":3,"file":"pepr-cli.js","sources":["../src/cli/banner.ts","../src/lib/logger.ts","../src/lib/k8s/types.ts","../src/lib/types.ts","../src/lib/k8s/webhook.ts","../src/cli/build.ts","../src/cli/capability.ts","../src/cli/init.ts","../src/cli/root.ts","../src/cli/test.ts","../src/cli/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["gzipSync","resolve","fs","rollup","path","dumpYaml","Command","promisify","execCallback","watch"],"mappings":"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"}
1
+ {"version":3,"file":"pepr-cli.js","sources":["../src/cli/banner.ts","../src/lib/logger.ts","../src/lib/k8s/types.ts","../src/lib/types.ts","../src/lib/k8s/webhook.ts","../src/cli/build.ts","../src/cli/capability.ts","../src/cli/init/utils.ts","../src/cli/init/templates.ts","../src/cli/init/walkthrough.ts","../src/cli/init/index.ts","../src/cli/root.ts","../src/cli/test.ts","../src/cli/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["gzipSync","path","fs","dumpYaml","resolve","rollup","uuid","uuidv5","uuidv4","inspect","Command","promisify","execCallback","watch"],"mappings":"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"}
package/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./src/lib";
2
+ export * from "./src/lib/k8s";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pepr",
3
- "version": "0.0.9",
3
+ "version": "0.1.0",
4
4
  "description": "Kubernetes application engine",
5
5
  "author": "Defense Unicorns",
6
6
  "homepage": "https://github.com/defenseunicorns/pepr",
@@ -10,6 +10,13 @@
10
10
  "engines": {
11
11
  "node": ">=18.0.0"
12
12
  },
13
+ "pepr": {
14
+ "name": "Development Module",
15
+ "uuid": "20e17cf6-a2e4-46b2-b626-75d88d96c88b",
16
+ "description": "Development module for pepr",
17
+ "version": "dev",
18
+ "onError": "ignore"
19
+ },
13
20
  "scripts": {
14
21
  "webhook": "node dist/default.js",
15
22
  "build": "rollup -c",
@@ -19,7 +26,7 @@
19
26
  "lint:fix": "npm run lint -- --fix",
20
27
  "prettier": "npx prettier src --check",
21
28
  "prettier:fix": "npm run prettier -- --write",
22
- "prepublishOnly": "npm run lint && npm run prettier && npm run test && npm run build"
29
+ "prepublishOnly": "npm run lint:fix && npm run prettier:fix && npm run test && npm run build"
23
30
  },
24
31
  "dependencies": {
25
32
  "@kubernetes/client-node": "^0.18.1",
@@ -31,10 +38,14 @@
31
38
  "commander": "^10.0.0",
32
39
  "express": "^4.18.2",
33
40
  "fast-json-patch": "^3.1.1",
41
+ "prompts": "^2.4.2",
34
42
  "ramda": "^0.28.0",
35
- "rollup": "^3.20.2"
43
+ "rollup": "^3.20.2",
44
+ "uuid": "^9.0.0"
36
45
  },
37
46
  "devDependencies": {
47
+ "@types/prompts": "^2.4.4",
48
+ "@types/uuid": "^9.0.1",
38
49
  "@typescript-eslint/eslint-plugin": "^5.57.0",
39
50
  "@typescript-eslint/parser": "^5.57.0",
40
51
  "ava": "^5.2.0",