Skip to content

Tags: microsoft/dcp

Tags

v0.24.2

Toggle v0.24.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add SQLite state store for persistent resources (#142) (#152)

* Add SQLite state store for persistent resources

Add a local SQLite-backed state store for persistent process metadata and cross-instance resource leases. Wire the store into controller startup and persistent executable/container/network coordination, and manage schema updates through embedded golang-migrate migrations with compatibility authoring guidance.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Improve persistent executable lifecycle handling



* Preserve process identity times in state store



* Update dependency notices



* Use structured executable lifecycle key hashing



* Simplify container startup retry handling



* Refactor container startup orchestration



* Handle persistent executable adoption before start gating



* Simplify resource lease persistence

Remove persisted lease expiration state and use updated-at only for leaseholder revalidation. Also make SQLite file DSNs compatible with Windows drive-letter paths.



* Require leasable resources for resource leases

Add a GetLeaseKey interface for resource lease operations and implement it on Container and ContainerNetwork. Remove the redundant statestore key helpers and normalize touched file headers.



* Clarify persistence API documentation

Describe persistent executable API and state-store behavior at a high level instead of copying source declarations into docs.



* Describe executable persistence as feature docs

Remove branch-oriented change wording so the documentation describes executable persistence as stable behavior.



* Use resource leases for persistent executables

Coordinate persistent Executable reconciliation through resource leases, use Executable.GetLeaseKey for process records, and add interface guards for leasable API resources.



* Extract executable persistence helpers



* Clarify resource lease contention logs



* Preserve reusable persistent executable records



* Configure state store WAL checkpointing



* Use executable spec lifecycle keys for persistence



* Require lease ownership on release



* Use effective executable lifecycle inputs



* Store process PID for adopted runs



* Guard persistent container setup with leases



* Flush shutdown response before stopping apiserver



* Gate persistent container startup with leases



* Close state store migration runner



* Align persistent executable lease handling



* Fix persistent container lease retries



* Format process identity values safely



* Harden persistent resource cleanup

Treat persistent network lease configuration failures as terminal startup errors instead of retrying indefinitely, and close process run output files when persistent runs are released.



* Simplify state store file setup

Remove the point-in-time SQLite file restriction pass and let SQLite own database and sidecar file creation. The state store now only ensures the parent directory exists before opening the database.



* Trim persistent state metadata

Remove unused metadata from resource leases and persistent process records while this schema is still in draft. Persistent process records now keep only durable process state, and lifecycle diagnostics sort changed executable environment names for stable logs.



* Clarify lease owner identity logging

Rename the lease contention log field from LeaseOwnerStartTime to LeaseOwnerIdentityTime because the value is a process identity discriminator and is not necessarily a wall-clock start time.



* Persist executable output files



* Skip timestamp pipe for persistent output



* Release persistent container lease after reuse



* Harden persistent output directory setup



* Format io platform files



* Simplify persistent process PID check



* Release persistent executable leases on stable states



* Use process abstraction for executable stop



* Release persistent resource leases on stable states



* Validate restricted directory owners on Windows



* Release executable leases for unknown state



* Add lifecycle-bound persistent monitors



* Fix restricted directory test on Windows



* Validate monitor timestamp in dcpproc helper



* Remove duplicate executable display start time



* Refine persistent lease release handling



* Respect state store migration busy timeout



* Use test contexts in lease tests



* Move persistent lease coverage to integration tests



* Remove unused container lease helper



* Return lifecycle env file read errors



* Use computed executable lease owner in tests



* Avoid chmodding explicit state store parents



* Use restricted integration state store dirs



* Guard adopted process watcher cleanup



* Validate restricted directory ACLs on Windows



* Secure statestore test directories on Windows



* Clean invalid persistent executable records on startup



* Reject deny ACEs in restricted directory validation



* Relax Windows restricted directory validation



* Separate elevated state store directory



* Rename comparable sync map



* Run invalid persistent cleanup asynchronously



* Simplify persistent cleanup lease skip



* Reload persistent record before cleanup



---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v0.24.1

Toggle v0.24.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update tilt apiserver dependency (#149)

Update tilt-apiserver to v0.18.0 and align the shared Kubernetes module stack with the upstream release.

Update OpenAPI generation to emit explicit model names so generated schemas use OpenAPIModelName references with Kubernetes 1.36.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v0.23.6

Toggle v0.23.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update tilt apiserver dependency (#150)

Update tilt-apiserver to v0.18.0 and align the shared Kubernetes module stack with the upstream release.

Update OpenAPI generation to emit explicit model names so generated schemas use OpenAPIModelName references with Kubernetes 1.36.


(cherry picked from commit 356e43e)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v0.23.5

Toggle v0.23.5's commit message

v0.24.0

Toggle v0.24.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update Microsoft Go toolchain to 1.26.3 (#144)

* Initial plan

* Update Go toolchain to 1.26.3

Agent-Logs-Url: https://github.com/microsoft/dcp/sessions/8e924e0c-4b61-4e41-906c-53f0416511ab

Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>

* Address Microsoft Go version variable feedback

Agent-Logs-Url: https://github.com/microsoft/dcp/sessions/65638681-2a47-4c48-81e9-1b5f0e17d6a7

Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: karolz-ms <15271049+karolz-ms@users.noreply.github.com>

v0.23.4

Toggle v0.23.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fallback to local tunnel base image on pull failure (#135)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

v0.23.3

Toggle v0.23.3's commit message

v0.23.2

Toggle v0.23.2's commit message

v0.23.1

Toggle v0.23.1's commit message

v0.23.0

Toggle v0.23.0's commit message