pmcf 3.4.7 → 3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcf",
3
- "version": "3.4.7",
3
+ "version": "3.5.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/module.mjs CHANGED
@@ -13,6 +13,7 @@ export * from "./network-interfaces/loopback.mjs";
13
13
  export * from "./network-interfaces/ethernet.mjs";
14
14
  export * from "./network-interfaces/wlan.mjs";
15
15
  export * from "./network-interfaces/wireguard.mjs";
16
+ export * from "./network-interfaces/tun.mjs";
16
17
  export * from "./host.mjs";
17
18
  export * from "./service-types.mjs";
18
19
  export * from "./service.mjs";
@@ -0,0 +1,30 @@
1
+ import { SkeletonNetworkInterface } from "./skeleton.mjs";
2
+ import { NetworkInterfaceTypeDefinition } from "./network-interface.mjs";
3
+ import { addType } from "../types.mjs";
4
+
5
+ const WireguardNetworkInterfaceTypeDefinition = {
6
+ name: "tun",
7
+ specializationOf: NetworkInterfaceTypeDefinition,
8
+ owners: NetworkInterfaceTypeDefinition.owners,
9
+ extends: NetworkInterfaceTypeDefinition,
10
+ priority: 0.1,
11
+ properties: {}
12
+ };
13
+
14
+ export class TUNNetworkInterface extends SkeletonNetworkInterface {
15
+ static {
16
+ addType(this);
17
+ }
18
+
19
+ static get typeDefinition() {
20
+ return WireguardNetworkInterfaceTypeDefinition;
21
+ }
22
+
23
+ get kind() {
24
+ return WireguardNetworkInterfaceTypeDefinition.name;
25
+ }
26
+
27
+ get ipAddresses() {
28
+ return new Map();
29
+ }
30
+ }
@@ -61,6 +61,7 @@ const KeaServiceTypeDefinition = {
61
61
  endpoints: [
62
62
  {
63
63
  family: "IPv4",
64
+ kind: "loopback",
64
65
  port: 53001,
65
66
  protocol: "tcp",
66
67
  tls: false
@@ -13,6 +13,7 @@ export * from "./network-interfaces/loopback.mjs";
13
13
  export * from "./network-interfaces/ethernet.mjs";
14
14
  export * from "./network-interfaces/wlan.mjs";
15
15
  export * from "./network-interfaces/wireguard.mjs";
16
+ export * from "./network-interfaces/tun.mjs";
16
17
  export * from "./host.mjs";
17
18
  export * from "./service-types.mjs";
18
19
  export * from "./service.mjs";
@@ -0,0 +1,706 @@
1
+ export class TUNNetworkInterface extends SkeletonNetworkInterface {
2
+ static get typeDefinition(): {
3
+ name: string;
4
+ specializationOf: {
5
+ name: string;
6
+ priority: number;
7
+ owners: string[];
8
+ extends: {
9
+ name: string;
10
+ owners: any[];
11
+ properties: {
12
+ owner: {
13
+ type: string;
14
+ collection: boolean;
15
+ writable: boolean;
16
+ };
17
+ type: import("pacc").AttributeDefinition;
18
+ name: {
19
+ writable: boolean;
20
+ type: string;
21
+ isKey: boolean;
22
+ mandatory: boolean;
23
+ collection: boolean;
24
+ private?: boolean;
25
+ depends?: string;
26
+ description?: string;
27
+ default?: any;
28
+ set?: Function;
29
+ get?: Function;
30
+ env?: string[] | string;
31
+ };
32
+ description: {
33
+ writable: boolean;
34
+ type: string;
35
+ isKey: boolean;
36
+ mandatory: boolean;
37
+ collection: boolean;
38
+ private?: boolean;
39
+ depends?: string;
40
+ description?: string;
41
+ default?: any;
42
+ set?: Function;
43
+ get?: Function;
44
+ env?: string[] | string;
45
+ };
46
+ priority: {
47
+ writable: boolean;
48
+ type: string;
49
+ isKey: boolean;
50
+ mandatory: boolean;
51
+ collection: boolean;
52
+ private?: boolean;
53
+ depends?: string;
54
+ description?: string;
55
+ default?: any;
56
+ set?: Function;
57
+ get?: Function;
58
+ env?: string[] | string;
59
+ };
60
+ directory: {
61
+ writable: boolean;
62
+ type: string;
63
+ isKey: boolean;
64
+ mandatory: boolean;
65
+ collection: boolean;
66
+ private?: boolean;
67
+ depends?: string;
68
+ description?: string;
69
+ default?: any;
70
+ set?: Function;
71
+ get?: Function;
72
+ env?: string[] | string;
73
+ };
74
+ packaging: {
75
+ writable: boolean;
76
+ type: string;
77
+ isKey: boolean;
78
+ mandatory: boolean;
79
+ collection: boolean;
80
+ private?: boolean;
81
+ depends?: string;
82
+ description?: string;
83
+ default?: any;
84
+ set?: Function;
85
+ get?: Function;
86
+ env?: string[] | string;
87
+ };
88
+ disabled: import("pacc").AttributeDefinition;
89
+ tags: {
90
+ writable: boolean;
91
+ collection: boolean;
92
+ type: string;
93
+ isKey: boolean;
94
+ mandatory: boolean;
95
+ private: boolean;
96
+ depends: string;
97
+ description: string;
98
+ default: any;
99
+ set: Function;
100
+ get: Function;
101
+ env: string[] | string;
102
+ };
103
+ };
104
+ };
105
+ specializations: {};
106
+ factoryFor(owner: any, value: any): any;
107
+ properties: {
108
+ services: {
109
+ type: string;
110
+ collection: boolean;
111
+ writable: boolean;
112
+ };
113
+ hostName: {
114
+ writable: boolean;
115
+ type: string;
116
+ isKey: boolean;
117
+ mandatory: boolean;
118
+ collection: boolean;
119
+ private?: boolean;
120
+ depends?: string;
121
+ description?: string;
122
+ default?: any;
123
+ set?: Function;
124
+ get?: Function;
125
+ env?: string[] | string;
126
+ };
127
+ ipAddresses: {
128
+ writable: boolean;
129
+ type: string;
130
+ isKey: boolean;
131
+ mandatory: boolean;
132
+ collection: boolean;
133
+ private?: boolean;
134
+ depends?: string;
135
+ description?: string;
136
+ default?: any;
137
+ set?: Function;
138
+ get?: Function;
139
+ env?: string[] | string;
140
+ };
141
+ hwaddr: {
142
+ writable: boolean;
143
+ type: string;
144
+ isKey: boolean;
145
+ mandatory: boolean;
146
+ collection: boolean;
147
+ private?: boolean;
148
+ depends?: string;
149
+ description?: string;
150
+ default?: any;
151
+ set?: Function;
152
+ get?: Function;
153
+ env?: string[] | string;
154
+ };
155
+ network: {
156
+ type: string;
157
+ collection: boolean;
158
+ writable: boolean;
159
+ };
160
+ destination: {
161
+ writable: boolean;
162
+ type: string;
163
+ isKey: boolean;
164
+ mandatory: boolean;
165
+ collection: boolean;
166
+ private?: boolean;
167
+ depends?: string;
168
+ description?: string;
169
+ default?: any;
170
+ set?: Function;
171
+ get?: Function;
172
+ env?: string[] | string;
173
+ };
174
+ cidrAddresses: {
175
+ writable: boolean;
176
+ collection: boolean;
177
+ type: string;
178
+ isKey: boolean;
179
+ mandatory: boolean;
180
+ private: boolean;
181
+ depends: string;
182
+ description: string;
183
+ default: any;
184
+ set: Function;
185
+ get: Function;
186
+ env: string[] | string;
187
+ };
188
+ cidrAddress: {
189
+ writable: boolean;
190
+ type: string;
191
+ isKey: boolean;
192
+ mandatory: boolean;
193
+ collection: boolean;
194
+ private?: boolean;
195
+ depends?: string;
196
+ description?: string;
197
+ default?: any;
198
+ set?: Function;
199
+ get?: Function;
200
+ env?: string[] | string;
201
+ };
202
+ addresses: {
203
+ writable: boolean;
204
+ collection: boolean;
205
+ type: string;
206
+ isKey: boolean;
207
+ mandatory: boolean;
208
+ private: boolean;
209
+ depends: string;
210
+ description: string;
211
+ default: any;
212
+ set: Function;
213
+ get: Function;
214
+ env: string[] | string;
215
+ };
216
+ address: {
217
+ writable: boolean;
218
+ type: string;
219
+ isKey: boolean;
220
+ mandatory: boolean;
221
+ collection: boolean;
222
+ private?: boolean;
223
+ depends?: string;
224
+ description?: string;
225
+ default?: any;
226
+ set?: Function;
227
+ get?: Function;
228
+ env?: string[] | string;
229
+ };
230
+ scope: {
231
+ writable: boolean;
232
+ values: string[];
233
+ default: string;
234
+ type: string;
235
+ isKey: boolean;
236
+ mandatory: boolean;
237
+ collection: boolean;
238
+ private?: boolean;
239
+ depends?: string;
240
+ description?: string;
241
+ set?: Function;
242
+ get?: Function;
243
+ env?: string[] | string;
244
+ };
245
+ class: {
246
+ writable: boolean;
247
+ values: string[];
248
+ type: string;
249
+ isKey: boolean;
250
+ mandatory: boolean;
251
+ collection: boolean;
252
+ private?: boolean;
253
+ depends?: string;
254
+ description?: string;
255
+ default?: any;
256
+ set?: Function;
257
+ get?: Function;
258
+ env?: string[] | string;
259
+ };
260
+ kind: {
261
+ writable: boolean;
262
+ values: string[];
263
+ type: string;
264
+ isKey: boolean;
265
+ mandatory: boolean;
266
+ collection: boolean;
267
+ private?: boolean;
268
+ depends?: string;
269
+ description?: string;
270
+ default?: any;
271
+ set?: Function;
272
+ get?: Function;
273
+ env?: string[] | string;
274
+ };
275
+ ssid: {
276
+ writable: boolean;
277
+ type: string;
278
+ isKey: boolean;
279
+ mandatory: boolean;
280
+ collection: boolean;
281
+ private?: boolean;
282
+ depends?: string;
283
+ description?: string;
284
+ default?: any;
285
+ set?: Function;
286
+ get?: Function;
287
+ env?: string[] | string;
288
+ };
289
+ psk: {
290
+ writable: boolean;
291
+ type: string;
292
+ isKey: boolean;
293
+ mandatory: boolean;
294
+ collection: boolean;
295
+ private?: boolean;
296
+ depends?: string;
297
+ description?: string;
298
+ default?: any;
299
+ set?: Function;
300
+ get?: Function;
301
+ env?: string[] | string;
302
+ };
303
+ metric: {
304
+ writable: boolean;
305
+ default: number;
306
+ type: string;
307
+ isKey: boolean;
308
+ mandatory: boolean;
309
+ collection: boolean;
310
+ private?: boolean;
311
+ depends?: string;
312
+ description?: string;
313
+ set?: Function;
314
+ get?: Function;
315
+ env?: string[] | string;
316
+ };
317
+ mtu: {
318
+ writable: boolean;
319
+ default: number;
320
+ type: string;
321
+ isKey: boolean;
322
+ mandatory: boolean;
323
+ collection: boolean;
324
+ private?: boolean;
325
+ depends?: string;
326
+ description?: string;
327
+ set?: Function;
328
+ get?: Function;
329
+ env?: string[] | string;
330
+ };
331
+ gateway: {
332
+ type: string;
333
+ collection: boolean;
334
+ writable: boolean;
335
+ };
336
+ multicastDNS: {
337
+ writable: boolean;
338
+ type: string;
339
+ isKey: boolean;
340
+ mandatory: boolean;
341
+ collection: boolean;
342
+ private?: boolean;
343
+ depends?: string;
344
+ description?: string;
345
+ default?: any;
346
+ set?: Function;
347
+ get?: Function;
348
+ env?: string[] | string;
349
+ };
350
+ };
351
+ };
352
+ owners: string[];
353
+ extends: {
354
+ name: string;
355
+ priority: number;
356
+ owners: string[];
357
+ extends: {
358
+ name: string;
359
+ owners: any[];
360
+ properties: {
361
+ owner: {
362
+ type: string;
363
+ collection: boolean;
364
+ writable: boolean;
365
+ };
366
+ type: import("pacc").AttributeDefinition;
367
+ name: {
368
+ writable: boolean;
369
+ type: string;
370
+ isKey: boolean;
371
+ mandatory: boolean;
372
+ collection: boolean;
373
+ private?: boolean;
374
+ depends?: string;
375
+ description?: string;
376
+ default?: any;
377
+ set?: Function;
378
+ get?: Function;
379
+ env?: string[] | string;
380
+ };
381
+ description: {
382
+ writable: boolean;
383
+ type: string;
384
+ isKey: boolean;
385
+ mandatory: boolean;
386
+ collection: boolean;
387
+ private?: boolean;
388
+ depends?: string;
389
+ description?: string;
390
+ default?: any;
391
+ set?: Function;
392
+ get?: Function;
393
+ env?: string[] | string;
394
+ };
395
+ priority: {
396
+ writable: boolean;
397
+ type: string;
398
+ isKey: boolean;
399
+ mandatory: boolean;
400
+ collection: boolean;
401
+ private?: boolean;
402
+ depends?: string;
403
+ description?: string;
404
+ default?: any;
405
+ set?: Function;
406
+ get?: Function;
407
+ env?: string[] | string;
408
+ };
409
+ directory: {
410
+ writable: boolean;
411
+ type: string;
412
+ isKey: boolean;
413
+ mandatory: boolean;
414
+ collection: boolean;
415
+ private?: boolean;
416
+ depends?: string;
417
+ description?: string;
418
+ default?: any;
419
+ set?: Function;
420
+ get?: Function;
421
+ env?: string[] | string;
422
+ };
423
+ packaging: {
424
+ writable: boolean;
425
+ type: string;
426
+ isKey: boolean;
427
+ mandatory: boolean;
428
+ collection: boolean;
429
+ private?: boolean;
430
+ depends?: string;
431
+ description?: string;
432
+ default?: any;
433
+ set?: Function;
434
+ get?: Function;
435
+ env?: string[] | string;
436
+ };
437
+ disabled: import("pacc").AttributeDefinition;
438
+ tags: {
439
+ writable: boolean;
440
+ collection: boolean;
441
+ type: string;
442
+ isKey: boolean;
443
+ mandatory: boolean;
444
+ private: boolean;
445
+ depends: string;
446
+ description: string;
447
+ default: any;
448
+ set: Function;
449
+ get: Function;
450
+ env: string[] | string;
451
+ };
452
+ };
453
+ };
454
+ specializations: {};
455
+ factoryFor(owner: any, value: any): any;
456
+ properties: {
457
+ services: {
458
+ type: string;
459
+ collection: boolean;
460
+ writable: boolean;
461
+ };
462
+ hostName: {
463
+ writable: boolean;
464
+ type: string;
465
+ isKey: boolean;
466
+ mandatory: boolean;
467
+ collection: boolean;
468
+ private?: boolean;
469
+ depends?: string;
470
+ description?: string;
471
+ default?: any;
472
+ set?: Function;
473
+ get?: Function;
474
+ env?: string[] | string;
475
+ };
476
+ ipAddresses: {
477
+ writable: boolean;
478
+ type: string;
479
+ isKey: boolean;
480
+ mandatory: boolean;
481
+ collection: boolean;
482
+ private?: boolean;
483
+ depends?: string;
484
+ description?: string;
485
+ default?: any;
486
+ set?: Function;
487
+ get?: Function;
488
+ env?: string[] | string;
489
+ };
490
+ hwaddr: {
491
+ writable: boolean;
492
+ type: string;
493
+ isKey: boolean;
494
+ mandatory: boolean;
495
+ collection: boolean;
496
+ private?: boolean;
497
+ depends?: string;
498
+ description?: string;
499
+ default?: any;
500
+ set?: Function;
501
+ get?: Function;
502
+ env?: string[] | string;
503
+ };
504
+ network: {
505
+ type: string;
506
+ collection: boolean;
507
+ writable: boolean;
508
+ };
509
+ destination: {
510
+ writable: boolean;
511
+ type: string;
512
+ isKey: boolean;
513
+ mandatory: boolean;
514
+ collection: boolean;
515
+ private?: boolean;
516
+ depends?: string;
517
+ description?: string;
518
+ default?: any;
519
+ set?: Function;
520
+ get?: Function;
521
+ env?: string[] | string;
522
+ };
523
+ cidrAddresses: {
524
+ writable: boolean;
525
+ collection: boolean;
526
+ type: string;
527
+ isKey: boolean;
528
+ mandatory: boolean;
529
+ private: boolean;
530
+ depends: string;
531
+ description: string;
532
+ default: any;
533
+ set: Function;
534
+ get: Function;
535
+ env: string[] | string;
536
+ };
537
+ cidrAddress: {
538
+ writable: boolean;
539
+ type: string;
540
+ isKey: boolean;
541
+ mandatory: boolean;
542
+ collection: boolean;
543
+ private?: boolean;
544
+ depends?: string;
545
+ description?: string;
546
+ default?: any;
547
+ set?: Function;
548
+ get?: Function;
549
+ env?: string[] | string;
550
+ };
551
+ addresses: {
552
+ writable: boolean;
553
+ collection: boolean;
554
+ type: string;
555
+ isKey: boolean;
556
+ mandatory: boolean;
557
+ private: boolean;
558
+ depends: string;
559
+ description: string;
560
+ default: any;
561
+ set: Function;
562
+ get: Function;
563
+ env: string[] | string;
564
+ };
565
+ address: {
566
+ writable: boolean;
567
+ type: string;
568
+ isKey: boolean;
569
+ mandatory: boolean;
570
+ collection: boolean;
571
+ private?: boolean;
572
+ depends?: string;
573
+ description?: string;
574
+ default?: any;
575
+ set?: Function;
576
+ get?: Function;
577
+ env?: string[] | string;
578
+ };
579
+ scope: {
580
+ writable: boolean;
581
+ values: string[];
582
+ default: string;
583
+ type: string;
584
+ isKey: boolean;
585
+ mandatory: boolean;
586
+ collection: boolean;
587
+ private?: boolean;
588
+ depends?: string;
589
+ description?: string;
590
+ set?: Function;
591
+ get?: Function;
592
+ env?: string[] | string;
593
+ };
594
+ class: {
595
+ writable: boolean;
596
+ values: string[];
597
+ type: string;
598
+ isKey: boolean;
599
+ mandatory: boolean;
600
+ collection: boolean;
601
+ private?: boolean;
602
+ depends?: string;
603
+ description?: string;
604
+ default?: any;
605
+ set?: Function;
606
+ get?: Function;
607
+ env?: string[] | string;
608
+ };
609
+ kind: {
610
+ writable: boolean;
611
+ values: string[];
612
+ type: string;
613
+ isKey: boolean;
614
+ mandatory: boolean;
615
+ collection: boolean;
616
+ private?: boolean;
617
+ depends?: string;
618
+ description?: string;
619
+ default?: any;
620
+ set?: Function;
621
+ get?: Function;
622
+ env?: string[] | string;
623
+ };
624
+ ssid: {
625
+ writable: boolean;
626
+ type: string;
627
+ isKey: boolean;
628
+ mandatory: boolean;
629
+ collection: boolean;
630
+ private?: boolean;
631
+ depends?: string;
632
+ description?: string;
633
+ default?: any;
634
+ set?: Function;
635
+ get?: Function;
636
+ env?: string[] | string;
637
+ };
638
+ psk: {
639
+ writable: boolean;
640
+ type: string;
641
+ isKey: boolean;
642
+ mandatory: boolean;
643
+ collection: boolean;
644
+ private?: boolean;
645
+ depends?: string;
646
+ description?: string;
647
+ default?: any;
648
+ set?: Function;
649
+ get?: Function;
650
+ env?: string[] | string;
651
+ };
652
+ metric: {
653
+ writable: boolean;
654
+ default: number;
655
+ type: string;
656
+ isKey: boolean;
657
+ mandatory: boolean;
658
+ collection: boolean;
659
+ private?: boolean;
660
+ depends?: string;
661
+ description?: string;
662
+ set?: Function;
663
+ get?: Function;
664
+ env?: string[] | string;
665
+ };
666
+ mtu: {
667
+ writable: boolean;
668
+ default: number;
669
+ type: string;
670
+ isKey: boolean;
671
+ mandatory: boolean;
672
+ collection: boolean;
673
+ private?: boolean;
674
+ depends?: string;
675
+ description?: string;
676
+ set?: Function;
677
+ get?: Function;
678
+ env?: string[] | string;
679
+ };
680
+ gateway: {
681
+ type: string;
682
+ collection: boolean;
683
+ writable: boolean;
684
+ };
685
+ multicastDNS: {
686
+ writable: boolean;
687
+ type: string;
688
+ isKey: boolean;
689
+ mandatory: boolean;
690
+ collection: boolean;
691
+ private?: boolean;
692
+ depends?: string;
693
+ description?: string;
694
+ default?: any;
695
+ set?: Function;
696
+ get?: Function;
697
+ env?: string[] | string;
698
+ };
699
+ };
700
+ };
701
+ priority: number;
702
+ properties: {};
703
+ };
704
+ get kind(): string;
705
+ }
706
+ import { SkeletonNetworkInterface } from "./skeleton.mjs";
@@ -613,6 +613,7 @@ export class KeaService extends Service {
613
613
  "kea-ddns": {
614
614
  endpoints: {
615
615
  family: string;
616
+ kind: string;
616
617
  port: number;
617
618
  protocol: string;
618
619
  tls: boolean;