schirrmie / upm

universal patch manager
GNU General Public License v3.0
34 stars 2 forks source link

Some suggestions / improvements / questions #2

Closed ShagoY closed 4 years ago

ShagoY commented 4 years ago

After testing, I have some suggestions for improvement:

1- Allow to add a host directly with the hostname+name (if different) and the associated folder.

2a- Allow to schedule the inventory and notify (mail/slack) if (or not) an update is available. 2b- If an update is available, schedule the upgrade automatically (Déactivable).

3- Hash the private key

4a- Allow multiple editing such as "Move host to a folder", change SSH username etc... 4b- Allow adding "important updates" on multiple hosts

5- Allow to install/remove an application (ansible style)

6- Save the state of the "Includes subfolder/Show update packages/Show full list" options between sessions/refresh the page

7- Display directly the last update history in the host's page

8- Adding the "last updated" date in the folder-server-list table

9- After an inventory, automatically select all the hosts with an available update.

Besides that, I have some questions/bugs: 1- After the creation of a VM/LXC, I have to do a first "apt update" manually on the host so that the inventory detects updates.

2- When an "important update" is available, the host (red line) is no longer automatically selected in the table (like the others), what's the idea behind that?

3- When I launch an upgrade on a host (or several), I find that there is a lack of information about the progress of the current task. For example if we refresh the page, select a host etc... We lose the "output" information and we don't know what's going on. According to you, is there a possibility to improve this?

Thanks again for your project!

schirrmie commented 4 years ago

Hello,

thank you for testing and your feedback!

1) Mostly the name and hostname is the same but yes its possible. To add a host to a specific folder you can use the "Add multiple hosts/folders". Here you can add hosts to existing folder or create new one. 2a) On my ToDo list is a simple REST API. This would make it possible to execute tasks using cron or something. 2b) If you want automatically patch your system you can use apt unattended upgrade. Why using UPM and automatically inventory and update when you can have the same with system utilities. But with the REST API this would also be possible with UPM. 3) Yes, the private key is not well implemented. The private key should be encrypted in the database. On my ToDo list is user rights management. This is to determine who can see and do what. 4a) Multiple movement would be nice, I will add this on my ToDo list. If you whant change SSH private key or username or so for multiple hosts, do not set them on the host. Set them on folder level or globally. 4b) Yes, maybe set important updates on folder level. This is easy to implement. 5) Please see the FAQ -> https://github.com/schirrmie/upm/blob/master/FAQ.md#can-packages-be-un-installed-can-repositories-be-managed- I do not want to make a new ansible or puppet. 6) Yes this is on my ToDo list. I need this feature too :) 7) Yes this is easy to implement. On my ToDo list is also an audit logging but one by one. 8) Yes, I also want the last inventory und update state in the list. As you have already written, if you reload the page the information is lost. 9) You don't need this. You can press inventory, look at the updates, if all is fine you just can press the Update all button. All hosts with updates will be updated. Hosts which are selected but don't have updates will not be updated.

Questions 1) Yes I know. We use the following to automaticly update the package list every day: echo 'APT::Periodic::Update-Package-Lists "1";' > /etc/apt/apt.conf.d/02periodic

You could also change the distribution command and add an apt update before. For example the "update list packages command" for Debian is the following: set -o pipefail; apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }' You could change this to set -o pipefail; apt-get update; apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'

We use the first solution because inventory in UPM is faster but the package list information is not up to date.

2) Again, I refer to the FAQ -> https://github.com/schirrmie/upm/blob/master/FAQ.md#what-are-important-updates With that "feature" You can inventory all and than just update all without looking for hosts who has important updates.

3) i know that and I'm still not satisfied with the situation. You should not reload the page while doing a task. I still don't know how to solve this, but I'm still thinking

ShagoY commented 4 years ago

I'm already using unattended upgrade, I even configured it to update custom repo's. But I was not satisfied because the notification (mail) only gives the upgrade process but I was missing the content of the updates. So clearly the automatic upgrade was just a suggestion in case it happens (like a test VM with only one package). When I saw your project on Reddit, I jumped at it!

Same for adding/removing a package, it's just a QOL.

schirrmie commented 4 years ago

Again, thank you for your Feedback. I will close this issue, but if you have any suggestions please post them.