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

Add manual labels via UI and API #17031

Closed
3 of 8 tasks
marko-lisica opened this issue Feb 21, 2024 · 14 comments
Closed
3 of 8 tasks

Add manual labels via UI and API #17031

marko-lisica opened this issue Feb 21, 2024 · 14 comments
Assignees
Labels
customer-preston #g-mdm MDM product group P2 Prioritize as urgent :product Product Design department (shows up on 🦢 Drafting board) prospect-rosner story A user story defining an entire feature
Milestone

Comments

@marko-lisica
Copy link
Member

marko-lisica commented Feb 21, 2024

Goal

User story
As a Client Platform Engineer (CPE),
I want to use the UI or an easy to use API to create and manage manual labels
so that I don't have to use fleetctl to create and manage labels.

Context

Changes

Product

Engineering

  • Database schema migrations: TODO
  • Load testing: TODO

ℹ️  Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".

QA

Risk assessment

  • Requires load testing: TODO
  • Risk level: Low / High TODO
  • Risk description: TODO

Manual testing steps

  1. Step 1
  2. Step 2
  3. Step 3

Testing notes

Confirmation

  1. Engineer (@____): Added comment to user story confirming successful completion of QA.
  2. QA (@____): Added comment to user story confirming successful completion of QA.
@marko-lisica marko-lisica added :product Product Design department (shows up on 🦢 Drafting board) ~feature fest Will be reviewed at next Feature Fest prospect-rosner labels Feb 21, 2024
@noahtalerman
Copy link
Member

This makes sense. Brining this request to feature fest.

@noahtalerman noahtalerman removed the :product Product Design department (shows up on 🦢 Drafting board) label Feb 27, 2024
@noahtalerman noahtalerman added story A user story defining an entire feature :product Product Design department (shows up on 🦢 Drafting board) and removed ~feature fest Will be reviewed at next Feature Fest labels Mar 8, 2024
@noahtalerman
Copy link
Member

Hey @dherder heads up, this story was prioritized during feature fest.

Aiming to ship an improvement in the next 6 weeks.

@noahtalerman
Copy link
Member

Hey @dherder and @marko-lisica heads up, I think we want to take a different direction w/ this story.

Instead of building on top of the existing fleetctl apply functionality for labels, I think we want to add a way to manage manual labels via the UI/API. User should be able to specify host by any host identifier.

Dave, I think let's try to get the customer's feedback on this approach once we have designs/wireframes.

I moved the original issue description here:

Problem

Currently, user can create manual label only by referencing hostname. Using only hostname to create label is fragile, as hostnames can change frequently. That can break automation based on the labels.

Potential solutions

Add way to use other host's identifiers to create manual label, such as uuid, id, serial_number

@noahtalerman noahtalerman added the #g-mdm MDM product group label Mar 11, 2024
@marko-lisica marko-lisica changed the title Create manual labels by referencing host's uuid, id, serial_number Add manual labels via UI and API Mar 15, 2024
@noahtalerman
Copy link
Member

Hey @marko-lisica looking good! I recorded a Loom video w/ my feedback here: https://www.loom.com/share/5225a3c03b114a26a5a6addbf8d61e89?sid=3433294f-f5de-44db-9259-3cc29ed6f471

@georgekarrv georgekarrv added Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. and removed Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. :product Product Design department (shows up on 🦢 Drafting board) labels Mar 27, 2024
@georgekarrv georgekarrv added this to the 4.49.0-tentative milestone Apr 2, 2024
@mikermcneil
Copy link
Member

image

thoughts / first reactions:

  • "manual" sounds hard
  • "dynamic" is true, I wonder if "smart xyz" would remind folks of things they might be used to from other products. "intelligent" perhaps, though does that sound like some kind of spit-shine AI thing?

@noahtalerman noahtalerman added the P2 Prioritize as urgent label Apr 10, 2024
@noahtalerman
Copy link
Member

thoughts / first reactions:

  • "manual" sounds hard
  • "dynamic" is true, I wonder if "smart xyz" would remind folks of things they might be used to from other products. "intelligent" perhaps, though does that sound like some kind of spit-shine AI thing?

We decided to stick w/ "manual" and "dynamic" because we're stuck w/ them. They're already in the API.

"smart xyz" would remind folks of things they might be used to from other products

@marko-lisica, Mike and I were thinking that we could add a description to the Add label page. What do you think?

Screenshot 2024-04-11 at 4 30 11 PM

Also, we got feedback from Mike that we should remove UUID and replace Private IP w/ Location (empty state if we don't have it) in the host selector.

When you get the chance can you please work w/ @ghernandez345 to bring those changes through expedited drafting?

@ghernandez345
Copy link
Contributor

ghernandez345 commented Apr 12, 2024

@noahtalerman do you mean replace the text "Private IP" with "Location"? something like this? I'm assuming the placeholder text in the input should say location too instead of private IP? or something like Search name, hostname, serial number, or location (private IP address)?

image

@noahtalerman
Copy link
Member

noahtalerman commented Apr 12, 2024

@ghernandez345 my understanding is that Fleet uses a host's public IP to determine location.

Today, the GET /hosts/:id endpoint returns a geolocation object.

Do we have the field available in the relevant API endpoint for the manual label? If we don't then I think we can cut this column. Only use name, hostname, and serial number.

If we do have the geolocation object, can you search hosts by location in the relevant API? If not, I think we remove "location" from the text in the search input:

Screenshot 2024-04-13 at 9 39 56 AM

Also, what's the empty state for the "Location" column? Maybe we use "---"?

Screenshot 2024-04-13 at 9 40 13 AM

Heads up, I think many users will have empty locations (this is ok). Why? Location only appears if you have GeoIP configured.

cc @marko-lisica

@noahtalerman
Copy link
Member

noahtalerman commented Apr 13, 2024

Hey @marko-lisica I left feedback on the UI changes in a Loom here.

Summary:

  • Tweaked the help text at the top of the page
  • Updated "SQL" to "Query" for the input name
  • Can we come up w/ a simple example query to use as a placeholder for dynamic labels. This way, new users learn how to write queries for labels.

@noahtalerman
Copy link
Member

FYI @ghernandez345 ^

ghernandez345 added a commit that referenced this issue Apr 16, 2024
relates to #17031

Adds functionality to create manual labels in fleet.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] M0anual QA for all new/changed functionality

---------

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
@georgekarrv georgekarrv added :demo and removed :demo labels Apr 19, 2024
@lukeheath lukeheath added :product Product Design department (shows up on 🦢 Drafting board) and removed :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. labels Apr 24, 2024
@noahtalerman
Copy link
Member

Hey @pintomi1989 and @dherder heads up, this customer/prospect request was shipped in 4.49 🤖

@rachaelshaw
Copy link
Member

Created a fresh doc PR here from @marko-lisica's branch: #18716 (to avoid messing with PR open time KPI)

@rachaelshaw
Copy link
Member

Doc changes are merged

@fleet-release
Copy link
Contributor

Labels through UI, API,
Ease for Engineers, like spring rain,
Fleet grows, clear as day.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer-preston #g-mdm MDM product group P2 Prioritize as urgent :product Product Design department (shows up on 🦢 Drafting board) prospect-rosner story A user story defining an entire feature
Development

No branches or pull requests

9 participants