pmcf 6.7.4 → 6.8.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 CHANGED
@@ -77,26 +77,26 @@ generates config packages for:
77
77
  * [domainNames](#domainnames)
78
78
  * [InitializationContext](#initializationcontext)
79
79
  * [Parameters](#parameters-13)
80
+ * [SkeletonNetworkInterface](#skeletonnetworkinterface)
81
+ * [networkAddresses](#networkaddresses)
82
+ * [Parameters](#parameters-14)
80
83
  * [SystemdJournalRemoteService](#systemdjournalremoteservice)
81
84
  * [Properties](#properties)
82
85
  * [systemdConfigs](#systemdconfigs)
83
- * [Parameters](#parameters-14)
86
+ * [Parameters](#parameters-15)
84
87
  * [SystemdJournalUploadService](#systemdjournaluploadservice)
85
88
  * [Properties](#properties-1)
86
89
  * [systemdConfigs](#systemdconfigs-1)
87
- * [Parameters](#parameters-15)
90
+ * [Parameters](#parameters-16)
88
91
  * [NetworkAddress](#networkaddress)
89
- * [Parameters](#parameters-16)
92
+ * [Parameters](#parameters-17)
90
93
  * [subnet](#subnet)
91
94
  * [networkInterface](#networkinterface)
92
95
  * [address](#address)
93
96
  * [addresses](#addresses)
94
- * [Parameters](#parameters-17)
95
- * [cidrAddresses](#cidraddresses)
96
97
  * [Parameters](#parameters-18)
97
- * [SkeletonNetworkInterface](#skeletonnetworkinterface)
98
- * [networkAddresses](#networkaddresses)
99
- * [Parameters](#parameters-19)
98
+ * [cidrAddresses](#cidraddresses)
99
+ * [Parameters](#parameters-19)
100
100
  * [families](#families)
101
101
  * [secretName](#secretname)
102
102
  * [directHosts](#directhosts)
@@ -286,6 +286,18 @@ Keeps track of all in flight object creations and loose ends during config initi
286
286
 
287
287
  * `directory` (optional, default `"/"`)
288
288
 
289
+ ## SkeletonNetworkInterface
290
+
291
+ **Extends ServiceOwner**
292
+
293
+ ### networkAddresses
294
+
295
+ #### Parameters
296
+
297
+ * `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
298
+
299
+ Returns **Iterable<[NetworkAddress](#networkaddress)>**&#x20;
300
+
289
301
  ## SystemdJournalRemoteService
290
302
 
291
303
  **Extends CoreService**
@@ -361,18 +373,6 @@ Returns **Iterable<[string](https://developer.mozilla.org/docs/Web/JavaScript/Re
361
373
 
362
374
  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)>**&#x20;
363
375
 
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)>**&#x20;
375
-
376
376
  ## families
377
377
 
378
378
  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)>**&#x20;
package/bin/pmcf-info CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { extendingAttributeIterator } from "pacc";
2
3
  import { prepare } from "../src/cli.mjs";
3
4
 
4
5
  const { root, args, options } = await prepare({});
@@ -15,7 +16,14 @@ function show(value) {
15
16
  show(v);
16
17
  }
17
18
  } else {
18
- console.log(`${value.fullName}:`);
19
+ console.log(`${value.fullName}(${value.constructor.name}):`);
20
+
21
+ for (const [path, attribute] of extendingAttributeIterator(
22
+ value,
23
+ attribute => !attribute.private
24
+ )) {
25
+ console.log(path);
26
+ }
19
27
  ex(value);
20
28
  }
21
29
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcf",
3
- "version": "6.7.4",
3
+ "version": "6.8.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -52,8 +52,8 @@
52
52
  "dependencies": {
53
53
  "aggregated-map": "^1.0.7",
54
54
  "content-entry-transform": "^1.6.9",
55
- "ip-utilties": "^3.6.2",
56
- "npm-pkgbuild": "^20.8.1",
55
+ "ip-utilties": "^3.7.0",
56
+ "npm-pkgbuild": "^20.8.2",
57
57
  "pacc": "^10.4.1",
58
58
  "package-directory": "^8.2.0",
59
59
  "yaml": "^2.9.0"
@@ -101,7 +101,7 @@ export class NetworkInterface extends SkeletonNetworkInterface {
101
101
  }
102
102
 
103
103
  get hostName() {
104
- return this.attribute("_hostName") ?? this.host.hostName;
104
+ return this.attribute("_hostName") ?? this.host?.hostName;
105
105
  }
106
106
 
107
107
  set hostName(value) {
package/src/owner.mjs CHANGED
@@ -172,7 +172,7 @@ export class Owner extends ServiceOwner {
172
172
  }
173
173
 
174
174
  *networkAddresses(filter) {
175
- for (const host of this.hosts) {
175
+ for (const host of this.hosts.values()) {
176
176
  yield* host.networkAddresses(filter);
177
177
  }
178
178
  }
@@ -143,9 +143,13 @@ export class kea extends CoreService {
143
143
 
144
144
  const network = this.network;
145
145
  const host = this.host;
146
+
147
+ const source = host.owner;
146
148
  const name = host.name;
147
149
 
148
- const dnsServerEndpoints = serviceEndpoints(network, {
150
+ //console.log(source.fullName, [...source.hosts.keys()]);
151
+
152
+ const dnsServerEndpoints = serviceEndpoints(source, {
149
153
  services: "services[types[dns] && priority>=300]",
150
154
  endpoints: endpoint => endpoint.networkInterface?.kind !== "loopback"
151
155
  });
@@ -156,7 +160,7 @@ export class kea extends CoreService {
156
160
 
157
161
  const peers = async family =>
158
162
  Array.from(
159
- network.expression(
163
+ source.expression(
160
164
  `services[types[kea] && priority>=${Math.min(this.priority, 100)}]`
161
165
  )
162
166
  )
@@ -350,7 +354,7 @@ export class kea extends CoreService {
350
354
  const hwmap = new Map();
351
355
  const hostNames = new Set();
352
356
 
353
- for await (const { networkInterface } of network.networkAddresses()) {
357
+ for await (const { networkInterface } of source.networkAddresses()) {
354
358
  if (networkInterface.hwaddr) {
355
359
  if (!hostNames.has(networkInterface.hostName)) {
356
360
  hwmap.set(networkInterface.hwaddr, networkInterface);
@@ -379,7 +383,7 @@ export class kea extends CoreService {
379
383
  "client-classes": ["SKIP_DDNS"]
380
384
  };
381
385
  })
382
- .sort((a, b) => a.hostname.localeCompare(b.hostname));
386
+ .sort((a, b) => a.hostname?.localeCompare(b.hostname));
383
387
 
384
388
  const listenInterfaces = family =>
385
389
  this.endpoints(