pmcf 4.27.0 → 4.27.1
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 +1 -1
- package/src/host.mjs +4 -12
- package/src/owner.mjs +3 -2
- package/src/service-owner.mjs +21 -0
- package/src/service.mjs +7 -2
package/package.json
CHANGED
package/src/host.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
boolean_attribute_false,
|
|
11
11
|
addType
|
|
12
12
|
} from "pacc";
|
|
13
|
-
import {
|
|
13
|
+
import { NetworkInterface, addresses } from "pmcf";
|
|
14
14
|
import { ServiceOwner } from "./service-owner.mjs";
|
|
15
15
|
import { networkAddressAttributes } from "./network-support.mjs";
|
|
16
16
|
import { addHook } from "./hooks.mjs";
|
|
@@ -28,7 +28,7 @@ export class Host extends ServiceOwner {
|
|
|
28
28
|
static name = "host";
|
|
29
29
|
static priority = 1.9;
|
|
30
30
|
static owners = ["owner", "network", "root"];
|
|
31
|
-
static extends =
|
|
31
|
+
static extends = ServiceOwner;
|
|
32
32
|
static key = "name";
|
|
33
33
|
static attributes = {
|
|
34
34
|
...networkAddressAttributes,
|
|
@@ -37,11 +37,6 @@ export class Host extends ServiceOwner {
|
|
|
37
37
|
type: "network_interface",
|
|
38
38
|
collection: true
|
|
39
39
|
},
|
|
40
|
-
services: {
|
|
41
|
-
...default_attribute_writable,
|
|
42
|
-
type: "service",
|
|
43
|
-
collection: true
|
|
44
|
-
},
|
|
45
40
|
aliases: string_set_attribute_writable,
|
|
46
41
|
os: {
|
|
47
42
|
...string_attribute_writable,
|
|
@@ -87,7 +82,6 @@ export class Host extends ServiceOwner {
|
|
|
87
82
|
isModel: boolean_attribute_false
|
|
88
83
|
};
|
|
89
84
|
|
|
90
|
-
|
|
91
85
|
static {
|
|
92
86
|
addType(this);
|
|
93
87
|
}
|
|
@@ -111,16 +105,14 @@ export class Host extends ServiceOwner {
|
|
|
111
105
|
super.materializeExtends();
|
|
112
106
|
|
|
113
107
|
for (const host of this.walkDirections(["extends"])) {
|
|
114
|
-
|
|
115
|
-
|
|
116
108
|
for (const [name, ni] of host.networkInterfaces) {
|
|
117
|
-
const present = this._networkInterfaces.get(name);
|
|
109
|
+
const present = this._networkInterfaces.get(ni.name);
|
|
118
110
|
|
|
119
111
|
if (present) {
|
|
120
112
|
//console.log("LINK", present.fullName, ni.fullName,present.extends);
|
|
121
113
|
present.extends.add(ni);
|
|
122
114
|
} else {
|
|
123
|
-
this._networkInterfaces.set(name, ni.forOwner(this));
|
|
115
|
+
this._networkInterfaces.set(ni.name, ni.forOwner(this));
|
|
124
116
|
}
|
|
125
117
|
}
|
|
126
118
|
}
|
package/src/owner.mjs
CHANGED
|
@@ -23,11 +23,12 @@ export class Owner extends Base {
|
|
|
23
23
|
static key = "name";
|
|
24
24
|
static attributes = {
|
|
25
25
|
networks: networks_attribute,
|
|
26
|
-
hosts: { ...default_attribute_writable, type: "host", collection: true },
|
|
26
|
+
hosts: { ...default_attribute_writable, type: "host", collection: true, owner: true },
|
|
27
27
|
clusters: {
|
|
28
28
|
...default_attribute_writable,
|
|
29
29
|
type: "cluster",
|
|
30
|
-
collection: true
|
|
30
|
+
collection: true,
|
|
31
|
+
owner: true
|
|
31
32
|
},
|
|
32
33
|
subnets: {
|
|
33
34
|
...default_attribute_writable,
|
package/src/service-owner.mjs
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
default_attribute_writable,
|
|
3
|
+
addType
|
|
4
|
+
} from "pacc";
|
|
1
5
|
import { Base, Service } from "pmcf";
|
|
2
6
|
|
|
3
7
|
export class ServiceOwner extends Base {
|
|
8
|
+
static name = "service-owner";
|
|
9
|
+
static priority = 1.9;
|
|
10
|
+
static owners = ["owner", "network", "root"];
|
|
11
|
+
static extends = Base;
|
|
12
|
+
static key = "name";
|
|
13
|
+
static attributes = {
|
|
14
|
+
services: {
|
|
15
|
+
...default_attribute_writable,
|
|
16
|
+
type: "service",
|
|
17
|
+
collection: true
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
static {
|
|
22
|
+
addType(this);
|
|
23
|
+
}
|
|
24
|
+
|
|
4
25
|
_services = new Map();
|
|
5
26
|
|
|
6
27
|
set services(service) {
|
package/src/service.mjs
CHANGED
|
@@ -33,7 +33,7 @@ export const endpointAttributes = {
|
|
|
33
33
|
port: number_attribute_writable,
|
|
34
34
|
protocol: {
|
|
35
35
|
...string_attribute_writable,
|
|
36
|
-
values: ["tcp", "udp"]
|
|
36
|
+
values: ["tcp", "udp", "quic"]
|
|
37
37
|
},
|
|
38
38
|
type: string_attribute_writable,
|
|
39
39
|
types: string_set_attribute,
|
|
@@ -61,7 +61,12 @@ export class Service extends Base {
|
|
|
61
61
|
static attributes = {
|
|
62
62
|
...networkAddressAttributes,
|
|
63
63
|
...endpointAttributes,
|
|
64
|
-
extends: {
|
|
64
|
+
extends: {
|
|
65
|
+
...default_attribute_writable,
|
|
66
|
+
type: Service,
|
|
67
|
+
collection: true,
|
|
68
|
+
owner: false
|
|
69
|
+
},
|
|
65
70
|
alias: string_attribute_writable,
|
|
66
71
|
weight: { ...number_attribute_writable /*default: 1*/ },
|
|
67
72
|
systemdService: string_attribute_writable
|