Skip to content

endoflifectl is Go CLI tool that provide capabillities to query EOL information for varius of products.

License

Notifications You must be signed in to change notification settings

asafdavid23/eolctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go

End of Life Control (eolctl)

eolctl is a command-line tool that helps developers and system administrators manage and monitor the end-of-life (EOL) status of various software products. This tool queries the endoflife.date API to provide real-time information about software versions and their support lifecycle.

Features

  • Check the EOL status of various programming languages and frameworks.
  • Scan your code project (GO and JS only supported for now.)
  • Get a custom range for versions.
  • Export to JSON file

Installation

You can install eolctl by downloading the latest release from the releases page

curl -LO https://github.com/asafdavid23/eolctl/releases/latest/download/eolctl
chmod +x eolctl
sudo mv eolctl /usr/local/bin/

For Windows, download the binary and add it to your system PATH.

Alternatively, you use brew for (MacOS / Linux)

brew tap asafdavid23/tap
brew update
brew install eolctl

Usage

eolctl get product --name go --version 1.23
+--------+-------------------+-------------+-----+-----+---------+
| LATEST | LATESTRELEASEDATE | RELEASEDATE | LTS | EOL | SUPPORT |
+--------+-------------------+-------------+-----+-----+---------+
| 1.23.2 | 2024-10-01        | 2024-08-13  |     |     |         |
+--------+-------------------+-------------+-----+-----+---------+

eolctl get prodeuct --name python --min 3.10 --max 3.12
+-------+---------+-------------------+-------------+-----+------------+------------+
| CYCLE | LATEST  | LATESTRELEASEDATE | RELEASEDATE | LTS |    EOL     |  SUPPORT   |
+-------+---------+-------------------+-------------+-----+------------+------------+
|  3.13 | 3.13.0  | 2024-10-07        | 2024-10-07  |     | 2029-10-31 | 2026-10-01 |
|  3.12 | 3.12.7  | 2024-10-01        | 2023-10-02  |     | 2028-10-31 | 2025-04-02 |
|  3.11 | 3.11.10 | 2024-09-07        | 2022-10-24  |     | 2027-10-31 | 2024-04-01 |
|  3.10 | 3.10.15 | 2024-09-07        | 2021-10-04  |     | 2026-10-31 | 2023-04-05 |
+-------+---------+-------------------+-------------+-----+------------+------------+
eolctl scan project /tmp/testproj --output table
+---------+---------+------------+
| PRODUCT | VERSION |    EOL     |
+---------+---------+------------+
| go      |    1.20 | 2024-02-06 |
| python  |    3.10 | 2026-10-31 |
+---------+---------+------------+

CI Integration

eolctl is perfect for use in CI/CD pipelines to ensure the languages and versions in your project are not deprecated. Here's an example GitHub Action workflow:

name: Check EOL

on: [push]

jobs:
  check-eol:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Run eolctl
      run: |
        curl -LO https://github.com/asafdavid23/eolctl/releases/latest/download/eolctl
        chmod +x eolctl
        ./eolctl scan proejct .

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes. Refer to the Contributing Guide for more information.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

endoflifectl is Go CLI tool that provide capabillities to query EOL information for varius of products.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages