pmcf 4.25.18 → 4.25.20
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 +31 -16
- package/package.json +3 -3
- package/src/base.mjs +0 -2
- package/src/cluster.mjs +0 -1
- package/src/extra-source-service.mjs +0 -1
- package/src/host.mjs +0 -1
- package/src/initialization-context.mjs +8 -9
- package/src/location.mjs +0 -1
- package/src/network-interfaces/ethernet.mjs +0 -2
- package/src/network-interfaces/loopback.mjs +1 -3
- package/src/network-interfaces/network-interface.mjs +6 -8
- package/src/network-interfaces/tun.mjs +1 -3
- package/src/network-interfaces/wireguard.mjs +1 -2
- package/src/network-interfaces/wlan.mjs +1 -3
- package/src/network.mjs +0 -1
- package/src/owner.mjs +0 -1
- package/src/root.mjs +0 -1
- package/src/service.mjs +3 -4
- package/src/services/alpm.mjs +0 -2
- package/src/services/bind.mjs +0 -2
- package/src/services/chrony.mjs +0 -1
- package/src/services/headscale.mjs +0 -1
- package/src/services/influxdb.mjs +0 -1
- package/src/services/kea.mjs +0 -1
- package/src/services/mosquitto.mjs +0 -1
- package/src/services/openldap.mjs +0 -1
- package/src/services/postfix.mjs +0 -1
- package/src/services/systemd-journal-remote.mjs +0 -1
- package/src/services/systemd-journal-upload.mjs +0 -1
- package/src/services/systemd-journald.mjs +0 -1
- package/src/services/systemd-resolved.mjs +0 -1
- package/src/services/systemd-timesyncd.mjs +0 -1
- package/src/services/tailscale.mjs +0 -2
- package/src/subnet.mjs +0 -1
package/README.md
CHANGED
|
@@ -73,28 +73,31 @@ generates config packages for:
|
|
|
73
73
|
* [Parameters](#parameters-12)
|
|
74
74
|
* [port](#port-1)
|
|
75
75
|
* [id](#id)
|
|
76
|
+
* [InitializationContext](#initializationcontext)
|
|
77
|
+
* [Parameters](#parameters-13)
|
|
76
78
|
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
77
79
|
* [networkAddresses](#networkaddresses)
|
|
78
|
-
* [Parameters](#parameters-
|
|
79
|
-
* [InitializationContext](#initializationcontext)
|
|
80
|
-
* [Parameters](#parameters-14)
|
|
80
|
+
* [Parameters](#parameters-14)
|
|
81
81
|
* [SystemdJournalRemoteService](#systemdjournalremoteservice)
|
|
82
82
|
* [Properties](#properties)
|
|
83
83
|
* [systemdConfigs](#systemdconfigs)
|
|
84
|
-
* [Parameters](#parameters-
|
|
84
|
+
* [Parameters](#parameters-14)
|
|
85
85
|
* [SystemdJournalUploadService](#systemdjournaluploadservice)
|
|
86
86
|
* [Properties](#properties-1)
|
|
87
87
|
* [systemdConfigs](#systemdconfigs-1)
|
|
88
|
-
* [Parameters](#parameters-
|
|
88
|
+
* [Parameters](#parameters-15)
|
|
89
89
|
* [NetworkAddress](#networkaddress)
|
|
90
|
-
* [Parameters](#parameters-
|
|
90
|
+
* [Parameters](#parameters-16)
|
|
91
91
|
* [subnet](#subnet)
|
|
92
92
|
* [networkInterface](#networkinterface)
|
|
93
93
|
* [address](#address)
|
|
94
94
|
* [addresses](#addresses)
|
|
95
|
-
* [Parameters](#parameters-
|
|
95
|
+
* [Parameters](#parameters-17)
|
|
96
96
|
* [cidrAddresses](#cidraddresses)
|
|
97
|
-
* [Parameters](#parameters-
|
|
97
|
+
* [Parameters](#parameters-18)
|
|
98
|
+
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
99
|
+
* [networkAddresses](#networkaddresses)
|
|
100
|
+
* [Parameters](#parameters-19)
|
|
98
101
|
* [secretName](#secretname)
|
|
99
102
|
* [isTemplate](#istemplate-1)
|
|
100
103
|
* [named](#named)
|
|
@@ -263,6 +266,14 @@ Returns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/G
|
|
|
263
266
|
|
|
264
267
|
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
|
|
265
268
|
|
|
269
|
+
## InitializationContext
|
|
270
|
+
|
|
271
|
+
Keeps track of all in flight object creations and loose ends during config initialization.
|
|
272
|
+
|
|
273
|
+
### Parameters
|
|
274
|
+
|
|
275
|
+
* `directory` (optional, default `"/"`)
|
|
276
|
+
|
|
266
277
|
## SkeletonNetworkInterface
|
|
267
278
|
|
|
268
279
|
**Extends ServiceOwner**
|
|
@@ -275,14 +286,6 @@ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/G
|
|
|
275
286
|
|
|
276
287
|
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
277
288
|
|
|
278
|
-
## InitializationContext
|
|
279
|
-
|
|
280
|
-
Keeps track of all in flight object creations and loose ends during config initialization.
|
|
281
|
-
|
|
282
|
-
### Parameters
|
|
283
|
-
|
|
284
|
-
* `directory` (optional, default `"/"`)
|
|
285
|
-
|
|
286
289
|
## SystemdJournalRemoteService
|
|
287
290
|
|
|
288
291
|
**Extends Service**
|
|
@@ -358,6 +361,18 @@ Returns **Iterable<[string](https://developer.mozilla.org/docs/Web/JavaScript/Re
|
|
|
358
361
|
|
|
359
362
|
Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** 
|
|
360
363
|
|
|
364
|
+
## SkeletonNetworkInterface
|
|
365
|
+
|
|
366
|
+
**Extends ServiceOwner**
|
|
367
|
+
|
|
368
|
+
### networkAddresses
|
|
369
|
+
|
|
370
|
+
#### Parameters
|
|
371
|
+
|
|
372
|
+
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
373
|
+
|
|
374
|
+
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
375
|
+
|
|
361
376
|
## secretName
|
|
362
377
|
|
|
363
378
|
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pmcf",
|
|
3
|
-
"version": "4.25.
|
|
3
|
+
"version": "4.25.20",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
"content-entry-transform": "^1.6.9",
|
|
55
55
|
"ip-utilties": "^3.0.4",
|
|
56
56
|
"npm-pkgbuild": "^20.7.2",
|
|
57
|
-
"pacc": "^9.2.
|
|
57
|
+
"pacc": "^9.2.14",
|
|
58
58
|
"package-directory": "^8.2.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@types/node": "^25.9.
|
|
61
|
+
"@types/node": "^25.9.3",
|
|
62
62
|
"ava": "^8.0.1",
|
|
63
63
|
"c8": "^11.0.0",
|
|
64
64
|
"documentation": "^14.0.3",
|
package/src/base.mjs
CHANGED
package/src/cluster.mjs
CHANGED
package/src/host.mjs
CHANGED
|
@@ -146,7 +146,7 @@ export class InitializationContext {
|
|
|
146
146
|
this.assign(object, name, attribute, o);
|
|
147
147
|
} else {
|
|
148
148
|
if (attribute.type.constructWithIdentifierOnly) {
|
|
149
|
-
o = new attribute.type
|
|
149
|
+
o = new attribute.type(
|
|
150
150
|
object.ownerFor(attribute, value),
|
|
151
151
|
value
|
|
152
152
|
);
|
|
@@ -161,7 +161,7 @@ export class InitializationContext {
|
|
|
161
161
|
break;
|
|
162
162
|
|
|
163
163
|
case "object":
|
|
164
|
-
if (attribute.type
|
|
164
|
+
if (attribute.type && value instanceof attribute.type) {
|
|
165
165
|
this.assign(object, name, attribute, value);
|
|
166
166
|
} else {
|
|
167
167
|
this.assign(
|
|
@@ -180,7 +180,7 @@ export class InitializationContext {
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
typeFactory(type, owner, data) {
|
|
183
|
-
const factory = type.factoryFor?.(owner, data) || type
|
|
183
|
+
const factory = type.factoryFor?.(owner, data) || type;
|
|
184
184
|
const object = new factory(owner);
|
|
185
185
|
|
|
186
186
|
this.read(object, data);
|
|
@@ -244,7 +244,7 @@ export class InitializationContext {
|
|
|
244
244
|
async loadType(name, type) {
|
|
245
245
|
const data = JSON.parse(
|
|
246
246
|
await readFile(
|
|
247
|
-
join(this.directory, name, type.
|
|
247
|
+
join(this.directory, name, type.typeFileName),
|
|
248
248
|
"utf8"
|
|
249
249
|
)
|
|
250
250
|
);
|
|
@@ -262,7 +262,7 @@ export class InitializationContext {
|
|
|
262
262
|
//console.log("LOAD", [name, owner.fullName, data.name]);
|
|
263
263
|
|
|
264
264
|
const object = this.typeFactory(type, owner, data);
|
|
265
|
-
this.root.addTypeObject(type.
|
|
265
|
+
this.root.addTypeObject(type.typeName, name, object);
|
|
266
266
|
|
|
267
267
|
return object;
|
|
268
268
|
}
|
|
@@ -279,7 +279,7 @@ export class InitializationContext {
|
|
|
279
279
|
return this.loadType(name, options.type);
|
|
280
280
|
} else {
|
|
281
281
|
for (const type of Object.values(types).filter(
|
|
282
|
-
type => type?.
|
|
282
|
+
type => type?.typeFileName
|
|
283
283
|
)) {
|
|
284
284
|
try {
|
|
285
285
|
return await this.loadType(name, type);
|
|
@@ -295,9 +295,8 @@ export class InitializationContext {
|
|
|
295
295
|
for (const type of Object.values(types).sort(
|
|
296
296
|
(a, b) => b.priority - a.priority
|
|
297
297
|
)) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
for await (const name of glob("**/" + type.clazz.typeFileName, {
|
|
298
|
+
if (type.typeFileName) {
|
|
299
|
+
for await (const name of glob("**/" + type.typeFileName, {
|
|
301
300
|
cwd: this.directory
|
|
302
301
|
})) {
|
|
303
302
|
if (type === this.root.constructor) {
|
package/src/location.mjs
CHANGED
|
@@ -17,8 +17,6 @@ export class LoopbackNetworkInterface extends SkeletonNetworkInterface {
|
|
|
17
17
|
static owners = NetworkInterface.owners;
|
|
18
18
|
static key = "name";
|
|
19
19
|
|
|
20
|
-
static typeDefinition = this;
|
|
21
|
-
|
|
22
20
|
static {
|
|
23
21
|
addType(this);
|
|
24
22
|
}
|
|
@@ -28,7 +26,7 @@ export class LoopbackNetworkInterface extends SkeletonNetworkInterface {
|
|
|
28
26
|
}
|
|
29
27
|
|
|
30
28
|
get kind() {
|
|
31
|
-
return
|
|
29
|
+
return this.constructor.name;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
set scope(v) {}
|
|
@@ -22,21 +22,21 @@ export class NetworkInterface extends SkeletonNetworkInterface {
|
|
|
22
22
|
static extends = Base;
|
|
23
23
|
static specializations = {};
|
|
24
24
|
static factoryFor(owner, value) {
|
|
25
|
-
let
|
|
25
|
+
let st = this.specializations[value.kind];
|
|
26
26
|
|
|
27
27
|
//console.log("factoryFor", owner, value);
|
|
28
|
-
if (!
|
|
29
|
-
for (
|
|
30
|
-
if (
|
|
28
|
+
if (!st) {
|
|
29
|
+
for (st of Object.values(this.specializations)) {
|
|
30
|
+
if (st.isCommonName && st.isCommonName(value.name)) {
|
|
31
31
|
break;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
if (
|
|
36
|
+
if (st) {
|
|
37
37
|
delete value.type;
|
|
38
38
|
delete value.kind;
|
|
39
|
-
return
|
|
39
|
+
return st;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
return this;
|
|
@@ -61,8 +61,6 @@ export class NetworkInterface extends SkeletonNetworkInterface {
|
|
|
61
61
|
destination: string_attribute_writable
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
static typeDefinition = this;
|
|
65
|
-
|
|
66
64
|
static {
|
|
67
65
|
addType(this);
|
|
68
66
|
}
|
|
@@ -8,14 +8,12 @@ export class TUNNetworkInterface extends NetworkInterface {
|
|
|
8
8
|
static owners = NetworkInterface.owners;
|
|
9
9
|
static key = "name";
|
|
10
10
|
|
|
11
|
-
static typeDefinition = this;
|
|
12
|
-
|
|
13
11
|
static {
|
|
14
12
|
addType(this);
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
get kind() {
|
|
18
|
-
return
|
|
16
|
+
return this.constructor.name;
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
async systemdDefinitions(dir, packageData) {}
|
|
@@ -9,14 +9,13 @@ export class WireguardNetworkInterface extends SkeletonNetworkInterface {
|
|
|
9
9
|
static owners = NetworkInterface.owners;
|
|
10
10
|
static key = "name";
|
|
11
11
|
|
|
12
|
-
static typeDefinition = this;
|
|
13
12
|
|
|
14
13
|
static {
|
|
15
14
|
addType(this);
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
get kind() {
|
|
19
|
-
return
|
|
18
|
+
return this.constructor.name;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
get ipAddresses() {
|
|
@@ -21,8 +21,6 @@ export class WLANNetworkInterface extends EthernetNetworkInterface {
|
|
|
21
21
|
secretName: string_attribute_writable
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
static typeDefinition = this;
|
|
25
|
-
|
|
26
24
|
static {
|
|
27
25
|
addType(this);
|
|
28
26
|
}
|
|
@@ -36,7 +34,7 @@ export class WLANNetworkInterface extends EthernetNetworkInterface {
|
|
|
36
34
|
_secretName;
|
|
37
35
|
|
|
38
36
|
get kind() {
|
|
39
|
-
return
|
|
37
|
+
return this.constructor.name;
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
set secretName(value) {
|
package/src/network.mjs
CHANGED
package/src/owner.mjs
CHANGED
package/src/root.mjs
CHANGED
package/src/service.mjs
CHANGED
|
@@ -56,11 +56,11 @@ export class Service extends Base {
|
|
|
56
56
|
static specializations = {};
|
|
57
57
|
static factoryFor(owner, value) {
|
|
58
58
|
const type = value.type ?? value.name;
|
|
59
|
-
const
|
|
59
|
+
const st = this.specializations[type];
|
|
60
60
|
|
|
61
|
-
if (
|
|
61
|
+
if (st) {
|
|
62
62
|
delete value.type;
|
|
63
|
-
return
|
|
63
|
+
return st;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
return Service;
|
|
@@ -74,7 +74,6 @@ export class Service extends Base {
|
|
|
74
74
|
systemdService: string_attribute_writable
|
|
75
75
|
};
|
|
76
76
|
|
|
77
|
-
static typeDefinition = this;
|
|
78
77
|
|
|
79
78
|
static {
|
|
80
79
|
addType(this);
|
package/src/services/alpm.mjs
CHANGED
|
@@ -18,7 +18,6 @@ class ALPMRepository extends Base {
|
|
|
18
18
|
architectures: string_set_attribute_writable
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
static typeDefinition = this;
|
|
22
21
|
static {
|
|
23
22
|
addType(this);
|
|
24
23
|
}
|
|
@@ -42,7 +41,6 @@ export class ALPMService extends Service {
|
|
|
42
41
|
extends: ["https", "http"]
|
|
43
42
|
};
|
|
44
43
|
|
|
45
|
-
static typeDefinition = this;
|
|
46
44
|
static {
|
|
47
45
|
addType(this);
|
|
48
46
|
addServiceType(this.service, this.name);
|
package/src/services/bind.mjs
CHANGED
|
@@ -77,7 +77,6 @@ class bind_group extends Base {
|
|
|
77
77
|
minimum: { ...duration_attribute_writable, default: 60000 }
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
static typeDefinition = this;
|
|
81
80
|
static {
|
|
82
81
|
addType(this);
|
|
83
82
|
}
|
|
@@ -454,7 +453,6 @@ export class BindService extends ExtraSourceService {
|
|
|
454
453
|
}
|
|
455
454
|
};
|
|
456
455
|
|
|
457
|
-
static typeDefinition = this;
|
|
458
456
|
|
|
459
457
|
static {
|
|
460
458
|
addType(this);
|
package/src/services/chrony.mjs
CHANGED
package/src/services/kea.mjs
CHANGED
package/src/services/postfix.mjs
CHANGED