# Indicator for EoL of OS in Virtualmin Dashboard

**URL:** <https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856>\
**Category:** Blue Skies\
**Created:** [April 8, 2024, 7:07pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856 "2024-04-08T19:07:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![calport](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/calport/32/44_2.png) [@calport](https://forum.virtualmin.com/u/calport)\
**Post date:** [April 8, 2024, 7:07pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/1 "2024-04-08T19:07:39Z")

</div>

Could we have a visual / colour indicator for EoL status of the operating system in the Virtualmin Dashboard, like there is for Webmin version, Virtualmin version, Usermin version and Theme version?

Quite simply, if the OS is EoL, show it in red.

#FeatureRequest

---

<div class="post-metadata">

**Author:** ![Joe](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/joe/32/9_2.png) [@Joe](https://forum.virtualmin.com/u/Joe)\
**Post date:** [April 8, 2024, 9:42pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/2 "2024-04-08T21:42:00Z")

</div>

That’s a good idea. I’m not sure how we’d implement it in a reliable way. I think apt will say something about it on `apt update`, but it’s in a mess of text, I’m not confident it’s always the exact same phrase in every EOL version or that it’ll stay the same.

I guess we could maintain our own list of EOL operating systems, but I’m sure we’d occasionally be a little behind, since I don’t monitor it super closely.

I’ll think on it.

---

<div class="post-metadata">

**Author:** ![Steini](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/steini/32/19731_2.png) [@Steini](https://forum.virtualmin.com/u/Steini)\
**Post date:** [April 8, 2024, 9:45pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/3 "2024-04-08T21:45:47Z")

</div>

You could pull the info from places like [https://endoflife.software/](https://endoflife.software/) or [https://endoflife.date/](https://endoflife.date/) (has an API too).

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 8, 2024, 9:54pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/4 "2024-04-08T21:54:28Z")

</div>

I like this idea too! @Jamie let’s just make a list of EOL OS (at least some, Grade A in Virtualmin for starters) and just push a notification to the Dashboard a few months before EOL and make it dismissible.

---

<div class="post-metadata">

**Author:** ![Joe](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/joe/32/9_2.png) [@Joe](https://forum.virtualmin.com/u/Joe)\
**Post date:** [April 8, 2024, 10:07pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/5 "2024-04-08T22:07:52Z")

</div>

Yeah, I wouldn’t want to pull from a third party on every client machine, but we could build our own static text list hosted on one of our servers from an API, and update it every week or whatever (EOL dates don’t change often, though Debian historically sort of vaguely moves around based on when the next new release is ready…the commercial distros have fixed dates that rarely change).

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 8, 2024, 10:26pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/6 "2024-04-08T22:26:45Z")

</div>

Yeah, though I don’t think we even need to pull it remotely. EOL is really not changing more often than Webmin releases, so I think it should be a simple local file.

---

<div class="post-metadata">

**Author:** ![Jamie](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/jamie/32/8589_2.png) [@Jamie](https://forum.virtualmin.com/u/Jamie)\
**Post date:** [April 8, 2024, 11:34pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/7 "2024-04-08T23:34:30Z")

</div>

Yeah I think this is a good idea. The question is where to store it … simplest would be a simple text file per distro that’s part of Virtualmin containing the support status like :

```auto
os_name=Debian Linux
os_version=13.0
status=supported
eol=12-12-2025

```

Only hard part would be creating all those files!

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 8, 2024, 11:45pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/8 "2024-04-08T23:45:13Z")

</div>

I think we should store it in Webmin, in `os_list_eol.txt` file.

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 8, 2024, 11:52pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/9 "2024-04-08T23:52:18Z")

</div>

… or perhaps in `os_list.txt` itself as the last parameter.

---

<div class="post-metadata">

**Author:** ![Joe](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/joe/32/9_2.png) [@Joe](https://forum.virtualmin.com/u/Joe)\
**Post date:** [April 9, 2024, 12:29am UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/10 "2024-04-09T00:29:45Z")

</div>

`os_list.txt` would explode in complexity. It doesn’t currently keep up with every single release…only the ones that change something Webmin cares about.

A separate EOL file is right. How to generate it…this API Steini linked above looks perfect: [endoflife.date API Documentation -](https://endoflife.date/docs/api)

The “get all details” endpoint is everything about each OS they track in a JSON file per OS.

---

<div class="post-metadata">

**Author:** ![Jamie](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/jamie/32/8589_2.png) [@Jamie](https://forum.virtualmin.com/u/Jamie)\
**Post date:** [April 9, 2024, 3:55am UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/11 "2024-04-09T03:55:54Z")

</div>

That could work, although we’d need to map between the distro names used by that API and the ones Webmin uses.

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 9, 2024, 1:08pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/12 "2024-04-09T13:08:01Z")

</div>

> [@Joe](#):
>
> `os_list.txt` would explode in complexity. It doesn’t currently keep up with every single release…only the ones that change something Webmin cares about.

@Joe, The real thing is that `detect_operating_system()` is already reading `os_list.txt` and updates `/etc/webmin/config` with `real_os_type`, `os_type`, `os_version`, etc. Additionally, a lot has been done around this subroutine, which is called from `get_webmin_notifications`, already part of the status collection that involves caching, and much more! Therefore, I believe we should just add OS **Active Support** as parameter #6 and **Security Support** as parameter #7 to `os_list.txt` file, and store it in `/etc/webmin/config` with `os_eol_active` and `os_eol_security` keys, using the standard SQL date format.

@Jamie, I’ll go check how we can automate this and send you a PR.

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 9, 2024, 2:38pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/13 "2024-04-09T14:38:12Z")

</div>

> [@Ilia](#):
>
> > [@Joe](#):
> >
> > `os_list.txt` would explode in complexity. It doesn’t currently keep up with every single release…only the ones that change something Webmin cares about.
> 
> @Joe, The real thing is that `detect_operating_system()` is already reading `os_list.txt` and updates `/etc/webmin/config` with `real_os_type`, `os_type`, `os_version`, etc. Additionally, a lot has been done around this subroutine, which is called from `get_webmin_notifications`, already part of the status collection that involves caching, and much more! Therefore, I believe we should just add OS **Active Support** as parameter #6 and **Security Support** as parameter #7 to `os_list.txt` file, and store it in `/etc/webmin/config` with `os_eol_active` and `os_eol_security` keys, using the standard SQL date format.

What I said is true though, you’re right, there is no need to store it in `os_list.txt` file.

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 9, 2024, 8:50pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/14 "2024-04-09T20:50:56Z")

</div>

Implemented here:

> <https://github.com/webmin/webmin/pull/2117>
>
> Hey Jamie,
> 
> As discussed \[here\](https://forum.virtualmin.com/t/indicator-for-eol…-of-os-in-virtualmin-dashboard/125856/11?u=ilia) I created an API to return an object of EOL related data for the current system.
> 
> Returned EOL object looks like this:
> 
> \`\`\`
> {
> '\_eol' =\> {
> 'daymonth' =\> 'Wednesday, June 10',
> 'month' =\> 'June',
> 'short' =\> '06/10/2026',
> 'timestamp' =\> 1781038800,
> 'year' =\> '2026'
> },
> '\_eol\_in' =\> {
> 'days' =\> 791,
> 'months' =\> 25,
> 'weeks' =\> 113,
> 'years' =\> 2
> },
> '\_eol\_sec' =\> {
> 'daymonth' =\> 'Saturday, June 10',
> 'month' =\> 'June',
> 'short' =\> '06/10/2028',
> 'timestamp' =\> 1844197200,
> 'year' =\> '2028'
> },
> '\_eol\_sec\_in' =\> {
> 'days' =\> 1522,
> 'months' =\> 50,
> 'weeks' =\> 217,
> 'years' =\> 4
> },
> '\_os' =\> 'Debian Linux',
> 'codename' =\> 'Bookworm',
> 'cycle' =\> '12',
> 'eol' =\> '2026-06-10',
> 'extendedSupport' =\> '2028-06-10',
> 'latest' =\> '12.5',
> 'latestReleaseDate' =\> '2024-02-10',
> 'link' =\> 'https://www.debian.org/News/2023/20230610',
> 'lts' =\> 1,
> 'releaseDate' =\> '2023-06-10'
> }
> \`\`\`
> 
> We can later use it in alter messages and table row to be show on the dashboard depending on configurable options.
> 
> The EOL data is cached for 5 days be default.
> 
> Have a look please!

---

<div class="post-metadata">

**Author:** ![Jamie](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/jamie/32/8589_2.png) [@Jamie](https://forum.virtualmin.com/u/Jamie)\
**Post date:** [April 9, 2024, 11:55pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/15 "2024-04-09T23:55:16Z")

</div>

Thanks, I will take a look at your PR!

---

<div class="post-metadata">

**Author:** ![Ilia](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/ilia/32/10185_2.png) [@Ilia](https://forum.virtualmin.com/u/Ilia)\
**Post date:** [April 11, 2024, 10:58am UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/16 "2024-04-11T10:58:03Z")

</div>

@calport How about this? Is it good enough?

 ![image](https://cdn.forum.virtualmin.com/uploads/default/original/2X/0/07e3f8243455ee670ccd42a1428994f03464a509.jpeg)

Or should we also add an alert message?

Also, it will be possible to configure how many months before the EOL message is shown, e.g.:

 ![image](https://cdn.forum.virtualmin.com/uploads/default/original/2X/8/8cfe1deefbc01e8fbea0c29d209632e857292e3f.png)

---

<div class="post-metadata">

**Author:** ![Shirehosting](https://cdn.forum.virtualmin.com/letter_avatar_proxy/v4/letter/s/eb8c5e/32.png) [@Shirehosting](https://forum.virtualmin.com/u/Shirehosting)\
**Post date:** [April 11, 2024, 12:17pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/17 "2024-04-11T12:17:23Z")

</div>

Hi Illia

First warning is enough (screen shot)… no one is going to go reading about how long before EOL on a page I have never visited in the 10 plus years we been running Virtualmin

Thanks  
Michael

---

<div class="post-metadata">

**Author:** ![shoulders](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/shoulders/32/10086_2.png) [@shoulders](https://forum.virtualmin.com/u/shoulders)\
**Post date:** [April 11, 2024, 12:54pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/18 "2024-04-11T12:54:53Z")

</div>

I think this is just right. An alert message is a one time deal, this is a constant reminder to be a good server guy but is not in your face.

3 month for the warning in red, maybe from 6 months out use an orange colour for defaults. This obviously require 2 settings.

Being able to set these time is a good idea for those who like to be proactive.

---

<div class="post-metadata">

**Author:** ![calport](https://cdn.forum.virtualmin.com/user_avatar/forum.virtualmin.com/calport/32/44_2.png) [@calport](https://forum.virtualmin.com/u/calport)\
**Post date:** [April 11, 2024, 3:14pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/19 "2024-04-11T15:14:31Z")

</div>

> [@Ilia](#):
>
> @calport How about this? Is it good enough?

Thank you very much @Ilia and the Virtualmin team. This is most satisfactory and will be of help to users to plan ahead for upgrades.

---

<div class="post-metadata">

**Author:** ![system](https://cdn.forum.virtualmin.com/uploads/default/original/2X/c/cd96d761e326db4b2bef94886a639109bd7a8e76.svg) [@system](https://forum.virtualmin.com/u/system)\
**Post date:** [June 10, 2024, 3:15pm UTC](https://forum.virtualmin.com/t/indicator-for-eol-of-os-in-virtualmin-dashboard/125856/20 "2024-06-10T15:15:17Z")

</div>

Closed on June 10, 2024, 3:15pm UTC

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
