-
Notifications
You must be signed in to change notification settings - Fork 483
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 fleetctl and Fleet UI support for remote flags #7377
Comments
@zhumo do we want to add this requirement? I think yes. "Keys under Both the Also, it looks like we're adding I suggest adding a requirement like... "Clearly document that |
Hey! Thanks for those suggestions. Yes, I agree with all of them. In addition, I might say, for a blank command_line_flags: { } # requires Orbit I will update the images and requirements. |
btw validation is for all of these: https://osquery.readthedocs.io/en/latest/installation/cli-flags/ |
@lukeheath can you please file the child issues for this epic and move them into the "Designed" column? |
@mna I'm assigning you this ticket from the roadmap to begin the spec process. Please spend some time researching the parent epic and related issues to understand goals and context. Once you have a good understanding of the feature request, please update the specs as necessary to reflect implementation details. Typically this would be separated into two issues (one for fleetctl+api changes, the other for the UI.) However, since the UI changes are just changing the YAML, I thought it might be something we could handle in a single issue. What do you think? If you have any ideas, questions, or concerns, please tag the appropriate people in a comment on this issue. Once you feel the issue is ready to estimate, please move it to the "Specified" column on the roadmap board. Thanks! |
One major question: will orbit authentication/enrollment already be done before this ticket? E.g. #7109 . Will orbit already make requests and receive agent options from fleet (i.e. distributed read/write)? This part is a big undertaking and will significantly affect the estimation. |
The answer is yes, this is part of the draft PR being worked on here: #7246 and confirmed by @zhumo here: #7109 (comment). So this ticket should not have to modify the agent at all. |
Just a heads up @noahtalerman @mna @zhumo -- both @lucasmrod and I think that |
@sharvilshah and @lucasmrod why do you think cc @zhumo |
@sharvilshah @lucasmrod We chose |
@zhumo do we no longer need these frontend changes? |
@sharvilshah is it the case that the requirements above will "just work" based on work you've done on the agent side? Or do we still need some interface work to meet the requirements above? |
@zhumo yep, it just works, there are no interface changes required... |
@sharvilshah just double checking here.
Did your work cover the UI changes in number (3) and (4) under the "Tasks" section? (from this issue's description) |
@noahtalerman, no my work does not cover the (3) and (4) UI changes -- To clarify: If you add |
Got it. Thanks! @sharvilshah your changes didn't cover the validation specified by (5) right? |
@noahtalerman, no it doesn't cover (5) -- we didn't spec it out when outlined the changes to orbit and Fleet |
Got it! I'm trying to figure out what's left. @zhumo FYI the UI changes (3 and 4 under "Tasks") and validation (5) specified in this ticket are not finished. Currently, it's unlikely the interface team will get these changes in this release. Should we loop in an engineer on the platform team? Also, it may make sense to only prioritize the UI changes. I think we can push the validation to the next release. |
@sharvilshah the config options will still work even without the UI making them appear right? If so, @noahtalerman I think we can ship the orbit work in this release, and wait on 3,4,5. |
@zhumo yes, exactly |
Sounds good 👍 |
Ah, I might have overlooked 1 and 2 in this ticket as well. That is, the ability to set flags using the
@sharvilshah a user won't be able to do this yet, correct? |
cc @zhumo ^^ |
@noahtalerman they will, the way it's implemented means it is transparent and it should not matter whether Fleet UI is used or Unless of course there is a bug :) |
Got it! @sharvilshah I marked 1 and 2 under tasks as done. Please let me know if this doesn't make sense. cc @mna |
@lukeheath I have a PR out for the backend validation of the new flags section (#7979 ), and I will take a shot at the frontend changes in a separate PR, but note that this is not just static text changes - it requires some code to remove the |
The `overrides` section was removed from the default agent options in "Add fleetctl and Fleet UI support for remote flags" #7377: > When there is no overrides being specified by the user, do not show a blank overrides section - Remove the info banner that links to help with `overrides` because a new Fleet user won't understand what the `overrides` section is.
This feature requires Orbit, the Fleet agent manager: https://fleetdm.com/announcements/introducing-orbit-your-fleet-agent-manager
If, at some point, you revoked an old enroll secret, this feature won't work for hosts that were added to Fleet using this old enroll secret. This is because Orbit uses the enroll secret to receive new flags from Fleet. For these hosts, all existing features will work as expected.
To update the flags on these hosts, we recommend deploying a new package. This will update each host's enroll secret. Here's how to deploy a new package:
SELECT * FROM orbit_info WHERE enrolled = false
fleetctl package
command with an active enroll secret.fleetctl package
command to create a new package. Distribute this package to the hosts that returned results in step (1).Problem
Currently, whenever admins want to change the flags on osquery, they have to deploy the new flag to the end user via MDM or a Munki-equivalent. This results in a lot of effort and time and risk.
We want to make this deployment step unnecessary. Instead, the admin should be able to specify new osquery flags to Fleet, and the Orbit instances installed should re-start osquery with the appropriate flags.
Parent epic
Requirements
agent_options
key in theconfig
YAML supports a newcommand_line_flags
key.agent_options
key in theteam
YAML supports a newcommand_line_flags
key.command_line_flags
key.command_line_flags
key.command_line_flags
are validated (keys match real keys and values are right type of data) based on the latest osquery (https://osquery.readthedocs.io/en/latest/installation/cli-flags/).Design
When there are no configs for

command_line_flags
, then there is a blankcommand_line_flags: {} # requires Orbit
setting in second position after theconfig
setting.When the

command_line_flags
config is populated:Note that
overrides
is hidden in all cases.Tasks
1
command_line_flags
top-level key in the organization settings' agent options YAML and JSON (AppConfig)overrides
setting does not accommodatecommand_line_flags
, which is why it is only allowed at the top-level (and not insideconfig
or every override)2
command_line_flags
top-level key in the team's agent options YAML and JSONoverrides
setting does not accommodatecommand_line_flags
, which is why it is only allowed at the top-level (and not insideconfig
or every override)3
command_line_flags
key.command_line_flags
, then there is a blankcommand_line_flags: {} # requires Orbit
setting in second position after theconfig
setting.command_line_flags
config is populated, it displays those settingsoverrides
being specified by the user, do not show a blankoverrides
section4
command_line_flags
key5
The text was updated successfully, but these errors were encountered: