pmcf 6.60.13 → 6.60.14

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
@@ -81,30 +81,30 @@ 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)
84
87
  * [Interface](#interface)
85
88
  * [zones](#zones)
86
89
  * [addressesStatement](#addressesstatement)
87
- * [Parameters](#parameters-15)
90
+ * [Parameters](#parameters-16)
88
91
  * [SystemdJournalRemoteService](#systemdjournalremoteservice)
89
92
  * [Properties](#properties)
90
93
  * [systemdConfigs](#systemdconfigs)
91
- * [Parameters](#parameters-16)
94
+ * [Parameters](#parameters-17)
92
95
  * [SystemdJournalUploadService](#systemdjournaluploadservice)
93
96
  * [Properties](#properties-1)
94
97
  * [systemdConfigs](#systemdconfigs-1)
95
- * [Parameters](#parameters-17)
98
+ * [Parameters](#parameters-18)
96
99
  * [NetworkAddress](#networkaddress)
97
- * [Parameters](#parameters-18)
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
- * [SkeletonNetworkInterface](#skeletonnetworkinterface)
106
- * [networkAddresses](#networkaddresses)
107
- * [Parameters](#parameters-21)
106
+ * [cidrAddresses](#cidraddresses)
107
+ * [Parameters](#parameters-21)
108
108
  * [families](#families)
109
109
  * [secretName](#secretname)
110
110
  * [subnetForAddress](#subnetforaddress)
@@ -307,6 +307,18 @@ Keeps track of all in flight object creations and loose ends during config initi
307
307
 
308
308
  * `directory` (optional, default `"/"`)
309
309
 
310
+ ## SkeletonNetworkInterface
311
+
312
+ **Extends Interface**
313
+
314
+ ### networkAddresses
315
+
316
+ #### Parameters
317
+
318
+ * `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
319
+
320
+ Returns **Iterable<[NetworkAddress](#networkaddress)>**&#x20;
321
+
310
322
  ## Interface
311
323
 
312
324
  **Extends ServiceOwner**
@@ -400,18 +412,6 @@ Returns **Iterable<[string](https://developer.mozilla.org/docs/Web/JavaScript/Re
400
412
 
401
413
  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;
402
414
 
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)>**&#x20;
414
-
415
415
  ## families
416
416
 
417
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)>**&#x20;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcf",
3
- "version": "6.60.13",
3
+ "version": "6.60.14",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -458,3 +458,7 @@ export function endpointAddresses(entries) {
458
458
  )
459
459
  .map(e => e.networkAddress.address);
460
460
  }
461
+
462
+ export function systemdCredentialFileName(serviceName, credentialName) {
463
+ return `/run/credentials/${serviceName}/${credentialName}`;
464
+ }
@@ -21,7 +21,8 @@ import {
21
21
  CoreService,
22
22
  Endpoint,
23
23
  sortDescendingByPriority,
24
- bind_key
24
+ bind_key,
25
+ systemdCredentialFileName
25
26
  } from "pmcf";
26
27
  import { FAMILY_UNIX, PROTOCOL_TCP } from "../constants.mjs";
27
28
  import { writeLines } from "../utils.mjs";
@@ -41,6 +42,8 @@ class kea_subnet extends Subnet {
41
42
  pool = [];
42
43
  }
43
44
 
45
+ const SCOPE_KEA = "kea";
46
+
44
47
  export class kea extends CoreService {
45
48
  static attributes = {
46
49
  subnets: {
@@ -69,31 +72,31 @@ export class kea extends CoreService {
69
72
  "ddns-send-updates": {
70
73
  ...boolean_attribute_writable_true,
71
74
  name: "ddns-send-updates",
72
- configurable: true
75
+ scope: SCOPE_KEA
73
76
  },
74
77
  "renew-timer": {
75
78
  ...number_attribute_writable,
76
79
  name: "renew-timer",
77
- configurable: true,
80
+ scope: SCOPE_KEA,
78
81
  default: 900
79
82
  },
80
83
  "rebind-timer": {
81
84
  ...number_attribute_writable,
82
85
  name: "rebind-timer",
83
- configurable: true,
86
+ scope: SCOPE_KEA,
84
87
  default: 1800
85
88
  },
86
89
  "valid-lifetime": {
87
90
  ...number_attribute_writable,
88
91
  name: "valid-lifetime",
89
92
  mandatory: true,
90
- configurable: true,
93
+ scope: SCOPE_KEA,
91
94
  default: 86400
92
95
  },
93
96
  "ddns-conflict-resolution-mode": {
94
97
  ...string_attribute_writable,
95
98
  name: "ddns-conflict-resolution-mode",
96
- configurable: true
99
+ scope: SCOPE_KEA
97
100
  //values: new Set(["check-exists-with-dhcid","no-check-with-dhcid"])
98
101
  }
99
102
  };
@@ -299,7 +302,8 @@ export class kea extends CoreService {
299
302
 
300
303
  for (const [path, attribute] of extendingAttributeIterator(
301
304
  this.constructor,
302
- attribute => attribute.configurable && this[attribute.name] !== undefined
305
+ attribute =>
306
+ attribute.scope === SCOPE_KEA && this[attribute.name] !== undefined
303
307
  )) {
304
308
  const name = path.join(".");
305
309
  cfg[name] = this[name];
@@ -358,7 +362,10 @@ export class kea extends CoreService {
358
362
  return {
359
363
  name: key.name,
360
364
  algorithm: key.algorithm,
361
- "secret-file": `/run/credentials/kea-dhcp-ddns.service/kea.${key.name}.tsig`
365
+ "secret-file": systemdCredentialFileName(
366
+ "kea-dhcp-ddns.service",
367
+ `key.${key.name}.tsig`
368
+ )
362
369
  };
363
370
  }),
364
371
  "forward-ddns": {