Repository navigation
Cosigner: pin a runtime with telemetry, and make it importable - #58
Merged
Merged
Conversation
- enclave-bundle.lock: dev-enclave-dev-c4a0b96, built from enclave-runtime main after vtxos/runtime#4 (guest telemetry). This moves the e2e from be65bd7 across 26 runtime commits, the per-tenant ZFS pools of #3 among them. The bundle's dev-enclave.sh interface is unchanged. - Vendor the runtime's wit/telemetry/telemetry.wit and include enclave:telemetry/observed in the cosigner's world, so the cosigner can report spans to X-Ray and metrics to CloudWatch. Not called yet, and free until it is: the release build's imports are identical with and without the include, so it still instantiates on a runtime without telemetry. - wit/deps/stream/stream.wit: re-synced to the new bundle's copy (doc comment only). - Makefile BUNDLE_URL and the lock's comment name vtxos/enclave-runtime after the org move. `make enclave-bundle` fetches and verifies the new tarball, and `make wit-drift` is clean against it. 231 cosigner tests pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…enrols
The new runtime gives each tenant its own ZFS pool in a fixed 200 MiB
region of the pool disk. The bundle's default 4 GiB disk holds about 17,
and this suite enrols about 30. On the first run against
dev-enclave-dev-c4a0b96, the 18th enrolment and every one after it were
refused (`registration was refused: {"error":"unavailable"}`), failing
11 tests.
`make e2e-enclave` now passes ZFS_SIZE=16G (E2E_ZFS_SIZE), about 80
regions. The image is sparse, so the size costs nothing until written.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
enclave-bundle.lock→dev-enclave-dev-c4a0b96. This bundle is built from enclave-runtimemainafter Guest telemetry: tracing to X-Ray, metrics to CloudWatch runtime#4, which added guest telemetry: spans to X-Ray, metrics to CloudWatch.be65bd7across 26 runtime commits, including the per-tenant ZFS pools from Implement Full Wallet Features #3.dev-enclave.shinterface is unchanged. The only difference is that the guest-env denylist prefix is nowENCLAVE_*instead ofS3FS_*, and none of the cosigner's settings use either.enclave:telemetrybecomes importable. This vendors the runtime'swit/telemetry/telemetry.witand includesenclave:telemetry/observedin the cosigner's world.wasm-tools component wit). The cosigner therefore still instantiates on a runtime without telemetry.stream.witis re-synced to the new bundle's copy. Only a doc comment differs.BUNDLE_URLand the lock's comment now namevtxos/enclave-runtime.Why it's a separate PR
The vendored WIT has to match the bundle the cosigner is pinned to. That is why the telemetry part came back out of #57: the old pin predates telemetry. This PR moves the pin and the WIT together.
Testing
make enclave-bundlefetches the new tarball fromvtxos/enclave-runtimeand verifies its sha256.make wit-driftis clean against it: notify, stream, tasks and telemetry.Enclave e2ejob runs the cosigner on the new runtime.🤖 Generated with Claude Code