@forgezero/agent 0.1.85 → 0.1.87
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 +13 -14
- package/dist/agent-handover.d.ts +13 -0
- package/dist/agent-heartbeat.d.ts +3 -3
- package/dist/agent-heartbeat.js +235 -62
- package/dist/agent-update-helper.d.ts +11 -2
- package/dist/agent-update-helper.js +201 -45
- package/dist/agent-update.d.ts +4 -0
- package/dist/agent-update.js +19 -1
- package/dist/bootstrap.js +56 -8
- package/dist/credential-schema.js +16 -4
- package/dist/fz-agent.js +569 -260
- package/dist/fz.js +415 -43
- package/dist/guest-enrolment.js +4 -2
- package/dist/metal-bootstrap.js +40 -1
- package/dist/migration-pull.js +4 -2
- package/dist/node-vault.js +16 -4
- package/dist/operator-bootstrap.js +95 -8
- package/dist/platform-bootstrap-runtime.d.ts +7 -0
- package/dist/platform-bootstrap-runtime.js +5 -2
- package/dist/platform-fleet-verification.js +411 -213
- package/dist/platform-genesis-config.d.ts +6 -1
- package/dist/platform-launch-profile.d.ts +44 -0
- package/dist/provision.d.ts +16 -1
- package/dist/provision.js +323 -124
- package/dist/provisioning-pull.js +4 -2
- package/dist/signed-node-http.d.ts +2 -1
- package/dist/socket.d.ts +6 -0
- package/dist/version.d.ts +1 -1
- package/package.json +4 -4
|
@@ -10,4 +10,9 @@ export interface PlatformGenesisRegionInput {
|
|
|
10
10
|
city?: string;
|
|
11
11
|
}
|
|
12
12
|
/** Expand one reviewed common template into the exact three genesis hosts. */
|
|
13
|
-
export declare function platformGenesisBootstrapConfigs(template: PlatformBootstrapConfig, guests: readonly PlatformGenesisGuest[], nodes: readonly PlatformGenesisNodeConfigInput[], metalHostname: string, region: PlatformGenesisRegionInput
|
|
13
|
+
export declare function platformGenesisBootstrapConfigs(template: PlatformBootstrapConfig, guests: readonly PlatformGenesisGuest[], nodes: readonly PlatformGenesisNodeConfigInput[], metalHostname: string, region: PlatformGenesisRegionInput, deployment?: {
|
|
14
|
+
source: 'bootstrap-bundle';
|
|
15
|
+
branch: 'dev' | 'main';
|
|
16
|
+
revision: string;
|
|
17
|
+
bundleSha256: string;
|
|
18
|
+
}): readonly PlatformBootstrapConfig[];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { PlatformBootstrapConfig } from './bootstrap';
|
|
2
|
+
import type { BootstrapBundleBuildResult } from './bootstrap-bundle';
|
|
3
|
+
import type { PlatformGenesisGuest } from './platform-genesis';
|
|
4
|
+
export type ForgeZeroLaunchEnvironment = 'development' | 'production';
|
|
5
|
+
export interface ForgeZeroLaunchProfile {
|
|
6
|
+
environment: ForgeZeroLaunchEnvironment;
|
|
7
|
+
branch: 'dev' | 'main';
|
|
8
|
+
appOrigin: string;
|
|
9
|
+
apiOrigin: string;
|
|
10
|
+
zoneName: 'forgezero.net';
|
|
11
|
+
kvNamespaceTitle: string;
|
|
12
|
+
workerScriptName: string;
|
|
13
|
+
region: {
|
|
14
|
+
key: string;
|
|
15
|
+
label: string;
|
|
16
|
+
country: string;
|
|
17
|
+
city?: string;
|
|
18
|
+
};
|
|
19
|
+
agentOtlpEndpoint: string;
|
|
20
|
+
privateCidrs: readonly string[];
|
|
21
|
+
nodeHostname(nodeIndex: number): string;
|
|
22
|
+
}
|
|
23
|
+
export interface ForgeZeroLaunchOwnerInput {
|
|
24
|
+
custodianEmail: string;
|
|
25
|
+
email: {
|
|
26
|
+
provider: 'smtp';
|
|
27
|
+
host: string;
|
|
28
|
+
port: number;
|
|
29
|
+
user: string;
|
|
30
|
+
from: string;
|
|
31
|
+
} | {
|
|
32
|
+
provider: 'jetemail';
|
|
33
|
+
from: string;
|
|
34
|
+
eu: boolean;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* ForgeZero's own genesis public coordinates. They are reviewed source data,
|
|
39
|
+
* not an operator questionnaire. Tenant and reusable Agent deployments remain
|
|
40
|
+
* driven by their own typed plans and never inherit these product coordinates.
|
|
41
|
+
*/
|
|
42
|
+
export declare function forgeZeroLaunchProfile(environment: ForgeZeroLaunchEnvironment): ForgeZeroLaunchProfile;
|
|
43
|
+
/** Build the one common config which is expanded into the three fixed nodes. */
|
|
44
|
+
export declare function forgeZeroLaunchTemplate(profile: ForgeZeroLaunchProfile, guests: readonly PlatformGenesisGuest[], bundle: BootstrapBundleBuildResult, owner: ForgeZeroLaunchOwnerInput): PlatformBootstrapConfig;
|
package/dist/provision.d.ts
CHANGED
|
@@ -80,6 +80,10 @@ export declare const reasonFor: (mode: AgentMode) => string;
|
|
|
80
80
|
export interface UnitOptions {
|
|
81
81
|
mode: AgentMode;
|
|
82
82
|
socketPath: string;
|
|
83
|
+
/** Internal blue/green handover unit; never enables outbound claim intake. */
|
|
84
|
+
handoverCandidate?: boolean;
|
|
85
|
+
/** Internal exact backend override used by the candidate generation. */
|
|
86
|
+
backendSocketPath?: string;
|
|
83
87
|
/** Legacy/dev fallback only. Production uses `seedCredentialPath`. */
|
|
84
88
|
seedPath?: string;
|
|
85
89
|
/** Host-bound encrypted credential loaded by systemd for this unit only. */
|
|
@@ -158,6 +162,7 @@ export declare const LIFECYCLE_GROUP = "forgezero-lifecycle";
|
|
|
158
162
|
export declare const DEPLOYMENT_RUNNER_UNIT_PATH = "/etc/systemd/system/forgezero-deploy-runner.service";
|
|
159
163
|
export declare const AGENT_SOCKET_UNIT_PATH = "/etc/systemd/system/forgezero-agent.socket";
|
|
160
164
|
export declare const AGENT_SOCKET_PROXY_UNIT_PATH = "/etc/systemd/system/forgezero-agent-proxy.service";
|
|
165
|
+
export declare const AGENT_CANDIDATE_UNIT_PATH = "/etc/systemd/system/forgezero-agent-candidate.service";
|
|
161
166
|
export declare const DEPLOYMENT_RUNNER_SOCKET = "/run/forgezero-deploy/runner.sock";
|
|
162
167
|
export declare const ENROLMENT_UNIT_PATH = "/etc/systemd/system/forgezero-agent-enrol.service";
|
|
163
168
|
export declare const LIFECYCLE_HELPER_UNIT_PATH = "/etc/systemd/system/forgezero-lifecycle-helper.service";
|
|
@@ -171,7 +176,7 @@ export declare function agentEgressUnit(options: Pick<UnitOptions, 'binPath' | '
|
|
|
171
176
|
/** Root may execute only package-owned OS strategies selected by id + version. */
|
|
172
177
|
export declare function softwareHelperUnit(options: Pick<UnitOptions, 'binPath' | 'deployRoot'>): string;
|
|
173
178
|
/** Fixed root boundary for verified, health-gated Agent replacement. */
|
|
174
|
-
export declare function agentUpdateHelperUnit(options: Pick<UnitOptions, 'binPath'>): string;
|
|
179
|
+
export declare function agentUpdateHelperUnit(options: Pick<UnitOptions, 'binPath' | 'socketPath'>): string;
|
|
175
180
|
/**
|
|
176
181
|
* PID 1 owns the stable application endpoint.
|
|
177
182
|
*
|
|
@@ -187,6 +192,10 @@ export declare function agentSocketUnit(options: Pick<UnitOptions, 'socketPath'>
|
|
|
187
192
|
*/
|
|
188
193
|
export declare function agentSocketProxyUnit(options: Pick<UnitOptions, 'socketPath' | 'user'>): string;
|
|
189
194
|
export declare function agentBackendSocketPath(publicSocketPath: string): string;
|
|
195
|
+
/** Stable symlink resolved by systemd-socket-proxyd for every new connection. */
|
|
196
|
+
export declare function agentRoutingSocketPath(publicSocketPath: string): string;
|
|
197
|
+
/** Isolated backend owned only by the verified candidate generation. */
|
|
198
|
+
export declare function agentCandidateSocketPath(publicSocketPath: string): string;
|
|
190
199
|
export declare function warpConfigUnit(options: Pick<UnitOptions, 'binPath' | 'warpOrganization' | 'warpClientIdCredentialPath' | 'warpClientSecretCredentialPath'>): string;
|
|
191
200
|
export declare function warpServiceDropIn(): string;
|
|
192
201
|
export declare function lifecycleHelperUnit(options: Pick<UnitOptions, 'binPath' | 'lifecycleProfilePath' | 'lifecycleHelperSocketPath'>): string;
|
|
@@ -208,6 +217,12 @@ export declare function deploymentRunnerUnit(options: Pick<UnitOptions, 'binPath
|
|
|
208
217
|
* filesystem read-only.
|
|
209
218
|
*/
|
|
210
219
|
export declare function agentUnit(options: UnitOptions): string;
|
|
220
|
+
/**
|
|
221
|
+
* A separately supervised, credential-equivalent candidate. It loads and proves
|
|
222
|
+
* the durable node binding and RAM Vault replica, but candidate mode never
|
|
223
|
+
* starts heartbeat, claim, migration, bootstrap or deployment intake.
|
|
224
|
+
*/
|
|
225
|
+
export declare function agentCandidateUnit(options: UnitOptions): string;
|
|
211
226
|
export interface Step {
|
|
212
227
|
/** Stable display, never executed. */
|
|
213
228
|
command: string;
|