You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My device and fleetdm.com/better changes: No changes
Usage statistics: No changes
Other reference documentation changes:
Make sure instructions removed from "Advanced" tab are in docs, add them if not
Add note to API reference for Get Fleet certificate. What features are supported in the “closed off from the public internet” use case?
Android doesn’t work for sure
What about Apple and Windows MDM?
First draft of test plan added
Once shipped, requester has been notified
Once shipped, dogfooding issue has been filed
Engineering
Test plan is finalized
Contributor API changes: No changes.
Feature guide changes: No changes.
This is a premium only feature: No.
New server configuration: enabled/disabled (default OFF) + alternative URL to location of the service (default fleetdm.com/path/to/service)
Architecture
graph LR
user_agent["User agent"];
tuf["TUF<br>https://updates.fleetdm.com"];
subgraph fleet_server[Fleet<br>Server];
cron["Cron job"];
end;
agent_installer_service["Agent installer service<br>https//fleetdm.com/path/to/service"];
s3_store[(S3-compatible object store)];
apple["Apple servers"];
user_agent -- GET /api/v1/fleet/agent --> fleet_server;
fleet_server -- Get/Set cached installers --> s3_store;
agent_installer_service -- Download fleetd components --> tuf;
agent_installer_service -- Notarize `pkg` --> apple;
cron -- POST /generate<br>GET /status<br>GET /download --> agent_installer_service;
cron -- Check for new updates,<br>and regenerate packages if need be --> tuf;
Loading
QA
Risk assessment
Risk level: Low
Risk description: Low because this is additional isolated functionality; if the feature is not working well for some reason then the customers can resort to using fleetctl package.
Test plan
All scenarios must be tested on all the installers:
macOS (pkg).
Windows (msi)
Ubuntu(deb).
Fedora(rpm).
Arch Linux (pkg.tar.zst).
IMPORTANT:
When installing msis:
Make sure the msi is codesigned.
Make sure they don't issue warnings (because it's codesigned).
When installing pkgs:
Make sure the pkg is codesigned and notarized (using package inspection tools, like "Suspicious Package" app)
Make sure they don't issue warnings (because it's codesigned+notarized).
Fleet Free
A. Happy path
After upgrading Fleet (and before the cron has run), check that attempting to download fails with the expected dialog (no installers available yet, check in 5 minutes)
After waiting test that you can download installers for all types using the UI after the cron has generated them.
Install installers to make sure they work.
B. Changing enroll secret
Change enroll secret
Right away, check that attempting to download fails with the expected dialog (no installers available yet, check in 5 minutes).
After waiting test that you can download installers for all types using the UI after the cron has generated them.
Install installers to make sure they work.
C. Changing "Fleet web address"
Change "Settings" > "Organization settings" > "Fleet web address".
Right away, check that attempting to download fails with the expected dialog (no installers available yet, check in 5 minutes)
After waiting test that you can download installers for all types using the UI after the cron has generated them.
Install installers to make sure they work.
D. Push an update to orbit (using local TUF)
Push an update to orbit (macOS, Windows, or Linux)
Right away, check that attempting to download fails with the expected dialog (no installers available yet, check in 5 minutes)
After waiting test that you can download installers for all types using the UI after the cron has generated them.
Install installers to make sure they work. Make sure the installer installed the new orbit version.
E. Push an update to desktop (using local TUF)
Push an update to desktop (macOS, Windows, or Linux)
Right away, check that attempting to download fails with the expected dialog (no installers available yet, check in 5 minutes)
After waiting test that you can download installers for all types using the UI after the cron has generated them.
Install installers to make sure they work. Make sure the installer installed the new desktop version.
E. Push an update to osqueryd (using local TUF)
Push an update to desktop (macOS, Windows, or Linux)
Right away, check that attempting to download fails with the expected dialog (no installers available yet, check in 5 minutes)
After waiting test that you can download installers for all types using the UI after the cron has generated them.
Install installers to make sure they work. Make sure the installer installed the new osqueryd version.
Fleet Premium
TODO
Testing notes
We will need to test the feature on Fleet deployed to Render. Because Render doesn't have/use S3-compatible store, it uses the file system for storing e.g. software packages.
Confirmation
Engineer: Added comment to user story confirming successful completion of test plan.
QA: Added comment to user story confirming successful completion of test plan.
Goal
Roadmap item
⬇️ Download signed installers in one click with no Terminal or certificates required
Original requests
Resources
Changes
Product
Engineering
enabled/disabled(default OFF) + alternative URL to location of the service (default fleetdm.com/path/to/service)Architecture
graph LR user_agent["User agent"]; tuf["TUF<br>https://updates.fleetdm.com"]; subgraph fleet_server[Fleet<br>Server]; cron["Cron job"]; end; agent_installer_service["Agent installer service<br>https//fleetdm.com/path/to/service"]; s3_store[(S3-compatible object store)]; apple["Apple servers"]; user_agent -- GET /api/v1/fleet/agent --> fleet_server; fleet_server -- Get/Set cached installers --> s3_store; agent_installer_service -- Download fleetd components --> tuf; agent_installer_service -- Notarize `pkg` --> apple; cron -- POST /generate<br>GET /status<br>GET /download --> agent_installer_service; cron -- Check for new updates,<br>and regenerate packages if need be --> tuf;QA
Risk assessment
fleetctl package.Test plan
All scenarios must be tested on all the installers:
macOS(pkg).Windows(msi)Ubuntu(deb).Fedora(rpm).Arch Linux(pkg.tar.zst).IMPORTANT:
msis:msiis codesigned.pkgs:pkgis codesigned and notarized (using package inspection tools, like "Suspicious Package" app)Fleet Free
A. Happy path
B. Changing enroll secret
C. Changing "Fleet web address"
D. Push an update to orbit (using local TUF)
E. Push an update to desktop (using local TUF)
E. Push an update to osqueryd (using local TUF)
Fleet Premium
TODO
Testing notes
Confirmation