civ - container image verifier
The container image verifier - civ
checks based on constraints container images. For this purpose is a config file
required which contains the constraint definitions. The config file must be passed as argument to civ
. civ
writes
the results into a separate file.
Currently is json
and yaml
supported. As default will be yaml
used. Optionally can be specified via the second arg
the result file.
civ config.yaml [ result.yaml ]
Constraints
Labels
Exists
Verify if container image git.cryptic.systems/volker.raschek/civ:latest
has label
org.opencontainers.image.documentation
defined.
images:
git.cryptic.systems/volker.raschek/civ:latest:
labelConstraints:
org.opencontainers.image.documentation:
exists: true
Compare Semantic Versioning
Verify, if the container image git.cryptic.systems/volker.raschek/civ:latest
has label
org.opencontainers.image.version
defined and has a greater version than 2.5.7
.
images:
git.cryptic.systems/volker.raschek/civ:latest:
labelConstraints:
org.opencontainers.image.version:
compareSemver:
greaterThan: 2.5.7
Alternatively, can lessThan
and equal
be used. For example to define a range of 2.5.7~2.8.4
with lessThan
and
greaterThan
.
images:
git.cryptic.systems/volker.raschek/civ:latest:
labelConstraints:
org.opencontainers.image.version:
compareSemver:
greaterThan: 2.5.7
lessThan: 2.8.4
Compare String
Verify, if the container image git.cryptic.systems/volker.raschek/civ:latest
has label
org.opencontainers.image.documentation
defined and the value starts with https://
and ends with README.md
.
images:
git.cryptic.systems/volker.raschek/civ:latest:
labelConstraints:
org.opencontainers.image.documentation:
compareString:
hasPrefix: "https://"
hasSuffix: "README.md"
Alternatively, can be equal
used to compare the value of a label with a expected value.
Count labels with corresponding prefix, suffix or match pattern
No more than 3 labels with the prefix org.opencontainers
and exactly one labels with the suffix version
may be
defined for the image git.cryptic.systems/volker.raschek/civ:latest
.
images:
git.cryptic.systems/volker.raschek/civ:latest:
labelConstraints:
org.opencontainers%:
count:
lowerThan: 4
%version:
count:
equal: 1
The functions lessThan
and equal
are also available as constraints.