Sign inSign up

omitsis/orwinn

By omitsis

•Updated over 2 years ago

Image
0

1.1K

omitsis/orwinn repository overview

⁠Orwinn: A Software EOL Scanner

This is a simple golang program with no dependencies that scans the host sytem or a docker image for EOL versions or end of supports and gives you a report. It also supports reports in JSON format.

It uses endoflife.date⁠ as the information source.

⁠Usage

To scan the host system:

id=$(docker create omitsis/orwinn) docker cp $id:/usr/bin/orwinn .
./owrwinn scan

To scan a docker image:

docker run -it --rm \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    -v /etc/os-release:/etc/os-release:ro omitsis/orwinn \
    scan -i php:7.4

Run orwinn help to see all possible commands and flags.

⁠Example config file

You can use a custom config file to add compatibility with extra software that is not baked into orwin:

    [
        {
            "name": "python",
            "command": "python",
            "version_args": [
                "--version"
            ],
            "version_regex": "Python (\\d+\\.\\d+)"
        }
    ]
  • name: The name from endoflife.date⁠
  • command: The command to invoke the software
  • version_args: The command args to get the version. Must be a string array. (Eg: -v for php -v)
  • version_regex: The regex to extract the version. Must match the endoflife.date⁠ format for the software.

Then use orwinn scan -c /path/to/config.json and point to your config file.

⁠JSON output

You can use --json to enable a JSON output. The JSON output looks like this:

[
    {
        "name": "php",
        "version": "7.4",
        "eol_date": "2022-11-28",
        "support_date": "2021-11-28",
        "cycle_latest": "",
        "is_eol": "true",
        "has_support": "false",
        "has_extended_support": "true",
        "messages": [
            "UPDATE REQUIRED: END OF LIFE since 2022-11-28",
            "UPDATE REQUIRED: SUPPORT ENDED on 2021-11-28"
        ],
        "emoji": "🚨"
    }
]

Note that has_suport and has_extended_support default to "false" if endoflife.date does not provide them. Always check if the corresponding support_date or extended_support_date fields are present, which will indicate you if the false value refers to "support has ended" or "support not provided".

Tag summary

Content type

Image

Digest

sha256:c7479ac7b…

Size

19.1 MB

Last updated

over 2 years ago

docker pull omitsis/orwinn