@ -9,14 +9,14 @@ Must be one of `provisional`, `implementable`, `implemented`, `deferred`, `rejec
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					**Creation date:** 2022-10-20
 
					 
					 
					 
					**Creation date:** 2022-10-20
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					**Last update:** 2022-11-02 
 
					 
					 
					 
					**Last update:** 2022-11-04 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					## Summary
 
					 
					 
					 
					## Summary
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					This RFC proposes to establish a canonical `Revision`  format for an `Artifact` 
 
					 
					 
					 
					This RFC proposes to establish a canonical `Revision`  format for an `Artifact` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					which points to a specific revision represented as a checksum (e.g. an OCI
 
					 
					 
					 
					which points to a specific revision represented as a checksum (e.g. an OCI
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					manifest digest or Git commit SHA) of a named pointer (e.g. an OCI image tag or 
 
					 
					 
					 
					manifest digest or Git commit SHA) of a named pointer (e.g. an OCI repository 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					Git tag). In addition, it proposes to include the algorithm name (e.g.
 
					 
					 
					 
					name or  Git tag). In addition, it proposes to include the algorithm name (e.g.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					`sha256` ) as a prefix to an advertised checksum for an `Artifact`  and
 
					 
					 
					 
					`sha256` ) as a prefix to an advertised checksum for an `Artifact`  and
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					further referring to it as a `Digest` , deprecating the `Checksum`  field.
 
					 
					 
					 
					further referring to it as a `Digest` , deprecating the `Checksum`  field.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -31,9 +31,9 @@ revision.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					Since the introduction of `OCIRepository`  and with the recent changes around
 
					 
					 
					 
					Since the introduction of `OCIRepository`  and with the recent changes around
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					`HelmChart`  objects to allow the consumption of charts from OCI registries,
 
					 
					 
					 
					`HelmChart`  objects to allow the consumption of charts from OCI registries,
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					this could be seen as outdated or confusing due to the format differing from
 
					 
					 
					 
					this could be seen as outdated or confusing due to the format differing from
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					the canonical format used by OCI, which is `< tag >@<algo>:<checksum>` (the
 
					 
					 
					 
					the canonical format used by OCI, which is `< name >@<algo>:<checksum>` (the
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					part after `@`  formally known as a "digest") to refer to a specific version 
 
					 
					 
					 
					part after `@`  formally known as a [ "digest"][digest-spec] ) to refer to a
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					of a tagged  OCI manifest.
 
					 
					 
					 
					specific version of an  OCI manifest.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					While also taking note that Git does not have an official canonical format for
 
					 
					 
					 
					While also taking note that Git does not have an official canonical format for
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					e.g. branch references at a specific commit, and `/`  has less of a symbolic
 
					 
					 
					 
					e.g. branch references at a specific commit, and `/`  has less of a symbolic
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -61,14 +61,14 @@ with supportive response from Core Maintainers.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  which consists of a named pointer and a specific checksum reference.
 
					 
					 
					 
					  which consists of a named pointer and a specific checksum reference.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					- Allow easier verification of the `Artifact` 's checksum by including an
 
					 
					 
					 
					- Allow easier verification of the `Artifact` 's checksum by including an
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  alias for the algorithm.
 
					 
					 
					 
					  alias for the algorithm.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					- Deprecate the `Artifact` 's `Checksum`  field in favor of the `Digest`  field.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					- Allow configuration of the algorithm used to calculate the checksum of an
 
					 
					 
					 
					- Allow configuration of the algorithm used to calculate the checksum of an
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  `Artifact` .
 
					 
					 
					 
					  `Artifact` .
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					- Allow configuration of [BLAKE3][] as an alternative to SHA for calculating
 
					 
					 
					 
					- Allow configuration of algorithms other than SHA-256 to calculate the
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  checksums. This has promising performance improvements over SHA-256, which
 
					 
					 
					 
					  `Digest`  of an `Artifact` .
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  could allow for performance improvements in large scale environments.
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					- Allow compatibility with SemVer name references which might contain an `@` 
 
					 
					 
					 
					- Allow compatibility with SemVer name references which might contain an `@` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  symbol already (e.g. `package@v1.0.0@sha256:...` , as opposed to OCI's
 
					 
					 
					 
					  symbol already (e.g. `package@v1.0.0@sha256:...` , as opposed to OCI's
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  ` tag :v1.0.0@sha256:...`).
 
					 
					 
					 
					  ` name :v1.0.0@sha256:...`).
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					### Non-Goals
 
					 
					 
					 
					### Non-Goals
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -88,38 +88,46 @@ opposed to `/`, and include the algorithm alias as a prefix to the checksum
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					[ < named  pointer >  ] [ [ "@" ] < algo >  ":" < checksum >  ]
 
					 
					 
					 
					[ < named  pointer >  ] [ [ "@" ] < algo >  ":" < checksum >  ]
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					Where `<named pointer>`  is the name of e.g. a Git branch or OCI tag, 
 
					 
					 
					 
					Where `<named pointer>`  is the name of e.g. a Git branch or OCI repository 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					`<checksum>`  is the exact revision (e.g. a Git commit SHA or OCI manifest
 
					 
					 
					 
					name,  `<checksum>`  is the exact revision (e.g. a Git commit SHA or OCI manifest
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					digest), and `<algo>`  is the alias of the algorithm used to calculate the
 
					 
					 
					 
					digest), and `<algo>`  is the alias of the algorithm used to calculate the
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					checksum (e.g. `sha256` ). In case only a named pointer or digest is advertised,
 
					 
					 
					 
					checksum (e.g. `sha256` ). In case only a named pointer or digest is advertised,
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					the `@`  is omitted.
 
					 
					 
					 
					the `@`  is omitted.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					For a `GitRepository` 's `Artifact`  pointing towards an SHA-256  Git commit on
 
					 
					 
					 
					For a `GitRepository` 's `Artifact`  pointing towards an SHA-1  Git commit on
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					branch `main` , the `Revision`  field value would become:
 
					 
					 
					 
					branch `main` , the `Revision`  field value would become:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```text
 
					 
					 
					 
					```text
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					main@sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 
 
					 
					 
					 
					main@sha1:1eabc9a41ca088515cab83f1cce49eb43e84b67f 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					For a `GitRepository` 's `Artifact`  pointing towards a specific SHA-1 Git commit
 
					 
					 
					 
					For a `GitRepository` 's `Artifact`  pointing towards a specific SHA-1 Git commit
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					without a defined branch or tag, the `Revision`  field value would become:
 
					 
					 
					 
					without a defined branch or tag, the `Revision`  field value would become:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```text
 
					 
					 
					 
					```text
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sha1:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 
 
					 
					 
					 
					sha1:1eabc9a41ca088515cab83f1cce49eb43e84b67f 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					For a `Bucket` 's `Artifact`  with a revision based on an SHA-256 calculation of
 
					 
					 
					 
					For a `Bucket` 's `Artifact`  with a revision based on an SHA-256 calculation of
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					a list of object keys and their etags, the `Revision`  field value would become:
 
					 
					 
					 
					a list of object keys and their etags, the `Revision`  field value would become:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```text
 
					 
					 
					 
					```text
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 
 
					 
					 
					 
					sha256:8fb62a09c9e48ace5463bf940dc15e85f525be4f230e223bbceef6e13024110c 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					### Change the Artifact Checksum to a Digest
 
					 
					 
					 
					For a `HelmChart` 's `Artifact`  pointing towards a Helm chart version, the
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					`Revision`  field value would become:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					Change the format of the `Checksum`  field of the `source.toolkit.fluxcd.io` 
 
					 
					 
					 
					```text
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					Group's `Artifact`  to `Digest` , and include the alias of the algorithm used to
 
					 
					 
					 
					1.2.3
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					calculate the Artifact checksum as a prefix (creating a "digest").
 
					 
					 
					 
					```
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					### Introduce a `Digest`  field
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					Introduce a new field to the `source.toolkit.fluxcd.io`  Group's `Artifact`  type
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					across all `Source`  kinds called `Digest` , containing the checksum of the file
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					advertised in the `Path` , and alias of the algorithm used to calculate it
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					(creating a ["digest"][digest-spec]).
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```text
 
					 
					 
					 
					```text
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					< algo >  ":" < checksum > 
 
					 
					 
					 
					< algo >  ":" < checksum > 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -129,9 +137,15 @@ For a `GitRepository` `Artifact`'s checksum calculated using SHA-256, the
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					`Digest`  field value would become:
 
					 
					 
					 
					`Digest`  field value would become:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```text
 
					 
					 
					 
					```text
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 
 
					 
					 
					 
					sha256:1111f92aba67995f108b3ee3ffdc00edcfe206b11fbbb459c8ef4c4a8209fca8 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					#### Deprecate the `Checksum`  field
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					In favor of the `Digest`  field, the `Checksum`  field of the `source.toolkit.fluxcd.io` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					Group's `Artifact`  type across all `Source`  kinds is deprecated, and removed in
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					a future version.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					### User Stories
 
					 
					 
					 
					### User Stories
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					#### Artifact revision verification
 
					 
					 
					 
					#### Artifact revision verification
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -146,7 +160,7 @@ example:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```console
 
					 
					 
					 
					```console
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					$ kubectl get gitrepository -o jsonpath='{.status.artifact.revision}' < name > 
 
					 
					 
					 
					$ kubectl get gitrepository -o jsonpath='{.status.artifact.revision}' < name > 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					main@sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 
 
					 
					 
					 
					main@sha1:1eabc9a41ca088515cab83f1cce49eb43e84b67f 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					#### Artifact checksum verification
 
					 
					 
					 
					#### Artifact checksum verification
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -160,7 +174,7 @@ using the Kubernetes API. For example:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```console
 
					 
					 
					 
					```console
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					$ kubectl get gitrepository -o jsonpath='{.status.artifact.digest}' < name > 
 
					 
					 
					 
					$ kubectl get gitrepository -o jsonpath='{.status.artifact.digest}' < name > 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 
 
					 
					 
					 
					sha256:1111f92aba67995f108b3ee3ffdc00edcfe206b11fbbb459c8ef4c4a8209fca8 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					#### Artifact checksum algorithm configuration
 
					 
					 
					 
					#### Artifact checksum algorithm configuration
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -194,8 +208,8 @@ when attempting to extract e.g. a Git commit digest from an event for a
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					The notification-controller can use the revision attached as an annotation to
 
					 
					 
					 
					The notification-controller can use the revision attached as an annotation to
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					an `Event` , and is capable of extracting the correct reference for a Git
 
					 
					 
					 
					an `Event` , and is capable of extracting the correct reference for a Git
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					provider integration (e.g. GitHub, GitLab) to construct a payload. For example,
 
					 
					 
					 
					provider integration (e.g. GitHub, GitLab) to construct a payload. For example,
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					extracting ` e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` 
 
					 
					 
					 
					extracting ` 1eabc9a41ca088515cab83f1cce49eb43e84b67f` from 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					from `main@sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  `.
 
					 
					 
					 
					`main@sha1:1eabc9a41ca088515cab83f1cce49eb43e84b67f  `.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					#### Artifact revisions in listed views
 
					 
					 
					 
					#### Artifact revisions in listed views
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -208,15 +222,15 @@ truncated version of the checksum in the `Revision` field.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					```console
 
					 
					 
					 
					```console
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					$ flux get source gitrepository
 
					 
					 
					 
					$ flux get source gitrepository
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					NAME            REVISION              SUSPENDED       READY   MESSAGE                                                                      
 
					 
					 
					 
					NAME            REVISION              SUSPENDED       READY   MESSAGE                                                                      
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					flux-monitoring main@sha1:6f6c0979    False           True    stored artifact for revision 'main@sha1:6f6c0979809c12ce4aa687fb42be913f5dc78a75 '
 
					 
					 
					 
					flux-monitoring main@sha1:1eabc9a4    False           True    stored artifact for revision 'main@sha1:1eabc9a41ca088515cab83f1cce49eb43e84b67f '
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					$ flux get source oci
 
					 
					 
					 
					$ flux get source oci
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					NAME            REVISION               SUSPENDED       READY   MESSAGE                                                                                              
 
					 
					 
					 
					NAME            REVISION               SUSPENDED       READY   MESSAGE                                                                                              
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					apps-source     local@sha256:b1ad9be6  False           True    stored artifact for digest 'local@sha256:b1ad9be6fe5fefc76a93f462ef2be1295fa6693d57e9d783780af99cd7234dc8 '
 
					 
					 
					 
					apps-source     local@sha256:e5fa481b  False           True    stored artifact for digest 'local@sha256:e5fa481bb17327bd269927d0a223862d243d76c89fe697ea8c9adefc47c47e17 '
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					$ flux get source bucket
 
					 
					 
					 
					$ flux get source bucket
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					NAME            REVISION         SUSPENDED       READY   MESSAGE                                                                                              
 
					 
					 
					 
					NAME            REVISION         SUSPENDED       READY   MESSAGE                                                                                              
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					apps-source     sha256:e3b0c442  False           True    stored artifact for revision 'sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 '
 
					 
					 
					 
					apps-source     sha256:e3b0c442  False           True    stored artifact for revision 'sha256:8fb62a09c9e48ace5463bf940dc15e85f525be4f230e223bbceef6e13024110c '
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					```
 
					 
					 
					 
					```
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					### Alternatives
 
					 
					 
					 
					### Alternatives
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -299,8 +313,8 @@ Where `" "` indicates a literal string, and `< >` a variable.
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					#### Library
 
					 
					 
					 
					#### Library
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					The library used for calculating the `Digest`  field value is
 
					 
					 
					 
					The library used for calculating the `Digest`  field value is
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					`github.com/opencontainers/go-digest` . This library is used by various 
 
					 
					 
					 
					`github.com/opencontainers/go-digest` . This library is stable and extensible, 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					OCI libraries which we already depend on, stable and extensible .
 
					 
					 
					 
					and used by various  OCI libraries which we already depend on.
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					#### Calculation
 
					 
					 
					 
					#### Calculation
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -349,4 +363,5 @@ Major milestones in the lifecycle of the RFC such as:
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					-->
 
					 
					 
					 
					-->
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					[BLAKE3]: https://github.com/BLAKE3-team/BLAKE3
 
					 
					 
					 
					[BLAKE3]: https://github.com/BLAKE3-team/BLAKE3
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					[digest-spec]: https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					[go-digest]: https://pkg.go.dev/github.com/opencontainers/go-digest#hdr-Basics
 
					 
					 
					 
					[go-digest]: https://pkg.go.dev/github.com/opencontainers/go-digest#hdr-Basics