@forgezero/agent 0.1.62 → 0.1.64
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 +45 -16
- package/dist/agent-heartbeat.js +1 -1
- package/dist/bootstrap-bundle.d.ts +31 -0
- package/dist/bootstrap-bundle.js +165 -0
- package/dist/bootstrap.d.ts +24 -18
- package/dist/bootstrap.js +509 -269
- package/dist/cli/agent-install.d.ts +2 -0
- package/dist/community-rehearsal-host.js +7 -5
- package/dist/definition.js +7 -5
- package/dist/deploy-file.js +7 -5
- package/dist/deployment.d.ts +27 -0
- package/dist/fz-agent.js +594 -421
- package/dist/fz.js +847 -372
- package/dist/metal-bootstrap.js +1 -1
- package/dist/metal-helper-socket.js +0 -2
- package/dist/metal-provision.js +0 -2
- package/dist/operator-bootstrap.d.ts +43 -1
- package/dist/operator-bootstrap.js +788 -367
- package/dist/platform-bootstrap-runtime.d.ts +0 -2
- package/dist/platform-bootstrap-runtime.js +0 -4
- package/dist/platform-fleet-verification.js +190 -98
- package/dist/provision.d.ts +4 -1
- package/dist/provision.js +41 -32
- package/dist/software-helper.js +7 -5
- package/dist/software.d.ts +1 -1
- package/dist/software.js +7 -5
- package/dist/version.d.ts +1 -1
- package/package.json +5 -1
package/dist/metal-bootstrap.js
CHANGED
|
@@ -292,7 +292,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
|
|
|
292
292
|
}
|
|
293
293
|
|
|
294
294
|
// src/version.ts
|
|
295
|
-
var VERSION = "0.1.
|
|
295
|
+
var VERSION = "0.1.64";
|
|
296
296
|
|
|
297
297
|
// src/otel-collector.ts
|
|
298
298
|
var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";
|
|
@@ -380,8 +380,6 @@ function guestBootstrapOperations(profile, attested = Boolean(profile.confidenti
|
|
|
380
380
|
"FZ_AGENT_USER=forgezero-agent",
|
|
381
381
|
"FZ_SOCKET_PATH=/run/forgezero/vault.sock",
|
|
382
382
|
"FZ_SEED_CREDENTIAL_PATH=/etc/forgezero/creds/agent-seed.cred",
|
|
383
|
-
"FZ_GIT_CREDENTIAL_PATH=/etc/forgezero/creds/git-deploy-key.cred",
|
|
384
|
-
"FZ_GIT_PUBLIC_KEY_PATH=/etc/forgezero/git/deploy.pub",
|
|
385
383
|
"FZ_DEPLOY_ROOT=/opt/forgezero",
|
|
386
384
|
`FZ_DEPLOY_PULL=${hasEnrolment}`,
|
|
387
385
|
`FZ_AGENT_EGRESS_ENFORCE=${hasEnrolment}`,
|
package/dist/metal-provision.js
CHANGED
|
@@ -380,8 +380,6 @@ function guestBootstrapOperations(profile, attested = Boolean(profile.confidenti
|
|
|
380
380
|
"FZ_AGENT_USER=forgezero-agent",
|
|
381
381
|
"FZ_SOCKET_PATH=/run/forgezero/vault.sock",
|
|
382
382
|
"FZ_SEED_CREDENTIAL_PATH=/etc/forgezero/creds/agent-seed.cred",
|
|
383
|
-
"FZ_GIT_CREDENTIAL_PATH=/etc/forgezero/creds/git-deploy-key.cred",
|
|
384
|
-
"FZ_GIT_PUBLIC_KEY_PATH=/etc/forgezero/git/deploy.pub",
|
|
385
383
|
"FZ_DEPLOY_ROOT=/opt/forgezero",
|
|
386
384
|
`FZ_DEPLOY_PULL=${hasEnrolment}`,
|
|
387
385
|
`FZ_AGENT_EGRESS_ENFORCE=${hasEnrolment}`,
|
|
@@ -25,7 +25,35 @@ export interface OperatorMetalBootstrapRequest {
|
|
|
25
25
|
sshPublicKeyFiles: string[];
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
export
|
|
28
|
+
export interface OperatorPlatformBootstrapFleetRequest {
|
|
29
|
+
kind: 'platform-fleet-remote';
|
|
30
|
+
requests: readonly [string, string, string];
|
|
31
|
+
}
|
|
32
|
+
export interface OperatorPlatformBootstrapFleetPlan {
|
|
33
|
+
kind: 'platform-fleet-remote';
|
|
34
|
+
mode: OperatorPlatformBootstrapMode;
|
|
35
|
+
mutation: boolean;
|
|
36
|
+
environment: PlatformGenesisEnvironment;
|
|
37
|
+
nodes: readonly {
|
|
38
|
+
computeReference: string;
|
|
39
|
+
address: string;
|
|
40
|
+
via?: string;
|
|
41
|
+
}[];
|
|
42
|
+
secretInputs: readonly string[];
|
|
43
|
+
}
|
|
44
|
+
export interface OperatorPlatformBootstrapFleetOutcome {
|
|
45
|
+
computeReference: string;
|
|
46
|
+
address: string;
|
|
47
|
+
ok: boolean;
|
|
48
|
+
output?: string;
|
|
49
|
+
error?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface OperatorPlatformBootstrapFleetResult {
|
|
52
|
+
plan: OperatorPlatformBootstrapFleetPlan;
|
|
53
|
+
ok: boolean;
|
|
54
|
+
outcomes: readonly OperatorPlatformBootstrapFleetOutcome[];
|
|
55
|
+
}
|
|
56
|
+
export type OperatorPlatformBootstrapMode = 'apply' | 'status';
|
|
29
57
|
export type OperatorMetalBootstrapMode = 'apply' | 'genesis' | 'rehearsal' | 'rehearsal-cleanup' | 'status';
|
|
30
58
|
export interface OperatorPlatformBootstrapPlan {
|
|
31
59
|
kind: 'platform-remote';
|
|
@@ -68,10 +96,16 @@ export interface OperatorPlatformBootstrapOptions {
|
|
|
68
96
|
fzAgentPath?: string;
|
|
69
97
|
fzGitSshPath?: string;
|
|
70
98
|
}
|
|
99
|
+
export declare function createOperatorSshHop(input: Omit<OperatorSshHop, 'hostKeySha256'>): OperatorSshHop;
|
|
71
100
|
export declare function readOperatorPlatformBootstrapRequest(path: string): OperatorPlatformBootstrapRequest;
|
|
101
|
+
export declare function writeOperatorPlatformBootstrapRequest(path: string, request: OperatorPlatformBootstrapRequest): string;
|
|
102
|
+
export declare function readOperatorPlatformBootstrapFleetRequest(path: string): OperatorPlatformBootstrapFleetRequest;
|
|
103
|
+
export declare function writeOperatorPlatformBootstrapFleetRequest(path: string, requestFiles: readonly [string, string, string]): string;
|
|
72
104
|
export declare function readOperatorMetalBootstrapRequest(path: string): OperatorMetalBootstrapRequest;
|
|
105
|
+
export declare function writeOperatorMetalBootstrapRequest(path: string, request: OperatorMetalBootstrapRequest): string;
|
|
73
106
|
export declare function planOperatorMetalBootstrap(request: OperatorMetalBootstrapRequest, mode: OperatorMetalBootstrapMode): OperatorMetalBootstrapPlan;
|
|
74
107
|
export declare function planOperatorPlatformBootstrap(request: OperatorPlatformBootstrapRequest, mode: OperatorPlatformBootstrapMode): OperatorPlatformBootstrapPlan;
|
|
108
|
+
export declare function planOperatorPlatformFleetBootstrap(fleet: OperatorPlatformBootstrapFleetRequest, mode: OperatorPlatformBootstrapMode): OperatorPlatformBootstrapFleetPlan;
|
|
75
109
|
/**
|
|
76
110
|
* Run one reviewed operator action. No private SSH key, credential value or
|
|
77
111
|
* management token is placed in argv; OpenSSH selects the matching private key
|
|
@@ -83,6 +117,14 @@ export declare function applyOperatorPlatformBootstrap(request: OperatorPlatform
|
|
|
83
117
|
plan: OperatorPlatformBootstrapPlan;
|
|
84
118
|
output: string;
|
|
85
119
|
}>;
|
|
120
|
+
/**
|
|
121
|
+
* Run the exact three-node genesis fleet from one attended secret collection.
|
|
122
|
+
* Every request is fully validated before the first SSH connection. Nodes run
|
|
123
|
+
* concurrently because the three-member Agency cannot form sequentially.
|
|
124
|
+
*/
|
|
125
|
+
export declare function applyOperatorPlatformFleetBootstrap(fleet: OperatorPlatformBootstrapFleetRequest, mode: OperatorPlatformBootstrapMode, options?: OperatorPlatformBootstrapOptions & {
|
|
126
|
+
secrets?: PlatformBootstrapSecrets;
|
|
127
|
+
}): Promise<OperatorPlatformBootstrapFleetResult>;
|
|
86
128
|
/**
|
|
87
129
|
* Install/bootstrap one blank metal host or provision its exact three-node
|
|
88
130
|
* platform seed through the same pinned SSH transport used for guest bootstrap.
|