pepr 0.1.10 → 0.1.11

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/dist/pepr-cli.js CHANGED
@@ -13,14 +13,14 @@ require('fast-json-patch');
13
13
  var clientNode = require('@kubernetes/client-node');
14
14
  var zlib = require('zlib');
15
15
  var forge = require('node-forge');
16
+ var prompt = require('prompts');
16
17
  var child_process = require('child_process');
17
18
  var util = require('util');
18
19
  var uuid = require('uuid');
19
- var prompt = require('prompts');
20
20
  var commander = require('commander');
21
21
  var chokidar = require('chokidar');
22
22
 
23
- var version = "0.1.10";
23
+ var version = "0.1.11";
24
24
 
25
25
  // SPDX-License-Identifier: Apache-2.0
26
26
  // SPDX-FileCopyrightText: 2023-Present The Pepr Authors
@@ -301,6 +301,7 @@ const peprIgnore = {
301
301
  class Webhook {
302
302
  constructor(config) {
303
303
  this.config = config;
304
+ this.ns = "pepr-system";
304
305
  this.name = `pepr-${config.uuid}`;
305
306
  this.image = `ghcr.io/defenseunicorns/pepr-controller:${config.version}`;
306
307
  // Generate the ephemeral tls things
@@ -585,6 +586,120 @@ class Webhook {
585
586
  // Convert the resources to a single YAML string
586
587
  return resources.map(r => clientNode.dumpYaml(r, { noRefs: true })).join("---\n");
587
588
  }
589
+ async deploy(code) {
590
+ Log.info("Establishing connection to Kubernetes");
591
+ const namespace = "pepr-system";
592
+ // Deploy the resources using the k8s API
593
+ const kubeConfig = new clientNode.KubeConfig();
594
+ kubeConfig.loadFromDefault();
595
+ const coreV1Api = kubeConfig.makeApiClient(clientNode.CoreV1Api);
596
+ const rbacApi = kubeConfig.makeApiClient(clientNode.RbacAuthorizationV1Api);
597
+ const appsApi = kubeConfig.makeApiClient(clientNode.AppsV1Api);
598
+ const admissionApi = kubeConfig.makeApiClient(clientNode.AdmissionregistrationV1Api);
599
+ const ns = this.namespace();
600
+ try {
601
+ Log.info("Checking for namespace");
602
+ await coreV1Api.readNamespace(namespace);
603
+ }
604
+ catch (e) {
605
+ Log.debug(e.body);
606
+ Log.info("Creating namespace");
607
+ await coreV1Api.createNamespace(ns);
608
+ }
609
+ const wh = this.mutatingWebhook();
610
+ try {
611
+ Log.info("Creating mutating webhook");
612
+ await admissionApi.createMutatingWebhookConfiguration(wh);
613
+ }
614
+ catch (e) {
615
+ Log.debug(e.body);
616
+ Log.info("Removing and re-creating mutating webhook");
617
+ await admissionApi.deleteMutatingWebhookConfiguration(wh.metadata.name);
618
+ await admissionApi.createMutatingWebhookConfiguration(wh);
619
+ }
620
+ const crb = this.clusterRoleBinding();
621
+ try {
622
+ Log.info("Creating cluster role binding");
623
+ await rbacApi.createClusterRoleBinding(crb);
624
+ }
625
+ catch (e) {
626
+ Log.debug(e.body);
627
+ Log.info("Removing and re-creating cluster role binding");
628
+ await rbacApi.deleteClusterRoleBinding(crb.metadata.name);
629
+ await rbacApi.createClusterRoleBinding(crb);
630
+ }
631
+ const cr = this.clusterRole();
632
+ try {
633
+ Log.info("Creating cluster role");
634
+ await rbacApi.createClusterRole(cr);
635
+ }
636
+ catch (e) {
637
+ Log.debug(e.body);
638
+ Log.info("Removing and re-creating the cluster role");
639
+ try {
640
+ await rbacApi.deleteClusterRole(cr.metadata.name);
641
+ await rbacApi.createClusterRole(cr);
642
+ }
643
+ catch (e) {
644
+ Log.debug(e.body);
645
+ }
646
+ }
647
+ const sa = this.serviceAccount();
648
+ try {
649
+ Log.info("Creating service account");
650
+ await coreV1Api.createNamespacedServiceAccount(namespace, sa);
651
+ }
652
+ catch (e) {
653
+ Log.debug(e.body);
654
+ Log.info("Removing and re-creating service account");
655
+ await coreV1Api.deleteNamespacedServiceAccount(sa.metadata.name, namespace);
656
+ await coreV1Api.createNamespacedServiceAccount(namespace, sa);
657
+ }
658
+ const mod = this.moduleSecret(code);
659
+ try {
660
+ Log.info("Creating module secret");
661
+ await coreV1Api.createNamespacedSecret(namespace, mod);
662
+ }
663
+ catch (e) {
664
+ Log.debug(e.body);
665
+ Log.info("Removing and re-creating module secret");
666
+ await coreV1Api.deleteNamespacedSecret(mod.metadata.name, namespace);
667
+ await coreV1Api.createNamespacedSecret(namespace, mod);
668
+ }
669
+ const svc = this.service();
670
+ try {
671
+ Log.info("Creating service");
672
+ await coreV1Api.createNamespacedService(namespace, svc);
673
+ }
674
+ catch (e) {
675
+ Log.debug(e.body);
676
+ Log.info("Removing and re-creating service");
677
+ await coreV1Api.deleteNamespacedService(svc.metadata.name, namespace);
678
+ await coreV1Api.createNamespacedService(namespace, svc);
679
+ }
680
+ const tls = this.tlsSecret();
681
+ try {
682
+ Log.info("Creating TLS secret");
683
+ await coreV1Api.createNamespacedSecret(namespace, tls);
684
+ }
685
+ catch (e) {
686
+ Log.debug(e.body);
687
+ Log.info("Removing and re-creating TLS secret");
688
+ await coreV1Api.deleteNamespacedSecret(tls.metadata.name, namespace);
689
+ await coreV1Api.createNamespacedSecret(namespace, tls);
690
+ }
691
+ const dep = this.deployment();
692
+ try {
693
+ Log.info("Creating deployment");
694
+ await appsApi.createNamespacedDeployment(namespace, dep);
695
+ }
696
+ catch (e) {
697
+ Log.debug(e.body);
698
+ Log.info("Removing and re-creating deployment");
699
+ await appsApi.deleteNamespacedDeployment(dep.metadata.name, namespace);
700
+ await appsApi.createNamespacedDeployment(namespace, dep);
701
+ }
702
+ }
588
703
  }
589
704
 
590
705
  // SPDX-License-Identifier: Apache-2.0
@@ -689,6 +804,43 @@ function capability (program) {
689
804
  });
690
805
  }
691
806
 
807
+ // SPDX-License-Identifier: Apache-2.0
808
+ function deploy (program) {
809
+ program
810
+ .command("deploy")
811
+ .description("Deploy a Pepr Module")
812
+ .option("-d, --dir [directory]", "Pepr module directory", ".")
813
+ .action(async (opts) => {
814
+ // Prompt the user to confirm
815
+ const confirm = await prompt.prompt({
816
+ type: "confirm",
817
+ name: "confirm",
818
+ message: "This will remove and redeploy the module. Continue?",
819
+ });
820
+ // Exit if the user doesn't confirm
821
+ if (!confirm.confirm) {
822
+ process.exit(0);
823
+ }
824
+ // Build the module
825
+ const { cfg, path } = await buildModule(opts.dir);
826
+ // Read the compiled module code
827
+ const code = await fs.promises.readFile(path, { encoding: "utf-8" });
828
+ // Generate a secret for the module
829
+ const webhook = new Webhook({
830
+ ...cfg.pepr,
831
+ description: cfg.description,
832
+ });
833
+ try {
834
+ await webhook.deploy(code);
835
+ Log.info(`Module deployed successfully`);
836
+ }
837
+ catch (e) {
838
+ Log.error(`Error deploying module: ${e}`);
839
+ process.exit(1);
840
+ }
841
+ });
842
+ }
843
+
692
844
  // SPDX-License-Identifier: Apache-2.0
693
845
  /**
694
846
  * Sanitize a user input name to be used as a pepr module directory name
@@ -1146,5 +1298,6 @@ init(program);
1146
1298
  build(program);
1147
1299
  capability(program);
1148
1300
  test(program);
1301
+ deploy(program);
1149
1302
  program.parse();
1150
1303
  //# sourceMappingURL=pepr-cli.js.map
@@ -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/tls.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,null],"names":["gzipSync","dumpYaml","path","fs","resolve","rollup","uuid","uuidv5","uuidv4","inspect","execSync","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/tls.ts","../src/lib/k8s/webhook.ts","../src/cli/build.ts","../src/cli/capability.ts","../src/cli/deploy.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,null,null],"names":["gzipSync","dumpYaml","logger","KubeConfig","CoreV1Api","RbacAuthorizationV1Api","AppsV1Api","AdmissionregistrationV1Api","path","fs","resolve","rollup","prompt","uuid","uuidv5","uuidv4","inspect","execSync","Command","promisify","execCallback","watch"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pepr",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Kubernetes application engine",
5
5
  "author": "Defense Unicorns",
6
6
  "homepage": "https://github.com/defenseunicorns/pepr",
@@ -4,10 +4,10 @@
4
4
  import { modelToGroupVersionKind } from "./k8s";
5
5
  import logger from "./logger";
6
6
  import {
7
+ BindToAction,
7
8
  Binding,
8
9
  BindingFilter,
9
10
  BindingWithName,
10
- BindToAction,
11
11
  CapabilityAction,
12
12
  CapabilityCfg,
13
13
  DeepPartial,
@@ -2,6 +2,11 @@
2
2
  // SPDX-FileCopyrightText: 2023-Present The Pepr Authors
3
3
 
4
4
  import {
5
+ AdmissionregistrationV1Api,
6
+ AppsV1Api,
7
+ CoreV1Api,
8
+ KubeConfig,
9
+ RbacAuthorizationV1Api,
5
10
  V1ClusterRole,
6
11
  V1ClusterRoleBinding,
7
12
  V1Deployment,
@@ -14,6 +19,7 @@ import {
14
19
  dumpYaml,
15
20
  } from "@kubernetes/client-node";
16
21
  import { gzipSync } from "zlib";
22
+ import logger from "../logger";
17
23
  import { ModuleConfig } from "../types";
18
24
  import { TLSOut, genTLS } from "./tls";
19
25
 
@@ -28,6 +34,8 @@ export class Webhook {
28
34
  private image: string;
29
35
  private tls: TLSOut;
30
36
 
37
+ private ns = "pepr-system";
38
+
31
39
  constructor(private readonly config: ModuleConfig) {
32
40
  this.name = `pepr-${config.uuid}`;
33
41
 
@@ -330,4 +338,121 @@ export class Webhook {
330
338
  // Convert the resources to a single YAML string
331
339
  return resources.map(r => dumpYaml(r, { noRefs: true })).join("---\n");
332
340
  }
341
+
342
+ async deploy(code: string) {
343
+ logger.info("Establishing connection to Kubernetes");
344
+
345
+ const namespace = "pepr-system";
346
+
347
+ // Deploy the resources using the k8s API
348
+ const kubeConfig = new KubeConfig();
349
+ kubeConfig.loadFromDefault();
350
+
351
+ const coreV1Api = kubeConfig.makeApiClient(CoreV1Api);
352
+ const rbacApi = kubeConfig.makeApiClient(RbacAuthorizationV1Api);
353
+ const appsApi = kubeConfig.makeApiClient(AppsV1Api);
354
+ const admissionApi = kubeConfig.makeApiClient(AdmissionregistrationV1Api);
355
+
356
+ const ns = this.namespace();
357
+ try {
358
+ logger.info("Checking for namespace");
359
+ await coreV1Api.readNamespace(namespace);
360
+ } catch (e) {
361
+ logger.debug(e.body);
362
+ logger.info("Creating namespace");
363
+ await coreV1Api.createNamespace(ns);
364
+ }
365
+
366
+ const wh = this.mutatingWebhook();
367
+ try {
368
+ logger.info("Creating mutating webhook");
369
+ await admissionApi.createMutatingWebhookConfiguration(wh);
370
+ } catch (e) {
371
+ logger.debug(e.body);
372
+ logger.info("Removing and re-creating mutating webhook");
373
+ await admissionApi.deleteMutatingWebhookConfiguration(wh.metadata.name);
374
+ await admissionApi.createMutatingWebhookConfiguration(wh);
375
+ }
376
+
377
+ const crb = this.clusterRoleBinding();
378
+ try {
379
+ logger.info("Creating cluster role binding");
380
+ await rbacApi.createClusterRoleBinding(crb);
381
+ } catch (e) {
382
+ logger.debug(e.body);
383
+ logger.info("Removing and re-creating cluster role binding");
384
+ await rbacApi.deleteClusterRoleBinding(crb.metadata.name);
385
+ await rbacApi.createClusterRoleBinding(crb);
386
+ }
387
+
388
+ const cr = this.clusterRole();
389
+ try {
390
+ logger.info("Creating cluster role");
391
+ await rbacApi.createClusterRole(cr);
392
+ } catch (e) {
393
+ logger.debug(e.body);
394
+ logger.info("Removing and re-creating the cluster role");
395
+ try {
396
+ await rbacApi.deleteClusterRole(cr.metadata.name);
397
+ await rbacApi.createClusterRole(cr);
398
+ } catch (e) {
399
+ logger.debug(e.body);
400
+ }
401
+ }
402
+
403
+ const sa = this.serviceAccount();
404
+ try {
405
+ logger.info("Creating service account");
406
+ await coreV1Api.createNamespacedServiceAccount(namespace, sa);
407
+ } catch (e) {
408
+ logger.debug(e.body);
409
+ logger.info("Removing and re-creating service account");
410
+ await coreV1Api.deleteNamespacedServiceAccount(sa.metadata.name, namespace);
411
+ await coreV1Api.createNamespacedServiceAccount(namespace, sa);
412
+ }
413
+
414
+ const mod = this.moduleSecret(code);
415
+ try {
416
+ logger.info("Creating module secret");
417
+ await coreV1Api.createNamespacedSecret(namespace, mod);
418
+ } catch (e) {
419
+ logger.debug(e.body);
420
+ logger.info("Removing and re-creating module secret");
421
+ await coreV1Api.deleteNamespacedSecret(mod.metadata.name, namespace);
422
+ await coreV1Api.createNamespacedSecret(namespace, mod);
423
+ }
424
+
425
+ const svc = this.service();
426
+ try {
427
+ logger.info("Creating service");
428
+ await coreV1Api.createNamespacedService(namespace, svc);
429
+ } catch (e) {
430
+ logger.debug(e.body);
431
+ logger.info("Removing and re-creating service");
432
+ await coreV1Api.deleteNamespacedService(svc.metadata.name, namespace);
433
+ await coreV1Api.createNamespacedService(namespace, svc);
434
+ }
435
+
436
+ const tls = this.tlsSecret();
437
+ try {
438
+ logger.info("Creating TLS secret");
439
+ await coreV1Api.createNamespacedSecret(namespace, tls);
440
+ } catch (e) {
441
+ logger.debug(e.body);
442
+ logger.info("Removing and re-creating TLS secret");
443
+ await coreV1Api.deleteNamespacedSecret(tls.metadata.name, namespace);
444
+ await coreV1Api.createNamespacedSecret(namespace, tls);
445
+ }
446
+
447
+ const dep = this.deployment();
448
+ try {
449
+ logger.info("Creating deployment");
450
+ await appsApi.createNamespacedDeployment(namespace, dep);
451
+ } catch (e) {
452
+ logger.debug(e.body);
453
+ logger.info("Removing and re-creating deployment");
454
+ await appsApi.deleteNamespacedDeployment(dep.metadata.name, namespace);
455
+ await appsApi.createNamespacedDeployment(namespace, dep);
456
+ }
457
+ }
333
458
  }