pmcf 6.26.0 → 6.26.2
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/base.mjs +2 -2
- package/src/cluster.mjs +2 -4
- package/src/core-service.mjs +2 -2
- package/src/service-types.mjs +7 -0
- package/src/service.mjs +24 -0
- package/src/services/bind.mjs +1 -1
- package/src/services/postfix.mjs +3 -1
- package/src/services/systemd-journal-remote.mjs +1 -0
package/README.md
CHANGED
|
@@ -79,30 +79,30 @@ generates config packages for:
|
|
|
79
79
|
* [domainNames](#domainnames)
|
|
80
80
|
* [InitializationContext](#initializationcontext)
|
|
81
81
|
* [Parameters](#parameters-14)
|
|
82
|
-
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
83
|
-
* [networkAddresses](#networkaddresses)
|
|
84
|
-
* [Parameters](#parameters-15)
|
|
85
82
|
* [zones](#zones)
|
|
86
83
|
* [type](#type)
|
|
87
84
|
* [addressesStatement](#addressesstatement)
|
|
88
|
-
* [Parameters](#parameters-
|
|
85
|
+
* [Parameters](#parameters-15)
|
|
89
86
|
* [SystemdJournalRemoteService](#systemdjournalremoteservice)
|
|
90
87
|
* [Properties](#properties)
|
|
91
88
|
* [systemdConfigs](#systemdconfigs)
|
|
92
|
-
* [Parameters](#parameters-
|
|
89
|
+
* [Parameters](#parameters-16)
|
|
93
90
|
* [SystemdJournalUploadService](#systemdjournaluploadservice)
|
|
94
91
|
* [Properties](#properties-1)
|
|
95
92
|
* [systemdConfigs](#systemdconfigs-1)
|
|
96
|
-
* [Parameters](#parameters-
|
|
93
|
+
* [Parameters](#parameters-17)
|
|
97
94
|
* [NetworkAddress](#networkaddress)
|
|
98
|
-
* [Parameters](#parameters-
|
|
95
|
+
* [Parameters](#parameters-18)
|
|
99
96
|
* [subnet](#subnet)
|
|
100
97
|
* [networkInterface](#networkinterface)
|
|
101
98
|
* [address](#address)
|
|
102
99
|
* [addresses](#addresses)
|
|
103
|
-
* [Parameters](#parameters-
|
|
100
|
+
* [Parameters](#parameters-19)
|
|
104
101
|
* [cidrAddresses](#cidraddresses)
|
|
105
|
-
* [Parameters](#parameters-
|
|
102
|
+
* [Parameters](#parameters-20)
|
|
103
|
+
* [SkeletonNetworkInterface](#skeletonnetworkinterface)
|
|
104
|
+
* [networkAddresses](#networkaddresses)
|
|
105
|
+
* [Parameters](#parameters-21)
|
|
106
106
|
* [families](#families)
|
|
107
107
|
* [secretName](#secretname)
|
|
108
108
|
* [directHosts](#directhosts)
|
|
@@ -301,18 +301,6 @@ Keeps track of all in flight object creations and loose ends during config initi
|
|
|
301
301
|
|
|
302
302
|
* `directory` (optional, default `"/"`)
|
|
303
303
|
|
|
304
|
-
## SkeletonNetworkInterface
|
|
305
|
-
|
|
306
|
-
**Extends ServiceOwner**
|
|
307
|
-
|
|
308
|
-
### networkAddresses
|
|
309
|
-
|
|
310
|
-
#### Parameters
|
|
311
|
-
|
|
312
|
-
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
313
|
-
|
|
314
|
-
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
315
|
-
|
|
316
304
|
## zones
|
|
317
305
|
|
|
318
306
|
Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<bind\_zone>
|
|
@@ -409,6 +397,18 @@ Returns **Iterable<[string](https://developer.mozilla.org/docs/Web/JavaScript/Re
|
|
|
409
397
|
|
|
410
398
|
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)>** 
|
|
411
399
|
|
|
400
|
+
## SkeletonNetworkInterface
|
|
401
|
+
|
|
402
|
+
**Extends ServiceOwner**
|
|
403
|
+
|
|
404
|
+
### networkAddresses
|
|
405
|
+
|
|
406
|
+
#### Parameters
|
|
407
|
+
|
|
408
|
+
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `n=>true`)
|
|
409
|
+
|
|
410
|
+
Returns **Iterable<[NetworkAddress](#networkaddress)>** 
|
|
411
|
+
|
|
412
412
|
## families
|
|
413
413
|
|
|
414
414
|
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/base.mjs
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
filterPublic,
|
|
18
18
|
extendingAttributeIterator,
|
|
19
19
|
name_attribute_writable,
|
|
20
|
-
|
|
20
|
+
type_attribute_writable,
|
|
21
21
|
string_attribute_writable,
|
|
22
22
|
string_set_attribute_writable,
|
|
23
23
|
description_attribute_writable,
|
|
@@ -41,7 +41,7 @@ export class Base {
|
|
|
41
41
|
name: name_attribute_writable,
|
|
42
42
|
aliases: aliases_attribute,
|
|
43
43
|
description: description_attribute_writable,
|
|
44
|
-
type:
|
|
44
|
+
type: type_attribute_writable,
|
|
45
45
|
directory: { ...string_attribute_writable, name: "directory" },
|
|
46
46
|
packaging: { ...string_set_attribute_writable, name: "packaging" },
|
|
47
47
|
disabled: { ...boolean_attribute_writable, name: "disabled" },
|
package/src/cluster.mjs
CHANGED
|
@@ -150,11 +150,9 @@ export class Cluster extends Host {
|
|
|
150
150
|
cfg.push(` protocol ${endpoint.protocol.toUpperCase()}`);
|
|
151
151
|
|
|
152
152
|
for (const member of this.members) {
|
|
153
|
-
const memberService =
|
|
154
|
-
member.expression(`services[types[${endpoint.type}]][0]`)
|
|
155
|
-
);
|
|
153
|
+
const memberService = member.expression(`services[types[${endpoint.type}]][0]`);
|
|
156
154
|
|
|
157
|
-
console.log(member.fullName, endpoint.type, memberService);
|
|
155
|
+
console.log(member.fullName, endpoint.type, memberService?.fullName);
|
|
158
156
|
cfg.push(` real_server ${member.address} ${memberService.port} {`);
|
|
159
157
|
cfg.push(` weight ${memberService.weight}`);
|
|
160
158
|
|
package/src/core-service.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { FAMILY_IPV4, FAMILY_IPV6 } from "ip-utilties";
|
|
|
2
2
|
import {
|
|
3
3
|
string_attribute_writable,
|
|
4
4
|
number_attribute_writable,
|
|
5
|
-
|
|
5
|
+
string_set_attribute_writable,
|
|
6
6
|
boolean_attribute_false,
|
|
7
7
|
port_attribute_writable,
|
|
8
8
|
priority_attribute
|
|
@@ -43,7 +43,7 @@ export const endpointAttributes = {
|
|
|
43
43
|
name: "protocol",
|
|
44
44
|
values: new Set(["tcp", "udp", "quic"])
|
|
45
45
|
},
|
|
46
|
-
types: { ...
|
|
46
|
+
types: { ...string_set_attribute_writable, name: "types" },
|
|
47
47
|
tls: { ...boolean_attribute_false, name: "tls" }
|
|
48
48
|
};
|
|
49
49
|
|
package/src/service-types.mjs
CHANGED
|
@@ -186,6 +186,13 @@ export const ServiceTypes = {
|
|
|
186
186
|
],
|
|
187
187
|
dnsRecord: { type: "MX" }
|
|
188
188
|
},
|
|
189
|
+
smtps: {
|
|
190
|
+
endpoints: [
|
|
191
|
+
{ family: FAMILY_IPV4, protocol: "tcp", port: 465, tls: true },
|
|
192
|
+
{ family: FAMILY_IPV6, protocol: "tcp", port: 465, tls: true }
|
|
193
|
+
],
|
|
194
|
+
dnsRecord: { type: "MX" }
|
|
195
|
+
},
|
|
189
196
|
submission: {
|
|
190
197
|
endpoints: [
|
|
191
198
|
{ family: FAMILY_IPV4, protocol: "tcp", port: 587, tls: false },
|
package/src/service.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { setBaseService, CoreService, addType } from "pmcf";
|
|
2
|
+
import { serviceTypes, ServiceTypes } from "./service-types.mjs";
|
|
2
3
|
|
|
3
4
|
export class Service extends CoreService {
|
|
4
5
|
static name = "service";
|
|
@@ -8,6 +9,29 @@ export class Service extends CoreService {
|
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
_type;
|
|
12
|
+
_types;
|
|
13
|
+
|
|
14
|
+
set types(value) {
|
|
15
|
+
this._types = value;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
get types() {
|
|
19
|
+
if (this._types) {
|
|
20
|
+
this._types.add(this.type);
|
|
21
|
+
return this._types;
|
|
22
|
+
}
|
|
23
|
+
if (this._type) {
|
|
24
|
+
return new Set([this._type]);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const types = serviceTypes(ServiceTypes[this.type]);
|
|
28
|
+
|
|
29
|
+
if(types.size) {
|
|
30
|
+
return types;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return new Set([this.name]);
|
|
34
|
+
}
|
|
11
35
|
|
|
12
36
|
set type(value) {
|
|
13
37
|
this._type = value;
|
package/src/services/bind.mjs
CHANGED
package/src/services/postfix.mjs
CHANGED
|
@@ -3,7 +3,9 @@ import { CoreService, addType } from "pmcf";
|
|
|
3
3
|
export class postfix extends CoreService {
|
|
4
4
|
static service = {
|
|
5
5
|
systemdService: "postfix.service",
|
|
6
|
-
|
|
6
|
+
systemUserName: "root",
|
|
7
|
+
systemGroupName: "root",
|
|
8
|
+
extends: ["smtp", "smtps", "lmtp", "submission"]
|
|
7
9
|
};
|
|
8
10
|
|
|
9
11
|
static {
|