pmcf 6.60.10 → 6.60.12
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 +21 -26
- package/package.json +1 -1
- package/src/core-service.mjs +1 -7
- package/src/host.mjs +5 -4
- package/src/services/kea.mjs +5 -0
- package/src/utils.mjs +2 -6
package/README.md
CHANGED
|
@@ -81,33 +81,32 @@ generates config packages for:
|
|
|
81
81
|
* [domainNames](#domainnames)
|
|
82
82
|
* [InitializationContext](#initializationcontext)
|
|
83
83
|
* [Parameters](#parameters-14)
|
|
84
|
-
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
85
|
-
* [networkAddresses](#networkaddresses)
|
|
86
|
-
* [Parameters](#parameters-15)
|
|
87
84
|
* [Interface](#interface)
|
|
88
85
|
* [zones](#zones)
|
|
89
86
|
* [addressesStatement](#addressesstatement)
|
|
90
|
-
* [Parameters](#parameters-
|
|
87
|
+
* [Parameters](#parameters-15)
|
|
91
88
|
* [SystemdJournalRemoteService](#systemdjournalremoteservice)
|
|
92
89
|
* [Properties](#properties)
|
|
93
90
|
* [systemdConfigs](#systemdconfigs)
|
|
94
|
-
* [Parameters](#parameters-
|
|
91
|
+
* [Parameters](#parameters-16)
|
|
95
92
|
* [SystemdJournalUploadService](#systemdjournaluploadservice)
|
|
96
93
|
* [Properties](#properties-1)
|
|
97
94
|
* [systemdConfigs](#systemdconfigs-1)
|
|
98
|
-
* [Parameters](#parameters-
|
|
95
|
+
* [Parameters](#parameters-17)
|
|
99
96
|
* [NetworkAddress](#networkaddress)
|
|
100
|
-
* [Parameters](#parameters-
|
|
97
|
+
* [Parameters](#parameters-18)
|
|
101
98
|
* [subnet](#subnet)
|
|
102
99
|
* [networkInterface](#networkinterface)
|
|
103
100
|
* [address](#address)
|
|
104
101
|
* [addresses](#addresses)
|
|
105
|
-
* [Parameters](#parameters-
|
|
102
|
+
* [Parameters](#parameters-19)
|
|
106
103
|
* [cidrAddresses](#cidraddresses)
|
|
107
|
-
* [Parameters](#parameters-
|
|
104
|
+
* [Parameters](#parameters-20)
|
|
105
|
+
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
106
|
+
* [networkAddresses](#networkaddresses)
|
|
107
|
+
* [Parameters](#parameters-21)
|
|
108
108
|
* [families](#families)
|
|
109
109
|
* [secretName](#secretname)
|
|
110
|
-
* [directHosts](#directhosts)
|
|
111
110
|
* [subnetForAddress](#subnetforaddress)
|
|
112
111
|
* [Parameters](#parameters-22)
|
|
113
112
|
* [ServiceType](#servicetype)
|
|
@@ -308,18 +307,6 @@ Keeps track of all in flight object creations and loose ends during config initi
|
|
|
308
307
|
|
|
309
308
|
* `directory` (optional, default `"/"`)
|
|
310
309
|
|
|
311
|
-
## SkeletonNetworkInterface
|
|
312
|
-
|
|
313
|
-
**Extends Interface**
|
|
314
|
-
|
|
315
|
-
### networkAddresses
|
|
316
|
-
|
|
317
|
-
#### Parameters
|
|
318
|
-
|
|
319
|
-
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
320
|
-
|
|
321
|
-
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
322
|
-
|
|
323
310
|
## Interface
|
|
324
311
|
|
|
325
312
|
**Extends ServiceOwner**
|
|
@@ -413,6 +400,18 @@ Returns **Iterable<[string](https://developer.mozilla.org/docs/Web/JavaScript/Re
|
|
|
413
400
|
|
|
414
401
|
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)>** 
|
|
415
402
|
|
|
403
|
+
## SkeletonNetworkInterface
|
|
404
|
+
|
|
405
|
+
**Extends Interface**
|
|
406
|
+
|
|
407
|
+
### networkAddresses
|
|
408
|
+
|
|
409
|
+
#### Parameters
|
|
410
|
+
|
|
411
|
+
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
412
|
+
|
|
413
|
+
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
414
|
+
|
|
416
415
|
## families
|
|
417
416
|
|
|
418
417
|
Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** 
|
|
@@ -421,10 +420,6 @@ Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Glob
|
|
|
421
420
|
|
|
422
421
|
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
|
|
423
422
|
|
|
424
|
-
## directHosts
|
|
425
|
-
|
|
426
|
-
hosts we own direcly.
|
|
427
|
-
|
|
428
423
|
## subnetForAddress
|
|
429
424
|
|
|
430
425
|
### Parameters
|
package/package.json
CHANGED
package/src/core-service.mjs
CHANGED
|
@@ -45,12 +45,6 @@ import {
|
|
|
45
45
|
} from "./dns-utils.mjs";
|
|
46
46
|
|
|
47
47
|
export class credential extends base {
|
|
48
|
-
static attributes = {
|
|
49
|
-
systemdCredential: {
|
|
50
|
-
...boolean_attribute_writable_false,
|
|
51
|
-
name: "systemdCredential"
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
48
|
static {
|
|
55
49
|
addType(this);
|
|
56
50
|
}
|
|
@@ -289,7 +283,7 @@ export class CoreService extends base {
|
|
|
289
283
|
const seen = new Set();
|
|
290
284
|
|
|
291
285
|
for (const [name, cred] of this.credentials) {
|
|
292
|
-
if (cred.
|
|
286
|
+
if (cred.tags.has(name) && !seen.has(name)) {
|
|
293
287
|
seen.add(name);
|
|
294
288
|
lines.push(
|
|
295
289
|
`LoadCredentialEncrypted=${name}:/etc/credstore.encrypted/${name}`
|
package/src/host.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
string_attribute_writable,
|
|
7
7
|
number_attribute_writable,
|
|
8
8
|
priority_attribute,
|
|
9
|
+
enum_string_attribute_writable,
|
|
9
10
|
asArray
|
|
10
11
|
} from "pacc";
|
|
11
12
|
import { cidrAddresses, addresses, addType, assign } from "pmcf";
|
|
@@ -26,14 +27,14 @@ export class host extends ServiceOwner {
|
|
|
26
27
|
...networkAddressAttributes,
|
|
27
28
|
networkInterfaces: networkInterfaces_attribute,
|
|
28
29
|
os: {
|
|
29
|
-
...
|
|
30
|
+
...enum_string_attribute_writable,
|
|
30
31
|
name: "os",
|
|
31
32
|
values: new Set(["osx", "windows", "linux"])
|
|
32
33
|
},
|
|
33
34
|
id: { ...string_attribute_writable, name: "id" },
|
|
34
35
|
distribution: { ...string_attribute_writable, name: "distribution" },
|
|
35
36
|
deployment: {
|
|
36
|
-
...
|
|
37
|
+
...enum_string_attribute_writable,
|
|
37
38
|
name: "deployment",
|
|
38
39
|
values: new Set(["production", "development"])
|
|
39
40
|
},
|
|
@@ -43,7 +44,7 @@ export class host extends ServiceOwner {
|
|
|
43
44
|
vendor: { ...string_attribute_writable, name: "vendor" },
|
|
44
45
|
keymap: { ...string_attribute_writable, name: "keymap" },
|
|
45
46
|
chassis: {
|
|
46
|
-
...
|
|
47
|
+
...enum_string_attribute_writable,
|
|
47
48
|
name: "chassis",
|
|
48
49
|
values: new Set([
|
|
49
50
|
"phone",
|
|
@@ -62,7 +63,7 @@ export class host extends ServiceOwner {
|
|
|
62
63
|
])
|
|
63
64
|
},
|
|
64
65
|
architecture: {
|
|
65
|
-
...
|
|
66
|
+
...enum_string_attribute_writable,
|
|
66
67
|
name: "architecture",
|
|
67
68
|
values: new Set(["x86", "x86_64", "aarch64", "armv7", "riscv"])
|
|
68
69
|
},
|
package/src/services/kea.mjs
CHANGED
|
@@ -470,8 +470,13 @@ export class kea extends CoreService {
|
|
|
470
470
|
|
|
471
471
|
const packageData = await this.preparePackage(dir);
|
|
472
472
|
|
|
473
|
+
asArray(this.keys).forEach(key => {
|
|
474
|
+
this.credentials.set(key.name, new credential(this,{name: key.name, algorithm: key.algorithm}))
|
|
475
|
+
});
|
|
476
|
+
|
|
473
477
|
await this.writeSystemdCredentialConfig(dir, "kea-dhcp4.service");
|
|
474
478
|
await this.writeSystemdCredentialConfig(dir, "kea-dhcp6.service");
|
|
479
|
+
await this.writeSystemdCredentialConfig(dir, "kea-dhcp-ddns.service");
|
|
475
480
|
|
|
476
481
|
for (const [name, data] of Object.entries({
|
|
477
482
|
"kea-dhcp-ddns": ddns,
|
package/src/utils.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { writeFile, mkdir } from "node:fs/promises";
|
|
2
2
|
import { join, dirname, basename } from "node:path";
|
|
3
|
+
import { leafValues } from "pacc";
|
|
3
4
|
|
|
4
5
|
export function yesno(flag) {
|
|
5
6
|
return flag ? "yes" : "no";
|
|
@@ -36,17 +37,12 @@ export function domainFromDominName(domainName, defaultDomain) {
|
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
export async function writeLines(dir, name, ...lines) {
|
|
39
|
-
const data = lines
|
|
40
|
-
.flat()
|
|
41
|
-
.filter(line => line !== undefined)
|
|
42
|
-
.map(l => l + "\n")
|
|
43
|
-
.join("");
|
|
44
|
-
|
|
45
40
|
const full = join(dir, name);
|
|
46
41
|
dir = dirname(full);
|
|
47
42
|
name = basename(full);
|
|
48
43
|
await mkdir(dir, { recursive: true });
|
|
49
44
|
|
|
45
|
+
const data = [...leafValues(lines)].map(l => l + "\n").join("");
|
|
50
46
|
return writeFile(join(dir, name), data, "utf8");
|
|
51
47
|
}
|
|
52
48
|
|