Package: colin
ColinTool to check generic rules and best-practices for container images and dockerfiles.For more information, please check ourdocumentation on colin.readthedocs.io.FeaturesValidate a selected artifact against a ruleset.Artifacts can be container images and dockerfiles.We provide a default ruleset we believe every container image should satisfy.There is a ruleset to validate an artifact whether it complies toFedora Container GuidelinesColin can list available rulesets and list checks in a ruleset.There is a python API availableColin can be integrated into your workflow easily - it can provide results in json format.InstallationViapipIf you are on Fedora distribution, please install python3-pyxattr so you don't
have to compile it yourself when getting it from PyPI.$pip3install--usercolincolinis supported on python 3.6+ only.On Fedora distributioncolin is packaged in official Fedora repositories:$ dnf install -y colinRequirementsFor checkingimagetarget-type, you have to installpodman. If you need to check local docker images, you need to prefix your images withdocker-daemon(e.g.colin check docker-daemon:docker.io/openshift/origin-web-console:v3.11).If you want to useocitarget, you need to install following tools:umociskopeoUsage$ colin --help
Usage: colin [OPTIONS] COMMAND [ARGS]...

  COLIN -- Container Linter

Options:
  -V, --version  Show the version and exit.
  -h, --help     Show this message and exit.

Commands:
  check          Check the image/dockerfile (default).
  info           Show info about colin and its dependencies.
  list-checks    Print the checks.
  list-rulesets  List available rulesets.$ colin check --help
Usage: colin check [OPTIONS] TARGET

  Check the image/dockerfile (default).

Options:
  -r, --ruleset TEXT           Select a predefined ruleset (e.g. fedora).
  -f, --ruleset-file FILENAME  Path to a file to use for validation (by
                               default they are placed in
                               /usr/share/colin/rulesets).
  --debug                      Enable debugging mode (debugging logs, full
                               tracebacks).
  --json FILENAME              File to save the output as json to.
  --stat                       Print statistics instead of full results.
  -s, --skip TEXT              Name of the check to skip. (this option is
                               repeatable)
  -t, --tag TEXT               Filter checks with the tag.
  -v, --verbose                Verbose mode.
  --checks-path DIRECTORY      Path to directory containing checks (default
                               ['/home/flachman/.local/lib/python3.7/site-
                               packages/colin/checks']).
  --pull                       Pull the image from registry.
  --target-type TEXT           Type of selected target (one of image,
                               dockerfile, oci). For oci, please specify
                               image name and path like this: oci:path:image
  --timeout INTEGER            Timeout for each check in seconds.
                               (default=600)
  --insecure                   Pull from an insecure registry (HTTP or invalid
                               TLS).
  -h, --help                   Show this message and exit.Let's give it a shot:$ colin -f ./rulesets/fedora.json registry.fedoraproject.org/f29/cockpit
PASS:Label 'architecture' has to be specified.
PASS:Label 'build-date' has to be specified.
FAIL:Label 'description' has to be specified.
PASS:Label 'distribution-scope' has to be specified.
:
:
PASS:10 FAIL:8Directly from gitIt's possible to use colin directly from git:$ git clone https://github.com/user-cont/colin.git
$ cd colinWe can now run the analysis:$ python3 -m colin.cli.colin -f ./rulesets/fedora.json registry.fedoraproject.org/f29/cockpit
PASS:Label 'architecture' has to be specified.
PASS:Label 'build-date' has to be specified.
FAIL:Label 'description' has to be specified.
PASS:Label 'distribution-scope' has to be specified.
:
:
PASS:10 FAIL:8Exit codesColin can exit with several codes:0--> OK1--> error in the execution2--> CLI error, wrong parameters3--> at least one check failed