Artifact format
The OCI artifacts produced withtimoni artifact push have the following media types:
- Image media type
application/vnd.oci.image.manifest.v1+json - Config media type
application/vnd.timoni.config.v1+json - Layer media type
application/vnd.timoni.content.v1.tar+gzip
org.opencontainers.image.source: <GIT URL>org.opencontainers.image.revision: <GIT COMMIT SHA>org.opencontainers.image.created: <GIT COMMIT DATE>
SOURCE_DATE_EPOCH or the Git commit time for the creation date. Git source
and revision metadata are added when available.
Building artifacts without a registry
timoni artifact build writes a deterministic OCI archive without registry or network access:--format=oci-layout for directory output. Tags are optional and repeated
--tag flags add reference names for the same manifest.
Local outputs are unsigned; existing output paths are rejected.
Publishing bundles to container registries
Timoni offers a command for publishing bundles, by packaging a local directory as an OCI artifact and pushing the artifact to a container registry. When publishing bundles with timoni artifact push you can:- specify a local directory contain any number of files and subdirectories using the
-fflag - choose a versioning scheme for your bundles using the
--tagflag - attach custom metadata such as licenses, Git source and documentation links using the
--annotationflag - sign the artifact using either with a Cosign static key or Cosign keyless using the
--signflag
--registry-insecure is set, Timoni also permits Cosign to use plain HTTP or skip TLS verification.
Use this option only for testing.
When --creds is set, Timoni also uses those credentials for Cosign.
Push and sign example
Login to the container registry:Using bundles from container registries
Timoni offers commands for listing, verifying and extracting bundles and any other files from OCI artifacts stored in container registries.List, pull and apply example
If the artifact is stored in a private registry, login with:--filter-regex,
and with a semantic version range using --filter-semver:
latest, are excluded
when --filter-semver is set.
Resolve the digest of a single tag with timoni artifact digest: