@forgezero/agent 0.1.13 → 0.1.14

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/fz-agent.js CHANGED
@@ -1732,12 +1732,13 @@ function guestBootstrapScript(profile, attested = Boolean(profile.confidential),
1732
1732
  const agentBun = "/usr/local/lib/forgezero/bun";
1733
1733
  const attestationSetup = attested ? `# The report device is not part of the encryption path, so a guest can appear
1734
1734
  # healthy and encrypted while attestation is silently impossible. Install and
1735
- # load the exact running-kernel module before the agent is allowed to start.
1736
- DEBIAN_FRONTEND=noninteractive apt-get install -y linux-image-generic "linux-modules-extra-$(uname -r)"
1735
+ # load the driver shipped by the one pinned image before the agent starts. Do
1736
+ # not ask an evolving apt repository for an exact old kernel package: the image
1737
+ # can keep booting after Canonical removes that package from the mirror.
1738
+ if [[ ! -c /dev/sev-guest ]]; then modprobe sev-guest; fi
1739
+ test -c /dev/sev-guest
1737
1740
  printf 'sev-guest
1738
1741
  ' >/etc/modules-load.d/sev-guest.conf
1739
- modprobe sev-guest
1740
- test -c /dev/sev-guest
1741
1742
  ` : "";
1742
1743
  return `#!/usr/bin/env bash
1743
1744
  set -Eeuo pipefail
@@ -1926,7 +1927,7 @@ ethernets:
1926
1927
  primary:
1927
1928
  match: { name: "en*" }
1928
1929
  addresses: [ ${manifest.address}/24 ]
1929
- gateway4: ${profile.gateway}
1930
+ routes: [ { to: default, via: ${profile.gateway} } ]
1930
1931
  nameservers: { addresses: [${(profile.nameservers ?? ["1.1.1.1", "9.9.9.9"]).join(", ")}] }
1931
1932
  `
1932
1933
  };
@@ -2712,7 +2713,7 @@ async function applyMetalIsolation(profile, exec = defaultExec) {
2712
2713
  }
2713
2714
 
2714
2715
  // src/version.ts
2715
- var VERSION = "0.1.13";
2716
+ var VERSION = "0.1.14";
2716
2717
 
2717
2718
  // src/index.ts
2718
2719
  function loadOrCreateSeed(path) {
package/dist/fz.js CHANGED
@@ -781,7 +781,7 @@ async function resolveIdentity(selector, socketPath) {
781
781
  }
782
782
 
783
783
  // src/version.ts
784
- var VERSION = "0.1.13";
784
+ var VERSION = "0.1.14";
785
785
 
786
786
  // src/cli/index.ts
787
787
  var DEFAULT_MODE = THRESHOLD_MODES[0].id;
@@ -728,12 +728,13 @@ function guestBootstrapScript(profile, attested = Boolean(profile.confidential),
728
728
  const agentBun = "/usr/local/lib/forgezero/bun";
729
729
  const attestationSetup = attested ? `# The report device is not part of the encryption path, so a guest can appear
730
730
  # healthy and encrypted while attestation is silently impossible. Install and
731
- # load the exact running-kernel module before the agent is allowed to start.
732
- DEBIAN_FRONTEND=noninteractive apt-get install -y linux-image-generic "linux-modules-extra-$(uname -r)"
731
+ # load the driver shipped by the one pinned image before the agent starts. Do
732
+ # not ask an evolving apt repository for an exact old kernel package: the image
733
+ # can keep booting after Canonical removes that package from the mirror.
734
+ if [[ ! -c /dev/sev-guest ]]; then modprobe sev-guest; fi
735
+ test -c /dev/sev-guest
733
736
  printf 'sev-guest
734
737
  ' >/etc/modules-load.d/sev-guest.conf
735
- modprobe sev-guest
736
- test -c /dev/sev-guest
737
738
  ` : "";
738
739
  return `#!/usr/bin/env bash
739
740
  set -Eeuo pipefail
@@ -922,7 +923,7 @@ ethernets:
922
923
  primary:
923
924
  match: { name: "en*" }
924
925
  addresses: [ ${manifest.address}/24 ]
925
- gateway4: ${profile.gateway}
926
+ routes: [ { to: default, via: ${profile.gateway} } ]
926
927
  nameservers: { addresses: [${(profile.nameservers ?? ["1.1.1.1", "9.9.9.9"]).join(", ")}] }
927
928
  `
928
929
  };
@@ -728,12 +728,13 @@ function guestBootstrapScript(profile, attested = Boolean(profile.confidential),
728
728
  const agentBun = "/usr/local/lib/forgezero/bun";
729
729
  const attestationSetup = attested ? `# The report device is not part of the encryption path, so a guest can appear
730
730
  # healthy and encrypted while attestation is silently impossible. Install and
731
- # load the exact running-kernel module before the agent is allowed to start.
732
- DEBIAN_FRONTEND=noninteractive apt-get install -y linux-image-generic "linux-modules-extra-$(uname -r)"
731
+ # load the driver shipped by the one pinned image before the agent starts. Do
732
+ # not ask an evolving apt repository for an exact old kernel package: the image
733
+ # can keep booting after Canonical removes that package from the mirror.
734
+ if [[ ! -c /dev/sev-guest ]]; then modprobe sev-guest; fi
735
+ test -c /dev/sev-guest
733
736
  printf 'sev-guest
734
737
  ' >/etc/modules-load.d/sev-guest.conf
735
- modprobe sev-guest
736
- test -c /dev/sev-guest
737
738
  ` : "";
738
739
  return `#!/usr/bin/env bash
739
740
  set -Eeuo pipefail
@@ -922,7 +923,7 @@ ethernets:
922
923
  primary:
923
924
  match: { name: "en*" }
924
925
  addresses: [ ${manifest.address}/24 ]
925
- gateway4: ${profile.gateway}
926
+ routes: [ { to: default, via: ${profile.gateway} } ]
926
927
  nameservers: { addresses: [${(profile.nameservers ?? ["1.1.1.1", "9.9.9.9"]).join(", ")}] }
927
928
  `
928
929
  };
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.13";
2
+ export declare const VERSION = "0.1.14";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "//": "Publishing happens from an operator's machine, not CI \u2014 CLAUDE.md records that the absence of CI is deliberate. npm's `provenance` attests a tarball was built by a recognised CI provider from a named commit, so it cannot be produced here: it was set, and the first publish failed with `Automatic provenance generation not supported for provider: null`. A setting that can never be satisfied is worse than none, because it reads as a guarantee nobody is getting. Restore it the day this publishes from CI, and not before.",
3
3
  "name": "@forgezero/agent",
4
- "version": "0.1.13",
4
+ "version": "0.1.14",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "check": "tsc --noEmit",