[pve-devel] [PATCH common/cluster/qemu/container/wt/manager v7] add tags to ui

Dominik Csapak d.csapak at proxmox.com
Fri Sep 16 09:50:32 CEST 2022


On 9/16/22 09:19, Thomas Lamprecht wrote:
> Am 21/06/2022 um 11:19 schrieb Dominik Csapak:
>> this series brings the already existing 'tags' for ct/vms to the gui:
>> * tags can be edited in the status toolbar of the guest
>> * existing tags will be shown in the tree/global search/resource grids
>> * when editing a tag, a list of existing tags will be shown
>> * by default, the color is (consistently) autogenerated based on the
>>    text
>> * that color can be overriden in datacenter -> options (cluster wide)
>>    (edit window for browser local storage is TBD)
>> * by default, the text color is either white or black, depending which
>>    provides the greater contrast (according to SAPC)
>> * this text color can also be overridden
>> * there are multiple shapes available for the tree (see [0])
>> * adds new 'admin' tags that need higher privliges, these can then be
>>    used to enable features like 'inlude in backup by tag', etc.
> 
> I didn't find the permission semantics for non-admin tags when skimming
> the series, but after thinking about it off an on again recently I figure
> that it could be seen as quite problematic in general to even assign existing
> tags, then visible in the resource view, if the user got only limited privileges
> to a VM; and that it could be quite problematic for such users to create new
> ones, allowing typo squatting, slurs, ...? to have ill effects to other users
> or admins of the same system/cluster. I mean to a certain degree this can be
> correlated to the permission semantics of the hostname, but still there's more
> of them and they're way flashier.

thats true of course, the current tags require 'VM.Config.Options' privileges,
so anybody who has some edit access to vms can add tags there

> 
> One method could be (always talking about non-admin tags for now):
> 
> * allow unrestricted usage of those for users with Sys.Modify on / + the rights
>    on the object to modify (i.e., for guests that would be VM.Modify on /vms/<vmid>)
> 
> * for users without the powerful Sys.Modify on / we could give the admins the decision,
>    for example through a datactenter.cfg property that could work like:
> 
>    user-tag-privs: useable=<none|existing|free|list>[,list=<tag1;tag2;...>]
>    
>    Meaning:
>    - useable=none -> only users with powerful Sys.Modify -> / can configure tags
>    - useable=existing -> currently existing tags can be used, the list could be added
>      as base-set (so that users that only got one VM can actually set some)
>    - useable=free -> existing can be used freely and new ones can be added freely,
>      the list would only act as base suggestion set.
>    - useable=list -> well, the list reflects all allowed tags to use (independent
>      if they exist for that users POV or don't).

this looks nice, the default would have to be usable=free for it to be not a breaking
change though (or is it?), could be changed ofc with the next major release

> 
> This would be still orthogonal to admin:tags (as their purpose is to avoid users
> adding a possible OK tag to a unwanted guest due to actions like backup using said
> tag).

we could also add a list of predefined admin tags here too (either as seperate option,
or as second list in the property string), that would only be settable by users with
  'Sys.Modify' on /

that is what i suggested to Aarons review regarding admin confusion

would that make more sense than using some prefix maybe?

> 
> ps, semi-related. I'd like (as it not strictly insist on that, but I find it a bit
> too ugly to do) to not further extend the already misused /version call if possible.
> I just find it unidiomatic and adding a new one now with the current extra info would
> be possible, we then could remove that extra info from /version with the next major
> release.

yes, a 'datacenter-info' (or similar, it was the first thing that popped into my mind)
would be nicer





More information about the pve-devel mailing list