isard-vdi / isard

Isard VDI. Open Source KVM Virtual Desktops based on KVM Linux and dockers. Please use https://gitlab.com/isard/isardvdi
http://www.isardvdi.com
GNU Affero General Public License v3.0
192 stars 57 forks source link

Notify the admin if there's a new IsardVDI available version #126

Closed NefixEstrada closed 2 months ago

NefixEstrada commented 5 years ago

It would be nice if IsardVDI checked if there were newer versions available. An example would be "a cron job" that ran once per day checking the latest GitHub release. Then, a banner would appear saying that there's an update available.

Some options would appear:

jvinolas commented 5 years ago

This is a must. But we should work a bit how the version is detected. I mean, there should be a version coded somewhere in the client and also in github. I see the github release detection but we should agree where to store current client version.

jvinolas commented 5 years ago

the cron could be an scheduler, as we already have it in webapp

jvinolas commented 5 years ago

We could just get the tag_name? And for local checking use the subprocess

import subprocess label = subprocess.check_output(["git", "describe"]).strip()

But then the isard-app image should add git.

Also it is possible to do in subprocess a git pull (update) and a reboot of the container to fully automate the upgrade through the UI. We should take care to do a database backup and bring a method to go back (git checkout latest version and restore db).

curl "https://api.github.com/repos/isard-vdi/isard/releases/latest" { "url": "https://api.github.com/repos/isard-vdi/isard/releases/15792933", "assets_url": "https://api.github.com/repos/isard-vdi/isard/releases/15792933/assets", "upload_url": "https://uploads.github.com/repos/isard-vdi/isard/releases/15792933/assets{?name,label}", "html_url": "https://github.com/isard-vdi/isard/releases/tag/1.1.0", "id": 15792933, "node_id": "MDc6UmVsZWFzZTE1NzkyOTMz", "tag_name": "1.1.0", "target_commitish": "master", "name": "1.1.0", "draft": false, "author": { "login": "NefixEstrada", "id": 22214853, "node_id": "MDQ6VXNlcjIyMjE0ODUz", "avatar_url": "https://avatars2.githubusercontent.com/u/22214853?v=4", "gravatar_id": "", "url": "https://api.github.com/users/NefixEstrada", "html_url": "https://github.com/NefixEstrada", "followers_url": "https://api.github.com/users/NefixEstrada/followers", "following_url": "https://api.github.com/users/NefixEstrada/following{/other_user}", "gists_url": "https://api.github.com/users/NefixEstrada/gists{/gist_id}", "starred_url": "https://api.github.com/users/NefixEstrada/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/NefixEstrada/subscriptions", "organizations_url": "https://api.github.com/users/NefixEstrada/orgs", "repos_url": "https://api.github.com/users/NefixEstrada/repos", "events_url": "https://api.github.com/users/NefixEstrada/events{/privacy}", "received_events_url": "https://api.github.com/users/NefixEstrada/received_events", "type": "User", "site_admin": false }, "prerelease": false, "created_at": "2019-02-26T22:07:50Z", "published_at": "2019-02-26T22:09:38Z", "assets": [

], "tarball_url": "https://api.github.com/repos/isard-vdi/isard/tarball/1.1.0", "zipball_url": "https://api.github.com/repos/isard-vdi/isard/zipball/1.1.0", "body": "## [1.1.0] - 2019-02-26 | Canigó\r\n\r\n### Added\r\n- Support under VMWare #98\r\n- Support on AMD cpu #98\r\n- Permissions on templates and bases in admin mode #118\r\n- Delete templates and bases with all the derived desktops and templates (admin mode) #114\r\n- Complete domain chain in domain dictionary #78\r\n- Delete media will delete the media in all domains #111\r\n\r\n### Changed\r\n- Force host-passthrough cpu mode in domains for better compatibility #101\r\n- Swapped wizard steps hypervisor and engine as makes more sense to check first the engine. #81\r\n- Domain status engine detection now done using stats thread. Not relaying only in libvirt events. #120\r\n\r\n### Fixed\r\n- On physical host reboot the hypervisor docker gets online again. #119\r\n- Media status correctly shown in web interface. #110\r\n- Post installation updates register now works. #109\r\n- Admin base and template modals not shown. #112\r\n- Restart download when failed #91\r\n- Delete process is now more atomic and will delete domain from database even if there are problems during disk delete. #117\r\n\r\n### Removed\r\n- Windows install checkbox on creating domain. Not needed anymore. #115\r\n- Global actions removed from templates and bases as are not needed there. #116\r\n"

fgonzalezmacias commented 3 years ago

I think it would be interesting to go back to this topic and finally implement it

Thanks

fgonzalezmacias commented 3 years ago

I think a goo site to show the general version and a version for each container of IsardVDi, is the About page

image

jvinolas commented 2 months ago

Feel free to reopen it at gitlab.

Issues from now on will only be held at https://gitlab.com/isard/isardvdi/-/issues