pepr 0.0.9 → 0.1.1
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 +40 -32
- package/dist/pepr-cli.js +281 -29
- package/dist/pepr-cli.js.map +1 -1
- package/index.ts +2 -0
- package/package.json +14 -3
- package/src/lib/capability.ts +158 -0
- package/src/lib/filter.test.ts +211 -0
- package/src/lib/filter.ts +55 -0
- package/src/lib/index.ts +10 -0
- package/src/lib/k8s/index.ts +10 -0
- package/src/lib/k8s/kinds.test.ts +341 -0
- package/src/lib/k8s/kinds.ts +470 -0
- package/src/lib/k8s/stub-tls.ts +88 -0
- package/src/lib/k8s/types.ts +175 -0
- package/src/lib/k8s/upstream.ts +47 -0
- package/src/lib/k8s/webhook.ts +278 -0
- package/src/lib/logger.test.ts +80 -0
- package/src/lib/logger.ts +131 -0
- package/src/lib/module.ts +64 -0
- package/src/lib/processor.ts +83 -0
- package/src/lib/request.ts +140 -0
- package/src/lib/types.ts +212 -0
- package/tsconfig.json +1 -1
- package/.eslintrc.json +0 -16
- package/.prettierrc +0 -14
package/README.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# Pepr
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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("
|
|
84
|
+
.InNamespace("ns1", "ns2")
|
|
75
85
|
.WithLabel("changeme", "true")
|
|
76
|
-
.Then(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
|
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.
|
|
22
|
+
var version = "0.1.1";
|
|
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 = `[107;40m[38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m
|
|
23
39
|
[38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m [38;5;016m
|
|
@@ -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
|
|
213
|
-
const
|
|
214
|
-
const
|
|
215
|
-
const
|
|
216
|
-
const name = `pepr-${
|
|
217
|
-
if (!
|
|
218
|
-
throw new Error("Could not load the
|
|
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
|
|
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:
|
|
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 { Register, ProcessRequest } = 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 "./capabilities/capability1";
|
|
351
|
+
* import {Capability2} from "./capabilities/capability2";
|
|
352
|
+
*
|
|
353
|
+
* Capability1(Register);
|
|
354
|
+
* Capability2(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
|
-
|
|
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");
|
package/dist/pepr-cli.js.map
CHANGED
|
@@ -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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pepr",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
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",
|