@forgezero/agent 0.1.120 → 0.1.122
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/dist/agent-heartbeat.js +1 -1
- package/dist/bootstrap.js +1 -1
- package/dist/cli/maintenance.d.ts +5 -0
- package/dist/community-rehearsal-host.d.ts +3 -0
- package/dist/community-rehearsal-host.js +19 -9
- package/dist/definition.js +5 -1
- package/dist/deploy-file.js +5 -1
- package/dist/deployment.d.ts +4 -2
- package/dist/fz-agent.js +26 -17
- package/dist/fz.js +10 -6
- package/dist/metal-bootstrap.js +1 -1
- package/dist/metal-helper-socket.js +5 -1
- package/dist/metal-provision.js +5 -1
- package/dist/operator-bootstrap.js +1 -1
- package/dist/platform-bootstrap-runtime.js +5 -1
- package/dist/platform-fleet-verification.js +6 -2
- package/dist/platform-genesis.js +5 -1
- package/dist/provision.js +6 -2
- package/dist/software-helper.js +5 -1
- package/dist/software.d.ts +4 -0
- package/dist/software.js +6 -1
- package/dist/ubuntu.js +5 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/agent-heartbeat.js
CHANGED
package/dist/bootstrap.js
CHANGED
|
@@ -6,6 +6,11 @@ export type RepositoryOperation = 'dev-reset' | 'db-backup' | 'db-recover' | 'db
|
|
|
6
6
|
* error instead of a silently ignored mutation bypass such as --force.
|
|
7
7
|
*/
|
|
8
8
|
export declare function unsupportedRepositoryCliOption(argv: readonly string[]): string | undefined;
|
|
9
|
+
export declare function forwardedRepositoryOperationArguments(options: {
|
|
10
|
+
apply: boolean;
|
|
11
|
+
json: boolean;
|
|
12
|
+
disposableFleetConfirmation?: string;
|
|
13
|
+
}, args: readonly string[]): string[];
|
|
9
14
|
export interface ResolvedRepositoryOperation {
|
|
10
15
|
operation: RepositoryOperation;
|
|
11
16
|
root: string;
|
|
@@ -4,6 +4,9 @@ export declare const COMMUNITY_REHEARSAL_ROOT = "/opt/forgezero-rehearsals/commu
|
|
|
4
4
|
export declare const COMMUNITY_DATABASE_ROOT = "/var/lib/forgezero-rehearsal-cluster";
|
|
5
5
|
export declare const COMMUNITY_CREDENTIAL_PARENT = "/etc/forgezero-rehearsal";
|
|
6
6
|
export declare const COMMUNITY_CREDENTIAL_ROOT = "/etc/forgezero-rehearsal/creds";
|
|
7
|
+
export declare const COMMUNITY_REHEARSAL_STARTER_PORT = 18528;
|
|
8
|
+
export declare const COMMUNITY_REHEARSAL_COORDINATOR_PORT = 18529;
|
|
9
|
+
export declare const COMMUNITY_REHEARSAL_API_PORT = 18787;
|
|
7
10
|
export interface CommunityRehearsalNode {
|
|
8
11
|
name: string;
|
|
9
12
|
address: string;
|
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -568,6 +572,9 @@ var COMMUNITY_REHEARSAL_ROOT = "/opt/forgezero-rehearsals/community-cluster-api"
|
|
|
568
572
|
var COMMUNITY_DATABASE_ROOT = "/var/lib/forgezero-rehearsal-cluster";
|
|
569
573
|
var COMMUNITY_CREDENTIAL_PARENT = "/etc/forgezero-rehearsal";
|
|
570
574
|
var COMMUNITY_CREDENTIAL_ROOT = "/etc/forgezero-rehearsal/creds";
|
|
575
|
+
var COMMUNITY_REHEARSAL_STARTER_PORT = 18528;
|
|
576
|
+
var COMMUNITY_REHEARSAL_COORDINATOR_PORT = 18529;
|
|
577
|
+
var COMMUNITY_REHEARSAL_API_PORT = 18787;
|
|
571
578
|
var RELEASE = /^[a-f0-9]{64}$/;
|
|
572
579
|
var SAFE_NAME = /^[a-z][a-z0-9-]{0,62}$/;
|
|
573
580
|
async function ensureCommunityRehearsalArango(execute = executeSoftwareOperation) {
|
|
@@ -647,7 +654,7 @@ function parseCommunityRehearsalHostRequest(value) {
|
|
|
647
654
|
}
|
|
648
655
|
var databaseUnit = (node, topology) => {
|
|
649
656
|
const starter = topology.find((entry) => entry.starter);
|
|
650
|
-
const join2 = node.starter ? "" : ` --starter.join=${starter.address}`;
|
|
657
|
+
const join2 = node.starter ? "" : ` --starter.join=${starter.address}:${COMMUNITY_REHEARSAL_STARTER_PORT}`;
|
|
651
658
|
const role = node.agency ? "" : " --cluster.start-agent=false --cluster.start-coordinator=true --cluster.start-dbserver=true";
|
|
652
659
|
return `[Unit]
|
|
653
660
|
Description=ForgeZero isolated Community ${COMMUNITY_REHEARSAL_VERSION} rehearsal cluster
|
|
@@ -659,7 +666,7 @@ Type=simple
|
|
|
659
666
|
User=arangodb
|
|
660
667
|
Group=arangodb
|
|
661
668
|
LoadCredentialEncrypted=arangodb-jwt:${COMMUNITY_CREDENTIAL_ROOT}/arangodb-jwt.cred
|
|
662
|
-
ExecStart=/usr/bin/arangodb --starter.mode=cluster --starter.address=${node.address} --starter.host=${node.address} --starter.data-dir=${COMMUNITY_DATABASE_ROOT} --starter.disable-ipv6 --auth.jwt-secret=%d/arangodb-jwt${join2}${role}
|
|
669
|
+
ExecStart=/usr/bin/arangodb --starter.mode=cluster --starter.address=${node.address} --starter.host=${node.address} --starter.port=${COMMUNITY_REHEARSAL_STARTER_PORT} --starter.data-dir=${COMMUNITY_DATABASE_ROOT} --starter.disable-ipv6 --auth.jwt-secret=%d/arangodb-jwt${join2}${role}
|
|
663
670
|
Restart=always
|
|
664
671
|
RestartSec=5
|
|
665
672
|
LimitNOFILE=100000
|
|
@@ -683,8 +690,8 @@ WantedBy=multi-user.target
|
|
|
683
690
|
`;
|
|
684
691
|
};
|
|
685
692
|
var apiUnit = (node, topology) => {
|
|
686
|
-
const urls = topology.map(({ address }) => `http://${address}
|
|
687
|
-
const readPreferred = topology.filter(({ readPreferred: readPreferred2 }) => readPreferred2).map(({ address }) => `http://${address}
|
|
693
|
+
const urls = topology.map(({ address }) => `http://${address}:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}`).join(",");
|
|
694
|
+
const readPreferred = topology.filter(({ readPreferred: readPreferred2 }) => readPreferred2).map(({ address }) => `http://${address}:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}`).join(",");
|
|
688
695
|
return `[Unit]
|
|
689
696
|
Description=ForgeZero typed Community cluster rehearsal API
|
|
690
697
|
After=forgezero-rehearsal-db.service network-online.target
|
|
@@ -697,9 +704,9 @@ Group=forgezero
|
|
|
697
704
|
WorkingDirectory=${COMMUNITY_REHEARSAL_ROOT}/current
|
|
698
705
|
LoadCredentialEncrypted=arangodb-jwt:${COMMUNITY_CREDENTIAL_ROOT}/arangodb-jwt.cred
|
|
699
706
|
Environment=HOST=127.0.0.1
|
|
700
|
-
Environment=PORT
|
|
707
|
+
Environment=PORT=${COMMUNITY_REHEARSAL_API_PORT}
|
|
701
708
|
Environment=NODE_NAME=${node.name}
|
|
702
|
-
Environment=ARANGO_URL=http://127.0.0.1
|
|
709
|
+
Environment=ARANGO_URL=http://127.0.0.1:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}
|
|
703
710
|
Environment=ARANGO_URLS=${urls}
|
|
704
711
|
Environment=ARANGO_READ_PREFERRED_URLS=${readPreferred}
|
|
705
712
|
Environment=ARANGO_READ_PREFERRED_FALLBACK=error
|
|
@@ -800,7 +807,7 @@ async function applyOperations(operations) {
|
|
|
800
807
|
}
|
|
801
808
|
}
|
|
802
809
|
var responseFor = async (request) => {
|
|
803
|
-
const base =
|
|
810
|
+
const base = `http://127.0.0.1:${COMMUNITY_REHEARSAL_API_PORT}`;
|
|
804
811
|
if (request.operation === "health")
|
|
805
812
|
return fetch(`${base}/health`, { signal: AbortSignal.timeout(15000) });
|
|
806
813
|
if (request.operation === "init")
|
|
@@ -862,7 +869,7 @@ async function runCommunityRehearsalHost(request) {
|
|
|
862
869
|
}
|
|
863
870
|
if (request.action === "database-ready" || request.action === "starter-ready" || request.action === "api-ready") {
|
|
864
871
|
const starter = topology.find((entry) => entry.starter);
|
|
865
|
-
const url = request.action === "database-ready" ?
|
|
872
|
+
const url = request.action === "database-ready" ? `http://127.0.0.1:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}/_api/version` : request.action === "starter-ready" ? `http://${starter.address}:${COMMUNITY_REHEARSAL_STARTER_PORT}/version` : `http://127.0.0.1:${COMMUNITY_REHEARSAL_API_PORT}/health`;
|
|
866
873
|
const response2 = await fetch(url, { signal: AbortSignal.timeout(2000) }).catch(() => {
|
|
867
874
|
return;
|
|
868
875
|
});
|
|
@@ -886,7 +893,10 @@ export {
|
|
|
886
893
|
parseCommunityRehearsalHostRequest,
|
|
887
894
|
ensureCommunityRehearsalArango,
|
|
888
895
|
COMMUNITY_REHEARSAL_VERSION,
|
|
896
|
+
COMMUNITY_REHEARSAL_STARTER_PORT,
|
|
889
897
|
COMMUNITY_REHEARSAL_ROOT,
|
|
898
|
+
COMMUNITY_REHEARSAL_COORDINATOR_PORT,
|
|
899
|
+
COMMUNITY_REHEARSAL_API_PORT,
|
|
890
900
|
COMMUNITY_DATABASE_ROOT,
|
|
891
901
|
COMMUNITY_CREDENTIAL_ROOT,
|
|
892
902
|
COMMUNITY_CREDENTIAL_PARENT
|
package/dist/definition.js
CHANGED
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
package/dist/deploy-file.js
CHANGED
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
package/dist/deployment.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type DrainReport, type QueueTask } from '@forgezero/runtime/queue';
|
|
2
2
|
import { type GitHostResolver } from './git-egress';
|
|
3
|
-
import { type SoftwareRequirement } from './software';
|
|
3
|
+
import { type ManagedSoftwareEvidence, type SoftwareRequirement } from './software';
|
|
4
4
|
import type { DeploymentService } from './definition';
|
|
5
5
|
import type { ServiceActivationState } from './service-supervisor';
|
|
6
6
|
import type { ContainerActivateRequest, ContainerBuildRequest, ContainerBuildResult } from './container-supervisor';
|
|
@@ -74,7 +74,9 @@ export interface DeploymentResult {
|
|
|
74
74
|
profile: string;
|
|
75
75
|
/** Resolved only from the validated plan and its bounded inputs at this revision. */
|
|
76
76
|
resolvedTargets?: readonly ResolvedDeploymentTarget[];
|
|
77
|
-
/**
|
|
77
|
+
/** Exact distinct catalogue entries successfully managed on this compute. */
|
|
78
|
+
managedSoftware: readonly ManagedSoftwareEvidence[];
|
|
79
|
+
/** Derived compatibility count; managedSoftware remains authoritative. */
|
|
78
80
|
paidManagedSoftwareCount: number;
|
|
79
81
|
release: string;
|
|
80
82
|
ok: boolean;
|
package/dist/fz-agent.js
CHANGED
|
@@ -5075,7 +5075,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
5075
5075
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
5076
5076
|
return entry.billingClass;
|
|
5077
5077
|
};
|
|
5078
|
-
var
|
|
5078
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
5079
|
+
const billingClass = softwareBillingClass(requirement);
|
|
5080
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
5081
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
5082
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
5079
5083
|
var UBUNTU_2604_X64 = [
|
|
5080
5084
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
5081
5085
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -8307,7 +8311,7 @@ function createDeploymentManager(options) {
|
|
|
8307
8311
|
const planPath = join2(release, DEPLOY_PLAN_FILE);
|
|
8308
8312
|
if (existsSync4(planPath)) {
|
|
8309
8313
|
const plan = parseDeploymentPlan(readDefinition(planPath));
|
|
8310
|
-
const
|
|
8314
|
+
const managedSoftware2 = new Map;
|
|
8311
8315
|
for (const workflow of Object.values(plan.spec.workflows))
|
|
8312
8316
|
for (const stage2 of Object.values(workflow.stages)) {
|
|
8313
8317
|
if (stage2.strategy.mode === "rolling" || stage2.strategy.mode === "canary" || Object.values(stage2.steps).some((step2) => step2.scope.kind === "target-batches")) {
|
|
@@ -8468,10 +8472,8 @@ function createDeploymentManager(options) {
|
|
|
8468
8472
|
return { id: id2, version: requirement2.version };
|
|
8469
8473
|
});
|
|
8470
8474
|
await options.ensureSoftware(requirements);
|
|
8471
|
-
for (const
|
|
8472
|
-
|
|
8473
|
-
paidManagedSoftware.add(`${requirement2.id}@${requirement2.version}`);
|
|
8474
|
-
}
|
|
8475
|
+
for (const evidence of managedSoftwareEvidence(requirements)) {
|
|
8476
|
+
managedSoftware2.set(`${evidence.id}@${evidence.version}`, evidence);
|
|
8475
8477
|
}
|
|
8476
8478
|
return { changed: true };
|
|
8477
8479
|
},
|
|
@@ -8707,7 +8709,8 @@ function createDeploymentManager(options) {
|
|
|
8707
8709
|
phases: [phase],
|
|
8708
8710
|
execution: deploymentExecution([phase]),
|
|
8709
8711
|
resolvedTargets,
|
|
8710
|
-
|
|
8712
|
+
managedSoftware: [...managedSoftware2.values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version)),
|
|
8713
|
+
paidManagedSoftwareCount: [...managedSoftware2.values()].filter((item) => item.billingClass === "paid-managed").length,
|
|
8711
8714
|
...capacity2 ? { capacity: capacity2 } : {}
|
|
8712
8715
|
};
|
|
8713
8716
|
}
|
|
@@ -8816,6 +8819,7 @@ function createDeploymentManager(options) {
|
|
|
8816
8819
|
}
|
|
8817
8820
|
};
|
|
8818
8821
|
}
|
|
8822
|
+
const managedSoftware = managedSoftwareEvidence(selectedProfile.software);
|
|
8819
8823
|
return {
|
|
8820
8824
|
key: options.key,
|
|
8821
8825
|
repository: options.repository,
|
|
@@ -8824,7 +8828,8 @@ function createDeploymentManager(options) {
|
|
|
8824
8828
|
definitionDigest,
|
|
8825
8829
|
definitionVersion: 2,
|
|
8826
8830
|
profile: options.profile,
|
|
8827
|
-
|
|
8831
|
+
managedSoftware,
|
|
8832
|
+
paidManagedSoftwareCount: managedSoftware.filter((item) => item.billingClass === "paid-managed").length,
|
|
8828
8833
|
release,
|
|
8829
8834
|
ok: true,
|
|
8830
8835
|
phases,
|
|
@@ -9153,6 +9158,7 @@ async function pullDeploymentOnce(options) {
|
|
|
9153
9158
|
definitionDigest: result.definitionDigest,
|
|
9154
9159
|
definitionVersion: result.definitionVersion,
|
|
9155
9160
|
profile: result.profile,
|
|
9161
|
+
managedSoftware: result.managedSoftware,
|
|
9156
9162
|
paidManagedSoftwareCount: result.paidManagedSoftwareCount,
|
|
9157
9163
|
execution: result.execution,
|
|
9158
9164
|
...result.resolvedTargets ? { resolvedTargets: result.resolvedTargets.map((target) => ({
|
|
@@ -9634,7 +9640,7 @@ async function writeAndCloseProcessInput(input, value) {
|
|
|
9634
9640
|
}
|
|
9635
9641
|
|
|
9636
9642
|
// src/version.ts
|
|
9637
|
-
var VERSION2 = "0.1.
|
|
9643
|
+
var VERSION2 = "0.1.122";
|
|
9638
9644
|
|
|
9639
9645
|
// src/ssh-bootstrap.ts
|
|
9640
9646
|
class SshBootstrapError extends Error {
|
|
@@ -17114,6 +17120,9 @@ var COMMUNITY_REHEARSAL_ROOT = "/opt/forgezero-rehearsals/community-cluster-api"
|
|
|
17114
17120
|
var COMMUNITY_DATABASE_ROOT = "/var/lib/forgezero-rehearsal-cluster";
|
|
17115
17121
|
var COMMUNITY_CREDENTIAL_PARENT = "/etc/forgezero-rehearsal";
|
|
17116
17122
|
var COMMUNITY_CREDENTIAL_ROOT = "/etc/forgezero-rehearsal/creds";
|
|
17123
|
+
var COMMUNITY_REHEARSAL_STARTER_PORT = 18528;
|
|
17124
|
+
var COMMUNITY_REHEARSAL_COORDINATOR_PORT = 18529;
|
|
17125
|
+
var COMMUNITY_REHEARSAL_API_PORT = 18787;
|
|
17117
17126
|
var RELEASE = /^[a-f0-9]{64}$/;
|
|
17118
17127
|
var SAFE_NAME2 = /^[a-z][a-z0-9-]{0,62}$/;
|
|
17119
17128
|
async function ensureCommunityRehearsalArango(execute3 = executeSoftwareOperation) {
|
|
@@ -17193,7 +17202,7 @@ function parseCommunityRehearsalHostRequest(value) {
|
|
|
17193
17202
|
}
|
|
17194
17203
|
var databaseUnit = (node, topology) => {
|
|
17195
17204
|
const starter = topology.find((entry) => entry.starter);
|
|
17196
|
-
const join12 = node.starter ? "" : ` --starter.join=${starter.address}`;
|
|
17205
|
+
const join12 = node.starter ? "" : ` --starter.join=${starter.address}:${COMMUNITY_REHEARSAL_STARTER_PORT}`;
|
|
17197
17206
|
const role = node.agency ? "" : " --cluster.start-agent=false --cluster.start-coordinator=true --cluster.start-dbserver=true";
|
|
17198
17207
|
return `[Unit]
|
|
17199
17208
|
Description=ForgeZero isolated Community ${COMMUNITY_REHEARSAL_VERSION} rehearsal cluster
|
|
@@ -17205,7 +17214,7 @@ Type=simple
|
|
|
17205
17214
|
User=arangodb
|
|
17206
17215
|
Group=arangodb
|
|
17207
17216
|
LoadCredentialEncrypted=arangodb-jwt:${COMMUNITY_CREDENTIAL_ROOT}/arangodb-jwt.cred
|
|
17208
|
-
ExecStart=/usr/bin/arangodb --starter.mode=cluster --starter.address=${node.address} --starter.host=${node.address} --starter.data-dir=${COMMUNITY_DATABASE_ROOT} --starter.disable-ipv6 --auth.jwt-secret=%d/arangodb-jwt${join12}${role}
|
|
17217
|
+
ExecStart=/usr/bin/arangodb --starter.mode=cluster --starter.address=${node.address} --starter.host=${node.address} --starter.port=${COMMUNITY_REHEARSAL_STARTER_PORT} --starter.data-dir=${COMMUNITY_DATABASE_ROOT} --starter.disable-ipv6 --auth.jwt-secret=%d/arangodb-jwt${join12}${role}
|
|
17209
17218
|
Restart=always
|
|
17210
17219
|
RestartSec=5
|
|
17211
17220
|
LimitNOFILE=100000
|
|
@@ -17229,8 +17238,8 @@ WantedBy=multi-user.target
|
|
|
17229
17238
|
`;
|
|
17230
17239
|
};
|
|
17231
17240
|
var apiUnit = (node, topology) => {
|
|
17232
|
-
const urls = topology.map(({ address }) => `http://${address}
|
|
17233
|
-
const readPreferred = topology.filter(({ readPreferred: readPreferred2 }) => readPreferred2).map(({ address }) => `http://${address}
|
|
17241
|
+
const urls = topology.map(({ address }) => `http://${address}:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}`).join(",");
|
|
17242
|
+
const readPreferred = topology.filter(({ readPreferred: readPreferred2 }) => readPreferred2).map(({ address }) => `http://${address}:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}`).join(",");
|
|
17234
17243
|
return `[Unit]
|
|
17235
17244
|
Description=ForgeZero typed Community cluster rehearsal API
|
|
17236
17245
|
After=forgezero-rehearsal-db.service network-online.target
|
|
@@ -17243,9 +17252,9 @@ Group=forgezero
|
|
|
17243
17252
|
WorkingDirectory=${COMMUNITY_REHEARSAL_ROOT}/current
|
|
17244
17253
|
LoadCredentialEncrypted=arangodb-jwt:${COMMUNITY_CREDENTIAL_ROOT}/arangodb-jwt.cred
|
|
17245
17254
|
Environment=HOST=127.0.0.1
|
|
17246
|
-
Environment=PORT
|
|
17255
|
+
Environment=PORT=${COMMUNITY_REHEARSAL_API_PORT}
|
|
17247
17256
|
Environment=NODE_NAME=${node.name}
|
|
17248
|
-
Environment=ARANGO_URL=http://127.0.0.1
|
|
17257
|
+
Environment=ARANGO_URL=http://127.0.0.1:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}
|
|
17249
17258
|
Environment=ARANGO_URLS=${urls}
|
|
17250
17259
|
Environment=ARANGO_READ_PREFERRED_URLS=${readPreferred}
|
|
17251
17260
|
Environment=ARANGO_READ_PREFERRED_FALLBACK=error
|
|
@@ -17346,7 +17355,7 @@ async function applyOperations(operations) {
|
|
|
17346
17355
|
}
|
|
17347
17356
|
}
|
|
17348
17357
|
var responseFor = async (request) => {
|
|
17349
|
-
const base =
|
|
17358
|
+
const base = `http://127.0.0.1:${COMMUNITY_REHEARSAL_API_PORT}`;
|
|
17350
17359
|
if (request.operation === "health")
|
|
17351
17360
|
return fetch(`${base}/health`, { signal: AbortSignal.timeout(15000) });
|
|
17352
17361
|
if (request.operation === "init")
|
|
@@ -17408,7 +17417,7 @@ async function runCommunityRehearsalHost(request) {
|
|
|
17408
17417
|
}
|
|
17409
17418
|
if (request.action === "database-ready" || request.action === "starter-ready" || request.action === "api-ready") {
|
|
17410
17419
|
const starter = topology.find((entry) => entry.starter);
|
|
17411
|
-
const url = request.action === "database-ready" ?
|
|
17420
|
+
const url = request.action === "database-ready" ? `http://127.0.0.1:${COMMUNITY_REHEARSAL_COORDINATOR_PORT}/_api/version` : request.action === "starter-ready" ? `http://${starter.address}:${COMMUNITY_REHEARSAL_STARTER_PORT}/version` : `http://127.0.0.1:${COMMUNITY_REHEARSAL_API_PORT}/health`;
|
|
17412
17421
|
const response2 = await fetch(url, { signal: AbortSignal.timeout(2000) }).catch(() => {
|
|
17413
17422
|
return;
|
|
17414
17423
|
});
|
package/dist/fz.js
CHANGED
|
@@ -4844,7 +4844,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
|
|
|
4844
4844
|
var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
|
|
4845
4845
|
|
|
4846
4846
|
// src/version.ts
|
|
4847
|
-
var VERSION2 = "0.1.
|
|
4847
|
+
var VERSION2 = "0.1.122";
|
|
4848
4848
|
|
|
4849
4849
|
// src/software.ts
|
|
4850
4850
|
var PINNED_BUN_VERSION = "1.3.14";
|
|
@@ -18488,6 +18488,14 @@ function unsupportedRepositoryCliOption(argv2) {
|
|
|
18488
18488
|
}
|
|
18489
18489
|
return;
|
|
18490
18490
|
}
|
|
18491
|
+
function forwardedRepositoryOperationArguments(options, args) {
|
|
18492
|
+
return [
|
|
18493
|
+
...options.apply ? ["--apply"] : [],
|
|
18494
|
+
...options.json ? ["--json"] : [],
|
|
18495
|
+
...options.disposableFleetConfirmation ? [`--confirm-disposable-fleet=${options.disposableFleetConfirmation}`] : [],
|
|
18496
|
+
...args
|
|
18497
|
+
];
|
|
18498
|
+
}
|
|
18491
18499
|
function manifestName(root) {
|
|
18492
18500
|
const manifestPath = join12(root, "package.json");
|
|
18493
18501
|
if (!existsSync12(manifestPath)) {
|
|
@@ -20436,11 +20444,7 @@ function repositoryOperationArguments(options, args) {
|
|
|
20436
20444
|
throw new Error("--root requires a repository path.");
|
|
20437
20445
|
if (unsupported)
|
|
20438
20446
|
throw new Error(`${unsupported} is not valid for repository maintenance commands.`);
|
|
20439
|
-
return
|
|
20440
|
-
...options.apply ? ["--apply"] : [],
|
|
20441
|
-
...options.json ? ["--json"] : [],
|
|
20442
|
-
...args
|
|
20443
|
-
];
|
|
20447
|
+
return forwardedRepositoryOperationArguments(options, args);
|
|
20444
20448
|
}
|
|
20445
20449
|
async function cmdDev(options, args) {
|
|
20446
20450
|
if ((args[0] ?? "") !== "reset" || args.length !== 1) {
|
package/dist/metal-bootstrap.js
CHANGED
|
@@ -366,7 +366,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
|
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
// src/version.ts
|
|
369
|
-
var VERSION = "0.1.
|
|
369
|
+
var VERSION = "0.1.122";
|
|
370
370
|
|
|
371
371
|
// src/otel-collector.ts
|
|
372
372
|
var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";
|
|
@@ -219,7 +219,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
219
219
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
220
220
|
return entry.billingClass;
|
|
221
221
|
};
|
|
222
|
-
var
|
|
222
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
223
|
+
const billingClass = softwareBillingClass(requirement);
|
|
224
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
225
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
226
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
223
227
|
var UBUNTU_2604_X64 = [
|
|
224
228
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
225
229
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
package/dist/metal-provision.js
CHANGED
|
@@ -219,7 +219,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
219
219
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
220
220
|
return entry.billingClass;
|
|
221
221
|
};
|
|
222
|
-
var
|
|
222
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
223
|
+
const billingClass = softwareBillingClass(requirement);
|
|
224
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
225
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
226
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
223
227
|
var UBUNTU_2604_X64 = [
|
|
224
228
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
225
229
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -922,7 +922,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
922
922
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
923
923
|
return entry.billingClass;
|
|
924
924
|
};
|
|
925
|
-
var
|
|
925
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
926
|
+
const billingClass = softwareBillingClass(requirement);
|
|
927
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
928
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
929
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
926
930
|
var UBUNTU_2604_X64 = [
|
|
927
931
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
928
932
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -3016,7 +3020,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
|
|
|
3016
3020
|
}
|
|
3017
3021
|
|
|
3018
3022
|
// src/version.ts
|
|
3019
|
-
var VERSION3 = "0.1.
|
|
3023
|
+
var VERSION3 = "0.1.122";
|
|
3020
3024
|
|
|
3021
3025
|
// src/egress-policy.ts
|
|
3022
3026
|
import { realpathSync as realpathSync3 } from "node:fs";
|
package/dist/platform-genesis.js
CHANGED
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
package/dist/provision.js
CHANGED
|
@@ -922,7 +922,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
922
922
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
923
923
|
return entry.billingClass;
|
|
924
924
|
};
|
|
925
|
-
var
|
|
925
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
926
|
+
const billingClass = softwareBillingClass(requirement);
|
|
927
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
928
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
929
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
926
930
|
var UBUNTU_2604_X64 = [
|
|
927
931
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
928
932
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -3016,7 +3020,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
|
|
|
3016
3020
|
}
|
|
3017
3021
|
|
|
3018
3022
|
// src/version.ts
|
|
3019
|
-
var VERSION3 = "0.1.
|
|
3023
|
+
var VERSION3 = "0.1.122";
|
|
3020
3024
|
|
|
3021
3025
|
// src/egress-policy.ts
|
|
3022
3026
|
import { realpathSync as realpathSync3 } from "node:fs";
|
package/dist/software-helper.js
CHANGED
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
package/dist/software.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface SoftwareCatalogEntry extends SoftwareRequirement {
|
|
|
15
15
|
/** What promotes this coordinate beyond an unreviewed candidate. */
|
|
16
16
|
evidence: 'reviewed-strategy-and-tests';
|
|
17
17
|
}
|
|
18
|
+
/** Browser-safe evidence for one distinct managed software coordinate. */
|
|
19
|
+
export type ManagedSoftwareEvidence = Pick<SoftwareCatalogEntry, 'id' | 'version' | 'billingClass'>;
|
|
18
20
|
export interface OsCatalogEntry {
|
|
19
21
|
id: 'ubuntu';
|
|
20
22
|
version: '24.04' | '26.04';
|
|
@@ -57,6 +59,8 @@ export declare const KATA_CONTAINERS_VERSION = "4.0.0";
|
|
|
57
59
|
export declare const OS_CATALOG: readonly OsCatalogEntry[];
|
|
58
60
|
export declare const SOFTWARE_CATALOG: readonly SoftwareCatalogEntry[];
|
|
59
61
|
export declare const softwareBillingClass: (requirement: SoftwareRequirement) => SoftwareCatalogEntry["billingClass"];
|
|
62
|
+
/** Canonical inventory reported after a successful deployment. */
|
|
63
|
+
export declare const managedSoftwareEvidence: (requirements: readonly SoftwareRequirement[]) => ManagedSoftwareEvidence[];
|
|
60
64
|
/** Counts distinct paid software instances managed on one compute. */
|
|
61
65
|
export declare const countPaidManagedSoftware: (requirements: readonly SoftwareRequirement[]) => number;
|
|
62
66
|
export declare const softwareSpawnFailure: (cause: unknown, argv: readonly string[]) => SoftwareCommandResult | undefined;
|
package/dist/software.js
CHANGED
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
|
@@ -556,6 +560,7 @@ export {
|
|
|
556
560
|
softwareBillingClass,
|
|
557
561
|
runSoftwareCommand,
|
|
558
562
|
observeSoftwareHost,
|
|
563
|
+
managedSoftwareEvidence,
|
|
559
564
|
executeSoftwareOperation,
|
|
560
565
|
ensureSoftwareRequirements,
|
|
561
566
|
countPaidManagedSoftware,
|
package/dist/ubuntu.js
CHANGED
|
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
|
|
|
79
79
|
throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
|
|
80
80
|
return entry.billingClass;
|
|
81
81
|
};
|
|
82
|
-
var
|
|
82
|
+
var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
|
|
83
|
+
const billingClass = softwareBillingClass(requirement);
|
|
84
|
+
return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
|
|
85
|
+
})).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
|
|
86
|
+
var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
|
|
83
87
|
var UBUNTU_2604_X64 = [
|
|
84
88
|
{ requirement: { id: "bun", version: "1.3.14" } },
|
|
85
89
|
{ requirement: { id: "docker", version: "ubuntu-26.04" } },
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** One package version shared by both public binaries. Pinned to package.json by tests. */
|
|
2
|
-
export declare const VERSION = "0.1.
|
|
2
|
+
export declare const VERSION = "0.1.122";
|