pmcf 6.40.7 → 6.41.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/README.md +21 -21
- package/package.json +1 -1
- package/src/core-service.mjs +22 -1
- package/src/host.mjs +1 -1
- package/src/services/bind.mjs +5 -14
- package/src/services/kea.mjs +23 -6
- package/src/subnet.mjs +1 -1
package/README.md
CHANGED
|
@@ -82,29 +82,29 @@ generates config packages for:
|
|
|
82
82
|
* [domainNames](#domainnames)
|
|
83
83
|
* [InitializationContext](#initializationcontext)
|
|
84
84
|
* [Parameters](#parameters-14)
|
|
85
|
+
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
86
|
+
* [networkAddresses](#networkaddresses)
|
|
87
|
+
* [Parameters](#parameters-15)
|
|
85
88
|
* [zones](#zones)
|
|
86
89
|
* [addressesStatement](#addressesstatement)
|
|
87
|
-
* [Parameters](#parameters-
|
|
90
|
+
* [Parameters](#parameters-16)
|
|
88
91
|
* [SystemdJournalRemoteService](#systemdjournalremoteservice)
|
|
89
92
|
* [Properties](#properties)
|
|
90
93
|
* [systemdConfigs](#systemdconfigs)
|
|
91
|
-
* [Parameters](#parameters-
|
|
94
|
+
* [Parameters](#parameters-17)
|
|
92
95
|
* [SystemdJournalUploadService](#systemdjournaluploadservice)
|
|
93
96
|
* [Properties](#properties-1)
|
|
94
97
|
* [systemdConfigs](#systemdconfigs-1)
|
|
95
|
-
* [Parameters](#parameters-
|
|
98
|
+
* [Parameters](#parameters-18)
|
|
96
99
|
* [NetworkAddress](#networkaddress)
|
|
97
|
-
* [Parameters](#parameters-
|
|
100
|
+
* [Parameters](#parameters-19)
|
|
98
101
|
* [subnet](#subnet)
|
|
99
102
|
* [networkInterface](#networkinterface)
|
|
100
103
|
* [address](#address)
|
|
101
104
|
* [addresses](#addresses)
|
|
102
|
-
* [Parameters](#parameters-19)
|
|
103
|
-
* [cidrAddresses](#cidraddresses)
|
|
104
105
|
* [Parameters](#parameters-20)
|
|
105
|
-
* [
|
|
106
|
-
* [
|
|
107
|
-
* [Parameters](#parameters-21)
|
|
106
|
+
* [cidrAddresses](#cidraddresses)
|
|
107
|
+
* [Parameters](#parameters-21)
|
|
108
108
|
* [families](#families)
|
|
109
109
|
* [secretName](#secretname)
|
|
110
110
|
* [directHosts](#directhosts)
|
|
@@ -309,6 +309,18 @@ Keeps track of all in flight object creations and loose ends during config initi
|
|
|
309
309
|
|
|
310
310
|
* `directory` (optional, default `"/"`)
|
|
311
311
|
|
|
312
|
+
## SkeletonNetworkInterface
|
|
313
|
+
|
|
314
|
+
**Extends ServiceOwner**
|
|
315
|
+
|
|
316
|
+
### networkAddresses
|
|
317
|
+
|
|
318
|
+
#### Parameters
|
|
319
|
+
|
|
320
|
+
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
321
|
+
|
|
322
|
+
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
323
|
+
|
|
312
324
|
## zones
|
|
313
325
|
|
|
314
326
|
Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<bind\_zone>
|
|
@@ -399,18 +411,6 @@ Returns **Iterable<[string](https://developer.mozilla.org/docs/Web/JavaScript/Re
|
|
|
399
411
|
|
|
400
412
|
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)>** 
|
|
401
413
|
|
|
402
|
-
## SkeletonNetworkInterface
|
|
403
|
-
|
|
404
|
-
**Extends ServiceOwner**
|
|
405
|
-
|
|
406
|
-
### networkAddresses
|
|
407
|
-
|
|
408
|
-
#### Parameters
|
|
409
|
-
|
|
410
|
-
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
411
|
-
|
|
412
|
-
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
413
|
-
|
|
414
414
|
## families
|
|
415
415
|
|
|
416
416
|
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)>** 
|
package/package.json
CHANGED
package/src/core-service.mjs
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
FAMILY_IPV4,
|
|
3
|
+
FAMILY_IPV6,
|
|
4
|
+
ADDRESS_TYPE_LOOPBACK,
|
|
5
|
+
addressType
|
|
6
|
+
} from "ip-utilties";
|
|
2
7
|
import {
|
|
3
8
|
string_attribute_writable,
|
|
4
9
|
number_attribute_writable,
|
|
@@ -380,3 +385,19 @@ export function serviceEndpoints(sources, options = {}) {
|
|
|
380
385
|
|
|
381
386
|
return options.join ? res.join(options.join) : res;
|
|
382
387
|
}
|
|
388
|
+
|
|
389
|
+
export function endpoints(entries) {
|
|
390
|
+
return asArray(entries)
|
|
391
|
+
.map(e => e.endpoints())
|
|
392
|
+
.flat();
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
export function endpointAddresses(entries) {
|
|
396
|
+
return endpoints(entries)
|
|
397
|
+
.filter(
|
|
398
|
+
e =>
|
|
399
|
+
e.networkAddress &&
|
|
400
|
+
addressType(e.networkAddress.address) !== ADDRESS_TYPE_LOOPBACK
|
|
401
|
+
)
|
|
402
|
+
.map(e => e.networkAddress.address);
|
|
403
|
+
}
|
package/src/host.mjs
CHANGED
|
@@ -314,7 +314,7 @@ export class Host extends ServiceOwner {
|
|
|
314
314
|
const packageData = await this.packageData;
|
|
315
315
|
|
|
316
316
|
packageData.sources.push(
|
|
317
|
-
await Array.fromAsync(this.templateContent()),
|
|
317
|
+
...await Array.fromAsync(this.templateContent()),
|
|
318
318
|
new FileContentProvider({
|
|
319
319
|
dir,
|
|
320
320
|
pattern: ["**/*", "**/.ssh/*"],
|
package/src/services/bind.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { createHmac } from "node:crypto";
|
|
3
3
|
import { FileContentProvider } from "npm-pkgbuild";
|
|
4
|
-
import { reverseArpa
|
|
4
|
+
import { reverseArpa } from "ip-utilties";
|
|
5
5
|
import {
|
|
6
6
|
default_collection_attribute,
|
|
7
7
|
default_collection_attribute_writable,
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
base,
|
|
23
23
|
CoreService,
|
|
24
24
|
Endpoint,
|
|
25
|
+
endpointAddresses,
|
|
25
26
|
addresses,
|
|
26
27
|
networkAddressType,
|
|
27
28
|
addType,
|
|
@@ -649,18 +650,6 @@ class bind_view extends bind_object {
|
|
|
649
650
|
}
|
|
650
651
|
}
|
|
651
652
|
|
|
652
|
-
function endpointAddresses(entries) {
|
|
653
|
-
return asArray(entries)
|
|
654
|
-
.map(e => e.endpoints())
|
|
655
|
-
.flat()
|
|
656
|
-
.filter(
|
|
657
|
-
e =>
|
|
658
|
-
e.networkAddress &&
|
|
659
|
-
addressType(e.networkAddress.address) !== ADDRESS_TYPE_LOOPBACK
|
|
660
|
-
)
|
|
661
|
-
.map(e => e.networkAddress.address);
|
|
662
|
-
}
|
|
663
|
-
|
|
664
653
|
/**
|
|
665
654
|
*
|
|
666
655
|
* @param {string} prefix
|
|
@@ -804,7 +793,9 @@ export class bind extends CoreService {
|
|
|
804
793
|
async *preparePackages(dir) {
|
|
805
794
|
const packageData = await this.packageData;
|
|
806
795
|
|
|
807
|
-
packageData.sources
|
|
796
|
+
packageData.sources.push(
|
|
797
|
+
...(await Array.fromAsync(this.templateContent()))
|
|
798
|
+
);
|
|
808
799
|
|
|
809
800
|
let hasContent = packageData.sources.length > 0;
|
|
810
801
|
|
package/src/services/kea.mjs
CHANGED
|
@@ -10,13 +10,16 @@ import {
|
|
|
10
10
|
string_attribute_writable,
|
|
11
11
|
number_attribute_writable,
|
|
12
12
|
boolean_attribute_writable_true,
|
|
13
|
+
default_collection_attribute_writable,
|
|
13
14
|
extendingAttributeIterator
|
|
14
15
|
} from "pacc";
|
|
15
16
|
import {
|
|
16
17
|
addType,
|
|
17
18
|
CoreService,
|
|
19
|
+
Endpoint,
|
|
20
|
+
endpointAddresses,
|
|
18
21
|
sortDescendingByPriority,
|
|
19
|
-
|
|
22
|
+
endpoints,
|
|
20
23
|
SUBNET_LOCALHOST_IPV4,
|
|
21
24
|
SUBNET_LOCALHOST_IPV6,
|
|
22
25
|
FAMILY_UNIX
|
|
@@ -25,6 +28,12 @@ import { writeLines } from "../utils.mjs";
|
|
|
25
28
|
|
|
26
29
|
export class kea extends CoreService {
|
|
27
30
|
static attributes = {
|
|
31
|
+
dnsServers: {
|
|
32
|
+
...default_collection_attribute_writable,
|
|
33
|
+
type: Endpoint,
|
|
34
|
+
name: "dnsServers",
|
|
35
|
+
deferredExpression: true
|
|
36
|
+
},
|
|
28
37
|
"ddns-send-updates": {
|
|
29
38
|
...boolean_attribute_writable_true,
|
|
30
39
|
name: "ddns-send-updates",
|
|
@@ -146,14 +155,22 @@ export class kea extends CoreService {
|
|
|
146
155
|
|
|
147
156
|
//console.log(source.fullName, [...source.hosts.keys()]);
|
|
148
157
|
|
|
149
|
-
const dnsServerEndpoints =
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
});
|
|
158
|
+
const dnsServerEndpoints = endpoints(this.dnsServers).filter(
|
|
159
|
+
e => e.networkInterface?.kind !== "loopback"
|
|
160
|
+
);
|
|
153
161
|
|
|
154
162
|
const packageData = await this.packageData;
|
|
155
163
|
|
|
156
|
-
packageData.sources.push(
|
|
164
|
+
packageData.sources.push(
|
|
165
|
+
...(await Array.fromAsync(this.templateContent()))
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
packageData.sources.push(
|
|
169
|
+
new FileContentProvider({
|
|
170
|
+
dir: dir + "/",
|
|
171
|
+
permissions: this.content?.permissions
|
|
172
|
+
})
|
|
173
|
+
);
|
|
157
174
|
|
|
158
175
|
const peers = async family =>
|
|
159
176
|
Array.from(
|
package/src/subnet.mjs
CHANGED