x/ref/services/repository: changes to Application repository API and daemon

This CL makes three changes to the Application repository API:

- introduce PutX(), which will eventually replace Put. PutX takes only one
  profile at a time (instead of a slice). If the client wants to add the same
  envelope for several profiles, they'd have to call PutX repeatedly.  This
  makes the API and failure semantics clear. PutX takes a new Overwrite option
  to control whether replacing the envelope is allowed (default to false, to
  encourage creating new versions over replacing existing versions).

- introduce Profiles(), which allows inspection of profiles for a given
  application version or all versions.

- add a '*' profile option for Remove to clear all profiles for a given
  application version or all versions.

This CL also contains the implementations for these changes in
x/ref/services/application/applicationd, as well as corresponding test logic in
impl_test.

Change-Id: I7400002f827910e8026ead474d2ca6dcd9d8ee38
6 files changed
tree: 75d1836d9ee463193fa70fcc9b53f2c6c79eb95e
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTORS
  11. envvar.go
  12. envvar_test.go
  13. LICENSE
  14. PATENTS
  15. README.md
  16. VERSION
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.