[PR #222] [CLOSED] feat: expose idempotent snapshot deletion #264

Closed
opened 2026-10-29 14:21:37 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/222
Author: @ethe
Created: 8/27/2026
Status: ❌ Closed

Base: main ← Head: feat/snapshot-delete


📝 Commits (4)

  • 114ba61 Avoid pre-pivot /var/run symlink traversal (#1)
  • afa04d2 fix: support refreshable registry credentials (#2)
  • 7cbf2e8 Merge branch 'kvcache-ai:main' into main
  • c8db31f feat: expose idempotent snapshot deletion

📊 Changes

15 files changed (+474 additions, -7 deletions)

View changed files

📝 .github/workflows/ci.yml (+4 -0)
📝 .github/workflows/publish-tools-image.yml (+1 -1)
📝 CLAUDE.md (+1 -1)
📝 Makefile (+1 -0)
📝 config/deps_manifest.toml (+5 -2)
📝 deploy/docker/Dockerfile.agentenv (+1 -0)
➕ scripts/tests/verify-tools-init.sh (+32 -0)
📝 src/api/generated/src/apis/snapshots.rs (+27 -0)
📝 src/api/generated/src/models.rs (+6 -0)
📝 src/api/generated/src/server/mod.rs (+138 -1)
📝 src/api/impls/snapshots.rs (+41 -0)
📝 src/api/openapi.yml (+22 -0)
📝 storage/overlaybd/src/backend/registryfs_v2.rs (+189 -1)
📝 storage/overlaybd/src/config.rs (+3 -0)
📝 tools-image/init (+3 -1)

📄 Description

Summary

  • add authenticated DELETE /snapshots/{snapshotID} to the OpenAPI contract
  • scope deletion to sandbox-created snapshots and resolve aliases to immutable snapshot IDs before deletion
  • return 204 for an already-absent snapshot while leaving template records to the template API

Validation

  • cargo +1.92 fmt --all -- --check
  • cargo +1.92 test -p agentenv_http_server
  • full agentenv target test was attempted but the macOS workstation cannot compile Linux-only libublk/io_uring; the generated server crate and doctests pass locally

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/222 **Author:** [@ethe](https://github.com/ethe) **Created:** 8/27/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/snapshot-delete` --- ### 📝 Commits (4) - [`114ba61`](https://github.com/kvcache-ai/AgentENV/commit/114ba617a9c46beafcae87238985a04145bfd75f) Avoid pre-pivot /var/run symlink traversal (#1) - [`afa04d2`](https://github.com/kvcache-ai/AgentENV/commit/afa04d2061a3723f2ef97b7e1fc13f2694d2478f) fix: support refreshable registry credentials (#2) - [`7cbf2e8`](https://github.com/kvcache-ai/AgentENV/commit/7cbf2e89291221c83f61bc7ac4d512af4b18bccc) Merge branch 'kvcache-ai:main' into main - [`c8db31f`](https://github.com/kvcache-ai/AgentENV/commit/c8db31fce81383a2e60d823ad903a6859dc942c0) feat: expose idempotent snapshot deletion ### 📊 Changes **15 files changed** (+474 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+4 -0) 📝 `.github/workflows/publish-tools-image.yml` (+1 -1) 📝 `CLAUDE.md` (+1 -1) 📝 `Makefile` (+1 -0) 📝 `config/deps_manifest.toml` (+5 -2) 📝 `deploy/docker/Dockerfile.agentenv` (+1 -0) ➕ `scripts/tests/verify-tools-init.sh` (+32 -0) 📝 `src/api/generated/src/apis/snapshots.rs` (+27 -0) 📝 `src/api/generated/src/models.rs` (+6 -0) 📝 `src/api/generated/src/server/mod.rs` (+138 -1) 📝 `src/api/impls/snapshots.rs` (+41 -0) 📝 `src/api/openapi.yml` (+22 -0) 📝 `storage/overlaybd/src/backend/registryfs_v2.rs` (+189 -1) 📝 `storage/overlaybd/src/config.rs` (+3 -0) 📝 `tools-image/init` (+3 -1) </details> ### 📄 Description ## Summary - add authenticated `DELETE /snapshots/{snapshotID}` to the OpenAPI contract - scope deletion to sandbox-created snapshots and resolve aliases to immutable snapshot IDs before deletion - return 204 for an already-absent snapshot while leaving template records to the template API ## Validation - `cargo +1.92 fmt --all -- --check` - `cargo +1.92 test -p agentenv_http_server` - full `agentenv` target test was attempted but the macOS workstation cannot compile Linux-only libublk/io_uring; the generated server crate and doctests pass locally --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:21:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#264
No description provided.