pmcf 2.71.14 → 2.72.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcf",
3
- "version": "2.71.14",
3
+ "version": "2.72.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -52,11 +52,11 @@
52
52
  "dependencies": {
53
53
  "ip-utilties": "^1.4.7",
54
54
  "npm-pkgbuild": "^18.2.12",
55
- "pacc": "^3.4.7",
55
+ "pacc": "^3.4.8",
56
56
  "pkg-dir": "^8.0.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@types/node": "^24.0.3",
59
+ "@types/node": "^24.0.4",
60
60
  "ava": "^6.4.0",
61
61
  "c8": "^10.1.3",
62
62
  "documentation": "^14.0.3",
@@ -64,7 +64,7 @@
64
64
  "typescript": "^5.8.3"
65
65
  },
66
66
  "engines": {
67
- "node": ">=22.16.0"
67
+ "node": ">=22.17.0"
68
68
  },
69
69
  "repository": {
70
70
  "type": "git",
package/src/base.mjs CHANGED
@@ -16,16 +16,16 @@ const BaseTypeDefinition = {
16
16
  identifier: true,
17
17
  writeable: true
18
18
  },
19
- /* fullName: {
20
- type: "string",
21
- collection: false,
22
- identifier: true,
23
- writeable: false
24
- },*/
25
19
  description: { type: "string", collection: false, writeable: true },
26
20
  priority: { type: "number", collection: false, writeable: true },
27
21
  directory: { type: "string", collection: false, writeable: false },
28
22
  packaging: { type: "string", collection: false, writeable: true },
23
+ disabled: {
24
+ type: "boolean",
25
+ collection: false,
26
+ writeable: true,
27
+ default: false
28
+ },
29
29
  tags: { type: "string", collection: true, writeable: true }
30
30
  }
31
31
  };
@@ -189,10 +189,14 @@ export class NetworkInterface extends SkeletonNetworkInterface {
189
189
  const networkDir = join(packageData.dir, "etc/systemd/network");
190
190
 
191
191
  if (this.name !== "eth0" && this.hwaddr) {
192
+ const disabled = {};
193
+ if(this.disabled) {
194
+ disabled.Unmanaged = "yes";
195
+ }
192
196
  await writeLines(networkDir, `${this.name}.link`, [
193
197
  sectionLines("Match", { MACAddress: this.hwaddr }),
194
198
  "",
195
- sectionLines("Link", { Name: this.name })
199
+ sectionLines("Link", { Name: this.name, ...disabled })
196
200
  ]);
197
201
  }
198
202
 
@@ -249,6 +253,10 @@ export class NetworkInterface extends SkeletonNetworkInterface {
249
253
  networkSections.push("", sectionLines("Link", { Promiscuous: "yes" }));
250
254
  }
251
255
 
252
- await writeLines(networkDir, `${this.name}.network`, networkSections);
256
+ await writeLines(
257
+ networkDir,
258
+ `${this.name}.network${this.disabled ? ".disabled" : ""}`,
259
+ networkSections
260
+ );
253
261
  }
254
262
  }
@@ -117,7 +117,6 @@ export class ChronyService extends ExtraSourceService {
117
117
  [...this.subnets].map(s => `allow ${s.address}`),
118
118
  "cmdratelimit interval -4 burst 16",
119
119
  [...this.subnets].map(s => `cmdallow ${s.address}`)
120
- //this.endpoints(e=>e.type === "ntp" && e.networkInterface.kind=='loopback').map(endpoint=>`alllow ${endpoint.address}`)
121
120
  ];
122
121
 
123
122
  await writeLines(join(dir, "etc"), "chrony.conf", lines);
package/types/base.d.mts CHANGED
@@ -44,6 +44,12 @@ export class Base {
44
44
  collection: boolean;
45
45
  writeable: boolean;
46
46
  };
47
+ disabled: {
48
+ type: string;
49
+ collection: boolean;
50
+ writeable: boolean;
51
+ default: boolean;
52
+ };
47
53
  tags: {
48
54
  type: string;
49
55
  collection: boolean;
@@ -45,6 +45,12 @@ export class Cluster extends Host {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -178,6 +184,12 @@ export class Cluster extends Host {
178
184
  collection: boolean;
179
185
  writeable: boolean;
180
186
  };
187
+ disabled: {
188
+ type: string;
189
+ collection: boolean;
190
+ writeable: boolean;
191
+ default: boolean;
192
+ };
181
193
  tags: {
182
194
  type: string;
183
195
  collection: boolean;
@@ -59,6 +59,12 @@ export class ExtraSourceService extends Service {
59
59
  collection: boolean;
60
60
  writeable: boolean;
61
61
  };
62
+ disabled: {
63
+ type: string;
64
+ collection: boolean;
65
+ writeable: boolean;
66
+ default: boolean;
67
+ };
62
68
  tags: {
63
69
  type: string;
64
70
  collection: boolean;
package/types/host.d.mts CHANGED
@@ -43,6 +43,12 @@ export class Host extends ServiceOwner {
43
43
  collection: boolean;
44
44
  writeable: boolean;
45
45
  };
46
+ disabled: {
47
+ type: string;
48
+ collection: boolean;
49
+ writeable: boolean;
50
+ default: boolean;
51
+ };
46
52
  tags: {
47
53
  type: string;
48
54
  collection: boolean;
@@ -45,6 +45,12 @@ export class Location extends Owner {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -178,6 +184,12 @@ export class Location extends Owner {
178
184
  collection: boolean;
179
185
  writeable: boolean;
180
186
  };
187
+ disabled: {
188
+ type: string;
189
+ collection: boolean;
190
+ writeable: boolean;
191
+ default: boolean;
192
+ };
181
193
  tags: {
182
194
  type: string;
183
195
  collection: boolean;
@@ -59,6 +59,12 @@ export class EthernetNetworkInterface extends NetworkInterface {
59
59
  collection: boolean;
60
60
  writeable: boolean;
61
61
  };
62
+ disabled: {
63
+ type: string;
64
+ collection: boolean;
65
+ writeable: boolean;
66
+ default: boolean;
67
+ };
62
68
  tags: {
63
69
  type: string;
64
70
  collection: boolean;
@@ -218,6 +224,12 @@ export class EthernetNetworkInterface extends NetworkInterface {
218
224
  collection: boolean;
219
225
  writeable: boolean;
220
226
  };
227
+ disabled: {
228
+ type: string;
229
+ collection: boolean;
230
+ writeable: boolean;
231
+ default: boolean;
232
+ };
221
233
  tags: {
222
234
  type: string;
223
235
  collection: boolean;
@@ -45,6 +45,12 @@ export class LoopbackNetworkInterface extends SkeletonNetworkInterface {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -204,6 +210,12 @@ export class LoopbackNetworkInterface extends SkeletonNetworkInterface {
204
210
  collection: boolean;
205
211
  writeable: boolean;
206
212
  };
213
+ disabled: {
214
+ type: string;
215
+ collection: boolean;
216
+ writeable: boolean;
217
+ default: boolean;
218
+ };
207
219
  tags: {
208
220
  type: string;
209
221
  collection: boolean;
@@ -42,6 +42,12 @@ export namespace NetworkInterfaceTypeDefinition {
42
42
  collection: boolean;
43
43
  writeable: boolean;
44
44
  };
45
+ disabled: {
46
+ type: string;
47
+ collection: boolean;
48
+ writeable: boolean;
49
+ default: boolean;
50
+ };
45
51
  tags: {
46
52
  type: string;
47
53
  collection: boolean;
@@ -202,6 +208,12 @@ export class NetworkInterface extends SkeletonNetworkInterface {
202
208
  collection: boolean;
203
209
  writeable: boolean;
204
210
  };
211
+ disabled: {
212
+ type: string;
213
+ collection: boolean;
214
+ writeable: boolean;
215
+ default: boolean;
216
+ };
205
217
  tags: {
206
218
  type: string;
207
219
  collection: boolean;
@@ -45,6 +45,12 @@ export class WireguardNetworkInterface extends SkeletonNetworkInterface {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -204,6 +210,12 @@ export class WireguardNetworkInterface extends SkeletonNetworkInterface {
204
210
  collection: boolean;
205
211
  writeable: boolean;
206
212
  };
213
+ disabled: {
214
+ type: string;
215
+ collection: boolean;
216
+ writeable: boolean;
217
+ default: boolean;
218
+ };
207
219
  tags: {
208
220
  type: string;
209
221
  collection: boolean;
@@ -45,6 +45,12 @@ export class WLANNetworkInterface extends EthernetNetworkInterface {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -206,6 +212,12 @@ export class WLANNetworkInterface extends EthernetNetworkInterface {
206
212
  collection: boolean;
207
213
  writeable: boolean;
208
214
  };
215
+ disabled: {
216
+ type: string;
217
+ collection: boolean;
218
+ writeable: boolean;
219
+ default: boolean;
220
+ };
209
221
  tags: {
210
222
  type: string;
211
223
  collection: boolean;
@@ -365,6 +377,12 @@ export class WLANNetworkInterface extends EthernetNetworkInterface {
365
377
  collection: boolean;
366
378
  writeable: boolean;
367
379
  };
380
+ disabled: {
381
+ type: string;
382
+ collection: boolean;
383
+ writeable: boolean;
384
+ default: boolean;
385
+ };
368
386
  tags: {
369
387
  type: string;
370
388
  collection: boolean;
@@ -47,6 +47,12 @@ export class Network extends Owner {
47
47
  collection: boolean;
48
48
  writeable: boolean;
49
49
  };
50
+ disabled: {
51
+ type: string;
52
+ collection: boolean;
53
+ writeable: boolean;
54
+ default: boolean;
55
+ };
50
56
  tags: {
51
57
  type: string;
52
58
  collection: boolean;
package/types/owner.d.mts CHANGED
@@ -43,6 +43,12 @@ export class Owner extends Base {
43
43
  collection: boolean;
44
44
  writeable: boolean;
45
45
  };
46
+ disabled: {
47
+ type: string;
48
+ collection: boolean;
49
+ writeable: boolean;
50
+ default: boolean;
51
+ };
46
52
  tags: {
47
53
  type: string;
48
54
  collection: boolean;
package/types/root.d.mts CHANGED
@@ -49,6 +49,12 @@ export class Root extends Location {
49
49
  collection: boolean;
50
50
  writeable: boolean;
51
51
  };
52
+ disabled: {
53
+ type: string;
54
+ collection: boolean;
55
+ writeable: boolean;
56
+ default: boolean;
57
+ };
52
58
  tags: {
53
59
  type: string;
54
60
  collection: boolean;
@@ -182,6 +188,12 @@ export class Root extends Location {
182
188
  collection: boolean;
183
189
  writeable: boolean;
184
190
  };
191
+ disabled: {
192
+ type: string;
193
+ collection: boolean;
194
+ writeable: boolean;
195
+ default: boolean;
196
+ };
185
197
  tags: {
186
198
  type: string;
187
199
  collection: boolean;
@@ -113,6 +113,12 @@ export namespace ServiceTypeDefinition {
113
113
  collection: boolean;
114
114
  writeable: boolean;
115
115
  };
116
+ disabled: {
117
+ type: string;
118
+ collection: boolean;
119
+ writeable: boolean;
120
+ default: boolean;
121
+ };
116
122
  tags: {
117
123
  type: string;
118
124
  collection: boolean;
@@ -240,6 +246,12 @@ export class Service extends Base {
240
246
  collection: boolean;
241
247
  writeable: boolean;
242
248
  };
249
+ disabled: {
250
+ type: string;
251
+ collection: boolean;
252
+ writeable: boolean;
253
+ default: boolean;
254
+ };
243
255
  tags: {
244
256
  type: string;
245
257
  collection: boolean;
@@ -45,6 +45,12 @@ export class BindService extends ExtraSourceService {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -173,6 +179,12 @@ export class BindService extends ExtraSourceService {
173
179
  collection: boolean;
174
180
  writeable: boolean;
175
181
  };
182
+ disabled: {
183
+ type: string;
184
+ collection: boolean;
185
+ writeable: boolean;
186
+ default: boolean;
187
+ };
176
188
  tags: {
177
189
  type: string;
178
190
  collection: boolean;
@@ -45,6 +45,12 @@ export class ChronyService extends ExtraSourceService {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -173,6 +179,12 @@ export class ChronyService extends ExtraSourceService {
173
179
  collection: boolean;
174
180
  writeable: boolean;
175
181
  };
182
+ disabled: {
183
+ type: string;
184
+ collection: boolean;
185
+ writeable: boolean;
186
+ default: boolean;
187
+ };
176
188
  tags: {
177
189
  type: string;
178
190
  collection: boolean;
@@ -45,6 +45,12 @@ export class InfluxdbService extends Service {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class InfluxdbService extends Service {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -46,6 +46,12 @@ export class KeaService extends Service {
46
46
  collection: boolean;
47
47
  writeable: boolean;
48
48
  };
49
+ disabled: {
50
+ type: string;
51
+ collection: boolean;
52
+ writeable: boolean;
53
+ default: boolean;
54
+ };
49
55
  tags: {
50
56
  type: string;
51
57
  collection: boolean;
@@ -171,6 +177,12 @@ export class KeaService extends Service {
171
177
  collection: boolean;
172
178
  writeable: boolean;
173
179
  };
180
+ disabled: {
181
+ type: string;
182
+ collection: boolean;
183
+ writeable: boolean;
184
+ default: boolean;
185
+ };
174
186
  tags: {
175
187
  type: string;
176
188
  collection: boolean;
@@ -45,6 +45,12 @@ export class MosquittoService extends Service {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class MosquittoService extends Service {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -45,6 +45,12 @@ export class OpenLDAPService extends Service {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class OpenLDAPService extends Service {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -45,6 +45,12 @@ export class SystemdJournalRemoteService extends Service {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class SystemdJournalRemoteService extends Service {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -45,6 +45,12 @@ export class SystemdJournalUploadService extends Service {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class SystemdJournalUploadService extends Service {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -45,6 +45,12 @@ export class SystemdJournalService extends Service {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class SystemdJournalService extends Service {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -45,6 +45,12 @@ export class SystemdResolvedService extends ExtraSourceService {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class SystemdResolvedService extends ExtraSourceService {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;
@@ -45,6 +45,12 @@ export class SystemdTimesyncdService extends ExtraSourceService {
45
45
  collection: boolean;
46
46
  writeable: boolean;
47
47
  };
48
+ disabled: {
49
+ type: string;
50
+ collection: boolean;
51
+ writeable: boolean;
52
+ default: boolean;
53
+ };
48
54
  tags: {
49
55
  type: string;
50
56
  collection: boolean;
@@ -170,6 +176,12 @@ export class SystemdTimesyncdService extends ExtraSourceService {
170
176
  collection: boolean;
171
177
  writeable: boolean;
172
178
  };
179
+ disabled: {
180
+ type: string;
181
+ collection: boolean;
182
+ writeable: boolean;
183
+ default: boolean;
184
+ };
173
185
  tags: {
174
186
  type: string;
175
187
  collection: boolean;