pmcf 4.19.1 → 4.20.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.
Files changed (82) hide show
  1. package/README.md +93 -72
  2. package/bin/pmcf-diagram +1 -1
  3. package/package.json +19 -19
  4. package/src/base.mjs +24 -237
  5. package/src/cli.mjs +4 -4
  6. package/src/cluster.mjs +15 -13
  7. package/src/extra-source-service.mjs +7 -10
  8. package/src/host.mjs +30 -44
  9. package/src/initialization-context.mjs +324 -0
  10. package/src/location.mjs +4 -14
  11. package/src/module.mjs +1 -0
  12. package/src/network-interfaces/ethernet.mjs +3 -5
  13. package/src/network-interfaces/loopback.mjs +2 -4
  14. package/src/network-interfaces/network-interface.mjs +3 -5
  15. package/src/network-interfaces/skeleton.mjs +9 -3
  16. package/src/network-interfaces/tun.mjs +2 -4
  17. package/src/network-interfaces/wireguard.mjs +3 -5
  18. package/src/network-interfaces/wlan.mjs +4 -7
  19. package/src/network.mjs +10 -8
  20. package/src/owner.mjs +8 -32
  21. package/src/root.mjs +4 -73
  22. package/src/service-owner.mjs +19 -18
  23. package/src/service.mjs +13 -18
  24. package/src/services/alpm.mjs +4 -9
  25. package/src/services/bind.mjs +424 -388
  26. package/src/services/chrony.mjs +3 -5
  27. package/src/services/headscale.mjs +2 -4
  28. package/src/services/influxdb.mjs +2 -4
  29. package/src/services/kea.mjs +6 -10
  30. package/src/services/mosquitto.mjs +2 -4
  31. package/src/services/openldap.mjs +2 -4
  32. package/src/services/postfix.mjs +2 -4
  33. package/src/services/systemd-journal-remote.mjs +2 -4
  34. package/src/services/systemd-journal-upload.mjs +9 -10
  35. package/src/services/systemd-journald.mjs +2 -4
  36. package/src/services/systemd-resolved.mjs +42 -42
  37. package/src/services/systemd-timesyncd.mjs +9 -13
  38. package/src/services/tailscale.mjs +5 -2
  39. package/src/subnet.mjs +9 -5
  40. package/types/base.d.mts +0 -179
  41. package/types/cli.d.mts +0 -10
  42. package/types/cluster.d.mts +0 -507
  43. package/types/dns-utils.d.mts +0 -14
  44. package/types/endpoint.d.mts +0 -79
  45. package/types/extra-source-service.d.mts +0 -1033
  46. package/types/hooks.d.mts +0 -2
  47. package/types/host-utils.d.mts +0 -1
  48. package/types/host.d.mts +0 -285
  49. package/types/location.d.mts +0 -379
  50. package/types/module.d.mts +0 -36
  51. package/types/network-address.d.mts +0 -41
  52. package/types/network-interfaces/ethernet.d.mts +0 -1189
  53. package/types/network-interfaces/loopback.d.mts +0 -1140
  54. package/types/network-interfaces/network-interface.d.mts +0 -1158
  55. package/types/network-interfaces/skeleton.d.mts +0 -30
  56. package/types/network-interfaces/tun.d.mts +0 -1131
  57. package/types/network-interfaces/wireguard.d.mts +0 -1131
  58. package/types/network-interfaces/wlan.d.mts +0 -1734
  59. package/types/network-support.d.mts +0 -193
  60. package/types/network.d.mts +0 -702
  61. package/types/owner.d.mts +0 -235
  62. package/types/root.d.mts +0 -10
  63. package/types/service-owner.d.mts +0 -14
  64. package/types/service-types.d.mts +0 -246
  65. package/types/service.d.mts +0 -689
  66. package/types/services/alpm.d.mts +0 -805
  67. package/types/services/bind.d.mts +0 -1574
  68. package/types/services/chrony.d.mts +0 -1310
  69. package/types/services/headscale.d.mts +0 -801
  70. package/types/services/influxdb.d.mts +0 -812
  71. package/types/services/kea.d.mts +0 -945
  72. package/types/services/mosquitto.d.mts +0 -876
  73. package/types/services/openldap.d.mts +0 -793
  74. package/types/services/postfix.d.mts +0 -784
  75. package/types/services/systemd-journal-remote.d.mts +0 -1030
  76. package/types/services/systemd-journal-upload.d.mts +0 -932
  77. package/types/services/systemd-journald.d.mts +0 -1317
  78. package/types/services/systemd-resolved.d.mts +0 -1644
  79. package/types/services/systemd-timesyncd.d.mts +0 -1459
  80. package/types/services/tailscale.d.mts +0 -781
  81. package/types/subnet.d.mts +0 -57
  82. package/types/utils.d.mts +0 -37
package/types/owner.d.mts DELETED
@@ -1,235 +0,0 @@
1
- export class Owner extends Base {
2
- static get typeDefinition(): {
3
- name: string;
4
- owners: string[];
5
- extends: typeof Base;
6
- key: string;
7
- attributes: {
8
- networks: {
9
- type: string;
10
- collection: boolean;
11
- isKey: boolean;
12
- writable: boolean;
13
- mandatory: boolean;
14
- constructor?: Function;
15
- private?: boolean;
16
- credential?: boolean;
17
- persistent?: boolean;
18
- depends?: string;
19
- description?: string;
20
- default?: any;
21
- set?: Function;
22
- get?: Function;
23
- toInternal?: Function;
24
- toExternal?: Function;
25
- values?: Set<any>;
26
- externalName?: string;
27
- env?: string[] | string;
28
- additionalValues?: object;
29
- };
30
- hosts: {
31
- type: string;
32
- collection: boolean;
33
- isKey: boolean;
34
- writable: boolean;
35
- mandatory: boolean;
36
- constructor?: Function;
37
- private?: boolean;
38
- credential?: boolean;
39
- persistent?: boolean;
40
- depends?: string;
41
- description?: string;
42
- default?: any;
43
- set?: Function;
44
- get?: Function;
45
- toInternal?: Function;
46
- toExternal?: Function;
47
- values?: Set<any>;
48
- externalName?: string;
49
- env?: string[] | string;
50
- additionalValues?: object;
51
- };
52
- clusters: {
53
- type: string;
54
- collection: boolean;
55
- isKey: boolean;
56
- writable: boolean;
57
- mandatory: boolean;
58
- constructor?: Function;
59
- private?: boolean;
60
- credential?: boolean;
61
- persistent?: boolean;
62
- depends?: string;
63
- description?: string;
64
- default?: any;
65
- set?: Function;
66
- get?: Function;
67
- toInternal?: Function;
68
- toExternal?: Function;
69
- values?: Set<any>;
70
- externalName?: string;
71
- env?: string[] | string;
72
- additionalValues?: object;
73
- };
74
- subnets: {
75
- type: {
76
- name: string;
77
- owners: string[];
78
- constructWithIdentifierOnly: boolean;
79
- key: string;
80
- attributes: {
81
- address: import("pacc").AttributeDefinition;
82
- networks: {
83
- type: string;
84
- collection: boolean;
85
- isKey: boolean;
86
- writable: boolean;
87
- mandatory: boolean;
88
- constructor?: Function;
89
- private?: boolean;
90
- credential?: boolean;
91
- persistent?: boolean;
92
- depends?: string;
93
- description?: string;
94
- default?: any;
95
- set?: Function;
96
- get?: Function;
97
- toInternal?: Function;
98
- toExternal?: Function;
99
- values?: Set<any>;
100
- externalName?: string;
101
- env?: string[] | string;
102
- additionalValues?: object;
103
- };
104
- prefixLength: import("pacc").AttributeDefinition;
105
- family: import("pacc").AttributeDefinition;
106
- };
107
- };
108
- collection: boolean;
109
- isKey: boolean;
110
- writable: boolean;
111
- mandatory: boolean;
112
- constructor?: Function;
113
- private?: boolean;
114
- credential?: boolean;
115
- persistent?: boolean;
116
- depends?: string;
117
- description?: string;
118
- default?: any;
119
- set?: Function;
120
- get?: Function;
121
- toInternal?: Function;
122
- toExternal?: Function;
123
- values?: Set<any>;
124
- externalName?: string;
125
- env?: string[] | string;
126
- additionalValues?: object;
127
- };
128
- country: import("pacc").AttributeDefinition;
129
- domain: import("pacc").AttributeDefinition;
130
- domains: import("pacc").AttributeDefinition;
131
- timezone: import("pacc").AttributeDefinition;
132
- architectures: import("pacc").AttributeDefinition;
133
- locales: import("pacc").AttributeDefinition;
134
- administratorEmail: {
135
- writable: boolean;
136
- type: object;
137
- isKey: boolean;
138
- mandatory: boolean;
139
- collection: boolean;
140
- constructor?: Function;
141
- private?: boolean;
142
- credential?: boolean;
143
- persistent?: boolean;
144
- depends?: string;
145
- description?: string;
146
- default?: any;
147
- set?: Function;
148
- get?: Function;
149
- toInternal?: Function;
150
- toExternal?: Function;
151
- values?: Set<any>;
152
- externalName?: string;
153
- env?: string[] | string;
154
- additionalValues?: object;
155
- };
156
- template: {
157
- private: boolean;
158
- type: object;
159
- isKey: boolean;
160
- writable: boolean;
161
- mandatory: boolean;
162
- collection: boolean;
163
- constructor?: Function;
164
- credential?: boolean;
165
- persistent?: boolean;
166
- depends?: string;
167
- description?: string;
168
- default?: any;
169
- set?: Function;
170
- get?: Function;
171
- toInternal?: Function;
172
- toExternal?: Function;
173
- values?: Set<any>;
174
- externalName?: string;
175
- env?: string[] | string;
176
- additionalValues?: object;
177
- };
178
- };
179
- };
180
- _membersByType: Map<any, any>;
181
- _bridges: Set<any>;
182
- /**
183
- * @return {boolean}
184
- */
185
- get isTemplate(): boolean;
186
- _traverse(...args: any[]): boolean;
187
- find(pattern: any): Generator<any, void, unknown>;
188
- named(name: any): any;
189
- typeObject(typeName: any): any;
190
- typeList(typeName: any): any;
191
- addTypeObject(typeName: any, name: any, object: any): void;
192
- addObject(object: any): void;
193
- get services(): any[];
194
- findServices(filter: any): Generator<any, void, any>;
195
- locationNamed(name: any): any;
196
- get locations(): any;
197
- hostNamed(name: any): any;
198
- directHosts(): Set<any>;
199
- get hosts(): Set<any>;
200
- networkNamed(name: any): any;
201
- get networks(): any;
202
- subnetNamed(name: any): any;
203
- subnets(): Generator<any, void, any>;
204
- addSubnet(address: any): any;
205
- subnetForAddress(address: any): any;
206
- clusterNamed(name: any): any;
207
- clusters(): any;
208
- get bridges(): Set<any>;
209
- addBridge(network: any, destinationNetworks: any): any;
210
- _resolveBridges(): void;
211
- get derivedPackaging(): Set<any>;
212
- networkAddresses(filter: any): Generator<any, void, any>;
213
- _country: any;
214
- set country(value: any);
215
- get country(): any;
216
- _locales: Set<any>;
217
- set locales(value: any);
218
- get locales(): any;
219
- _timezone: any;
220
- set timezone(value: any);
221
- get timezone(): any;
222
- _administratorEmail: any;
223
- set administratorEmail(value: any);
224
- get administratorEmail(): any;
225
- _domain: any;
226
- set domain(value: any);
227
- get domain(): any;
228
- get domains(): Set<any>;
229
- get localDomains(): Set<any>;
230
- get domainNames(): Set<any>;
231
- _architectures: any;
232
- set architectures(value: any);
233
- get architectures(): any;
234
- }
235
- import { Base } from "./base.mjs";
package/types/root.d.mts DELETED
@@ -1,10 +0,0 @@
1
- export class Root extends Location {
2
- static get typeDefinition(): typeof Root;
3
- constructor(directory: any);
4
- get fullName(): string;
5
- get root(): this;
6
- _load(name: any, type: any): Promise<any>;
7
- load(name: any, options: any): any;
8
- loadAll(): Promise<void>;
9
- }
10
- import { Location } from "./location.mjs";
@@ -1,14 +0,0 @@
1
- export class ServiceOwner extends Base {
2
- services: any[];
3
- _applyExtends(owner: any): void;
4
- _traverse(...args: any[]): boolean;
5
- findServices(filter: any): Generator<any, void, unknown>;
6
- /**
7
- *
8
- * @param {string} name
9
- * @returns {Service|undefined}
10
- */
11
- named(name: string): Service | undefined;
12
- }
13
- import { Base } from "pmcf";
14
- import { Service } from "pmcf";
@@ -1,246 +0,0 @@
1
- export function addServiceType(type: any, name: any): any;
2
- export function serviceTypes(type: any): Set<any>;
3
- export function serviceTypeEndpoints(type: any): any;
4
- export const ServiceTypes: {
5
- "alpm-repo": {
6
- extends: string[];
7
- };
8
- syslog: {
9
- endpoints: {
10
- protocol: string;
11
- family: string;
12
- port: number;
13
- tls: boolean;
14
- }[];
15
- };
16
- mqtt: {
17
- endpoints: {
18
- family: string;
19
- protocol: string;
20
- port: number;
21
- tls: boolean;
22
- }[];
23
- };
24
- "secure-mqtt": {
25
- endpoints: {
26
- family: string;
27
- protocol: string;
28
- port: number;
29
- tls: boolean;
30
- }[];
31
- };
32
- ntp: {
33
- endpoints: {
34
- family: string;
35
- protocol: string;
36
- port: number;
37
- tls: boolean;
38
- }[];
39
- };
40
- dns: {
41
- endpoints: {
42
- family: string;
43
- protocol: string;
44
- port: number;
45
- tls: boolean;
46
- }[];
47
- };
48
- mdns: {
49
- endpoints: {
50
- family: string;
51
- protocol: string;
52
- port: number;
53
- tls: boolean;
54
- }[];
55
- };
56
- llmnr: {
57
- endpoints: {
58
- family: string;
59
- protocol: string;
60
- port: number;
61
- tls: boolean;
62
- }[];
63
- };
64
- ldap: {
65
- endpoints: {
66
- family: string;
67
- scheme: string;
68
- protocol: string;
69
- port: number;
70
- tls: boolean;
71
- }[];
72
- };
73
- ldaps: {
74
- endpoints: {
75
- family: string;
76
- scheme: string;
77
- protocol: string;
78
- port: number;
79
- tls: boolean;
80
- }[];
81
- };
82
- ldapi: {
83
- endpoints: {
84
- family: string;
85
- scheme: string;
86
- path: string;
87
- }[];
88
- };
89
- http: {
90
- endpoints: {
91
- family: string;
92
- scheme: string;
93
- protocol: string;
94
- port: number;
95
- tls: boolean;
96
- }[];
97
- };
98
- https: {
99
- endpoints: {
100
- family: string;
101
- scheme: string;
102
- protocol: string;
103
- port: number;
104
- tls: boolean;
105
- }[];
106
- dnsRecord: {
107
- type: string;
108
- parameters: {
109
- alpn: string;
110
- };
111
- };
112
- };
113
- http3: {
114
- endpoints: {
115
- family: string;
116
- scheme: string;
117
- protocol: string;
118
- port: number;
119
- tls: boolean;
120
- }[];
121
- dnsRecord: {
122
- type: string;
123
- parameters: {
124
- "no-default-alpn": any;
125
- alpn: string;
126
- };
127
- };
128
- };
129
- rtsp: {
130
- endpoints: {
131
- family: string;
132
- protocol: string;
133
- port: number;
134
- tls: boolean;
135
- }[];
136
- };
137
- smtp: {
138
- endpoints: {
139
- family: string;
140
- protocol: string;
141
- port: number;
142
- tls: boolean;
143
- }[];
144
- dnsRecord: {
145
- type: string;
146
- };
147
- };
148
- submission: {
149
- endpoints: {
150
- family: string;
151
- protocol: string;
152
- port: number;
153
- tls: boolean;
154
- }[];
155
- };
156
- lmtp: {
157
- endpoints: {
158
- family: string;
159
- protocol: string;
160
- port: number;
161
- tls: boolean;
162
- }[];
163
- };
164
- ssh: {
165
- endpoints: {
166
- family: string;
167
- protocol: string;
168
- port: number;
169
- tls: boolean;
170
- }[];
171
- };
172
- imap: {
173
- endpoints: {
174
- family: string;
175
- protocol: string;
176
- port: number;
177
- tls: boolean;
178
- }[];
179
- };
180
- imaps: {
181
- endpoints: {
182
- family: string;
183
- protocol: string;
184
- port: number;
185
- tls: boolean;
186
- }[];
187
- };
188
- dhcp: {
189
- endpoints: {
190
- family: string;
191
- protocol: string;
192
- port: number;
193
- tls: boolean;
194
- }[];
195
- };
196
- "dhcpv6-client": {
197
- endpoints: {
198
- family: string;
199
- protocol: string;
200
- port: number;
201
- tls: boolean;
202
- }[];
203
- };
204
- "dhcpv6-server": {
205
- endpoints: {
206
- family: string;
207
- port: number;
208
- tls: boolean;
209
- }[];
210
- };
211
- smb: {
212
- endpoints: {
213
- family: string;
214
- protocol: string;
215
- port: number;
216
- tls: boolean;
217
- }[];
218
- };
219
- timemachine: {
220
- extends: string[];
221
- dnsRecord: {
222
- type: string;
223
- parameters: {
224
- sys: string;
225
- adVF: string;
226
- dk0: string;
227
- };
228
- };
229
- };
230
- pcp: {
231
- endpoints: {
232
- family: string;
233
- protocol: string;
234
- port: number;
235
- tls: boolean;
236
- }[];
237
- };
238
- "pcp-multicast": {
239
- endpoints: {
240
- family: string;
241
- protocol: string;
242
- port: number;
243
- tls: boolean;
244
- }[];
245
- };
246
- };