Closed mikermcneil closed 8 months ago
Zay: # 1 for blanco
Zay: Part of packs => teams migration for blanco. Currently in "testing" phase.
@noahtalerman get w/ Mike to understand this. Do we air guitar this?
Feature fest: Blocking the customer from moving past "testing" phase for teams. Let's air guitar this.
Hey @zayhanlon heads up, we pulled this into the upcoming design sprint as an air guitar.
For future: Target osquery flags based on label. Target osquery flags based on device attribute.
apiVersion: v1
kind: team
spec:
name: deploy-stage-4
agent_options:
command_line_flags:
disable_watchdog: false
logger_path: /path/to/logger
osqueryd_update_channel: stage-4
orbit_update_channel: stage-4
command_line_flags:
labels:
- Hosts with docker installed
logger_path: /path/to/different/logger
Noah: Any reason to limit which flags you can remotely configure? For example, what happens when I update --enroll-secret
?
Zach:
fleetctl package
only flags: --local-wix-dir
and --type
, --notarize
, --identifier
Noah: Start w/ update channels. Come back to other options later.
@zayhanlon this issue didn't make it into the current sprint, bringing this back to Feature Fest.
@noahtalerman
fleetd changes: Add validation to fleetd startup. If one or both of the update channels don't exist, fleetd logs an error and doesn't change it's channels.
Actually what will happen is: orbit will write errors to the log about the inexistent/invalid channel/s and then will not auto-update the component/s until the channel is changed in Fleet's update_channels
setting or the user pushes something to the channel.
@xpkoala I've just added manual steps to test this feature.
orbit will write errors to the log about the inexistent/invalid channel/s and then will not auto-update the component/s until the channel is changed in Fleet's update_channels setting or the user pushes something to the channel.
@lucasmrod makes sense. I updated this story's description to the following so that the expected behavior is QA'd:
fleetd changes: If one or both of the update channels are invalid or don't exist, orbit logs errors until the update channel is changed to a valid channel in the Fleet YAML or the self-managed TUF repo
Please feel free to correct it if it's inaccurate.
Still TODO:
Remove mention of "Fleet's osquery installer" in docs: https://github.com/fleetdm/fleet/pull/15872/files#diff-8418e1a527974b8181195b29ac3127e342a2317dd5b7e22f2097c4d583ee7783R287
Agree, we should also update that on the command_line_flags
option (and docs).
Do you want me to update this now? Or is someone else doing this?
Remove mention of "Fleet's osquery installer" in docs: https://github.com/fleetdm/fleet/pull/15872/files#diff-8418e1a527974b8181195b29ac3127e342a2317dd5b7e22f2097c4d583ee7783R287
Agree, we should also update that on the command_line_flags option (and docs).
@lucasmrod please go ahead and make these updates! Thanks.
TODO @noahtalerman: Update the pricing page
OK, remove it from the docs only?
Do we want to remove the comment from the app too?
@lucasmrod hey! Sorry I missed your latest comment.
OK, remove it from the docs only?
Do we want to remove the comment from the app too?
I think we want to remove it from both the docs and the UI.
That said, I think let's bring this change through the normal feature fest => drafting => implementation process. I filed a feature request and added it to feature fest here: https://github.com/fleetdm/fleet/issues/16512
This way, we can take them time to check if it makes sense to make other changes too (like removing the command_line_flags
comment.
Pricing page update is here: https://github.com/fleetdm/fleet/pull/16513
Hey @Patagonia121 and @pintomi1989 this customer feature request was shipped in Fleet 4.43
C&C: Let's close after the pricing page update is merged in.
@noahtalerman Friendly reminder to close :)
Configured remotely, Fleetd channels bring updates, One package, not many.
Goal
Example
team
YAML of a customer w/ self-managed agent updates:Example
team
YAML of a customer w/ Fleet managed agent updates:Changes
Product
update_channels
object toagent_options
in theconfig
andteam
YAML.update_channels
key to the YAML validation. Error if the key is specified but empty or null.update_channels
acceptsosqueryd
andorbit
. Each key updates their respective update channel (ex.osqueryd
updatesosqueryd-channel
. Add these keys to the YAML validation. Error if either key is empty or null.stable
(default).update_channels
set for it's team.Engineering
QA
Risk assessment
Manual testing steps
13825-remotely-configure-fleetd-update-channels
or inmain
if already merged.Scenarios to test
A. New fleetd with latest released fleet server 4.42.0. Should all behave the same as before (no channels should be updated in fleetd).
fleet-v4.42.0
.main.sh
onfleet-v4.42.0
.13825-remotely-configure-fleetd-update-channels
/main
and compile+push orbit:B. New fleetd with new fleet server 4.43.0 without
update_channels
configuration.13825-remotely-configure-fleetd-update-channels
/main
C. New fleetd with new fleet server 4.43.0 with
update_channels
configuration.update_channels
.update_channels
feature should work as documented.D. fleetd v1.19.0 with new fleet server v4.43.0 without
update_channels
configuration.E. fleetd v1.19.0 with new fleet server v4.43.0 with
update_channels
configuration.F. Set an unexistent channel in the configuration for all three
orbit
,osqueryd and
desktop`. Thereafter, change back to an existent channel and it should work as expected.G. Attempt to set a null
update_channels
key in agent settings. By null we meanupdate_channels: <new line>
H. Attempt to set a null
orbit
,osqueryd
anddesktop
inupdate_channels
, should fail. By null/empty we meanorbit: <new line>
orosqueryd: ''<new line>
.I. Set configuration on teams, only team hosts should pick up such configuration.
J. Specify only two channels, e.g. orbit and osqueryd but not desktop, therefore desktop should be configured to `stable.
K. Test that the setting cannot be set in Fleet Free.
L. Change setting to a channel that doesn't exist (test the three components:
orbit
,osqueryd
anddesktop
). Then push to such channel (effectively creating such channel). Eventually fleetd should auto-update (without requiring restart). To create a channel you just push a component to it:M. Set
desktop
channel and check that when using fleetd with Fleet Desktop disabled doesn't cause any issues. (Same thing, but without settingdesktop:
at all.)N. Test nothing happens/break if configuring
update_channels
and fleetd agents were built with--updates-disabled=true
.O. Reproduce auto-update startup loop described in the agent configuration docs added in the PR and test the documented ways to fix it.
Confirmation