Your submission was sent successfully! Close

Validation set assertion

A validation set is an assertion that lists specific snaps that are either required to be installed together or are permitted to be installed together on a device or system.

One or more validation sets can be used to ensure only specific snaps are installed, and optionally, only specific snaps at fixed revisions. They can help a set of interdependent snaps maintain their testing and certification integrity, as well as help orchestrate their updates. But they can equally be used to simplify dependency deployment and to help manage devices.

For more information on its usage with snaps, see the Snapcraft documentation.

The validation-set assertion format is as follows:

type:			validation-set
authority-id: 	<authority account id>
series: 		<list of series which should accept this assertion>
account-id: 	<account id>
name: 			<validation set name>
revision: 		<int>
sequence: 		<int>
  - name: 	  <snap name>
    id:		  <snap id>
    presence: [required|optional|invalid]  # Optional, defaults to required.
    revision: <n> # The revision of the snap. Optional.
timestamp:			<UTC datetime>
sign-key-sha3-384:  <key id> # Encoded key id of signing key

<signature>                 # Encoded signature

The above template validation set assertion needs to be populated with the details of the snaps you wish to include in the set. These are listed beneath the snaps: section, and each snap can use the following fields:

  • name (required)
    The name of the snap, as you find on the store or in snap search.
  • id (optional)
    The unique snap-id of the snap (see snap info <snap name> ).
    Defaults to the snap-id of the named snap.
  • presence (optional)
    Can be either required, optional or invalid.
    required snaps need to be installed, optional snaps are permitted to be installed and invalid snaps explicitly must not be installed.
    Defaults to required.
  • revision (optional)
    Specifies which revision of the snap needs to be installed.

An example of this type:

type: validation-set
authority-id: example-account
series: 16
account-id: example-account
name: testset1
sequence: 1
    id: buPKUD3TKqCOgLEjjHx5kSiCpIs5cMuQ
    name: hello-world
timestamp: 2021-12-14T13:56:22Z
sign-key-sha3-384: b-mO5Wolu7bgpmXmRyICa3b2Vvcpi-uX5AIenSiwTi_6RKhTAOqwe4W3vNtb6O2y


Last updated a month ago. Help improve this document in the forum.