Skip to content

feat(services): install a service package, and create a service (T31a) - #1

Merged
haiquang9994 merged 11 commits into
masterfrom
feat/t31a-service-packages
Aug 19, 2026
Merged

feat(services): install a service package, and create a service (T31a)#1
haiquang9994 merged 11 commits into
masterfrom
feat/t31a-service-packages

Conversation

@haiquang9994

Copy link
Copy Markdown
Collaborator

Roadmap task T31a — a service package can now be installed from the signed index, and a service
can be created from it. Before this, package.install did not exist and the only way a services
row came into being was a test writing it by hand.

What lands

  • package.*list, available, install, uninstall. A second producer for the T22 job
    system, sharing one index client and one downloads directory with runtime.* through a new
    Fetcher. An install ends with the recipe's own smoke test; an uninstall refuses while a service
    is an instance of the package, and names the services holding it.
  • service.create / service.delete — a declaration goes in, a spec comes out; a delete
    answers with the data directory it kept rather than removing it.
  • Recipe::instancing() — a recipe now states whether it is Single or Named, which is what
    decides the default data directory for a row that did not name one, and smoke_test() is where
    an install's proof of life comes from.
  • PackageVersion / PackageChannel — the Runtime prefix described the only caller there
    happened to be; both move to proto::version with their tests.
  • Testkitmixengine_testkit::create declares a fixture service over the socket through
    service.create, so the row every supervision test runs against is one shipped code produced.
    declare::installed and declare::declare are gone.

Notes

  • Migration 0003_package_size.sql adds packages.size_bytes — the table was described in 0001
    ahead of its first writer.
  • cargo update -p h2 for RUSTSEC-2026-0258, which fails cargo-deny on master too.

CI green on the branch: lint, test on all three OSes, and bench.

@haiquang9994
haiquang9994 merged commit 1efe933 into master Aug 19, 2026
7 checks passed
@haiquang9994
haiquang9994 deleted the feat/t31a-service-packages branch August 19, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant