Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support UUIDs in the Admin API #8862

Closed
DemiMarie opened this issue Jan 14, 2024 · 2 comments · Fixed by QubesOS/qubes-core-admin#574
Closed

Support UUIDs in the Admin API #8862

DemiMarie opened this issue Jan 14, 2024 · 2 comments · Fixed by QubesOS/qubes-core-admin#574
Assignees
Labels
C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. pr submitted A pull request has been submitted for this issue. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.

Comments

@DemiMarie
Copy link

How to file a helpful issue

The problem you're addressing (if any)

VM names can be reused.

The solution you'd like

Allow UUIDs to be passed instead in the Admin API

The value to a user, and who that user might be

See also #8510.

@DemiMarie DemiMarie added T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels Jan 14, 2024
@DemiMarie DemiMarie self-assigned this Jan 14, 2024
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
@andrewdavidwong andrewdavidwong added the pr submitted A pull request has been submitted for this issue. label Jan 14, 2024
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jan 14, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support the @uuid: keyword.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the "uuid" argument is used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Feb 6, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Feb 6, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Feb 6, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Feb 15, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.
- A new stubdom_uuid property contains the UUID of the stubdomain.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Apr 19, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  (with "uuid:" prefix) is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.
- A new stubdom_uuid property contains the UUID of the stubdomain.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Apr 19, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  (with "uuid:" prefix) is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.
- A new stubdom_uuid property contains the UUID of the stubdomain.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jun 27, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  (with "uuid:" prefix) is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.
- A new stubdom_uuid property contains the UUID of the stubdomain.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jun 27, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  (with "uuid:" prefix) is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.
- A new stubdom_uuid property contains the UUID of the stubdomain.

Fixes: QubesOS/qubes-issues#8862
DemiMarie added a commit to DemiMarie/qubes-core-admin that referenced this issue Jun 27, 2024
This supports using UUIDs (instead of VM names) in the Admin API.  It
also provides the UUIDs to qrexec-policy-daemon, which will use them to
support uuid:<UUID> syntax as an alternative way of naming a VM.

All admin APIs now support UUIDs as source and destination.  Specific
APIs changed include:

- admin.vm.CreateDisposable: if the payload is "uuid" used, the VM UUID
  (with "uuid:" prefix) is returned instead of the name.
- admin.vm.List: the UUID is included in the returned list.
- internal.GetSystemInfo: the UUID is returned in the "uuid" key of each
  VM's JSON object.
- A new stubdom_uuid property contains the UUID of the stubdomain.

Fixes: QubesOS/qubes-issues#8862
@alimirjamali
Copy link

Is qvm-ls updated yet to utilize this new feature and provide UUID column? Or anyone is planning to work on it?

alimirjamali added a commit to alimirjamali/qubes-core-admin-client that referenced this issue Oct 14, 2024
@alimirjamali
Copy link

I submitted the PR (since I did not find any related open PR). I wonder if similar functionality should be added to qvm-check and other utilities. Theoretically if this is added to qubesadmin.tools argument parser, all commands could support uuid: for vm selection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. pr submitted A pull request has been submitted for this issue. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants