Commit Graph
181 Commits
Author SHA1 Message Date
Marcos Oviedo 8796ce9a38 Adding custom action to WIX template to ensure files are not locked during uninstallation (#8871)
* Adding custom action to ensure that no fleetdm related processes are running on a product uninstall scenario. This will ensure that no file locks are present during file removal
2022-12-06 07:03:06 -03:00
gillespi314 6fb3a87ae9 Enable errcheck linter for golangci-lint (#8899) 2022-12-05 16:50:49 -06:00
Artemis Tosini 3022b966c4 Embed augeas lenses in orbit binary (#8901) 2022-12-02 10:19:54 -05:00
Marcos Oviedo ff9206655a Fixing UninstallString to properly include msiexec /x call (#8857)
* Fixing UninstallString to properly include msiexec /x call
2022-11-28 20:18:28 -03:00
Frank Sievertsen 8fc32acf00 Store details (query_name and query_sql) about live query in activity feed (#8842) 2022-11-28 16:42:32 +01:00
Zach Wasserman 9e6ccc4803 Add icloud_private_relay table (#8655) 2022-11-21 10:56:15 -08:00
Zach Wasserman e17a19d986 Update fields for Linux packages (#8763)
A user requested these additional fields be completed for the Linux
packages due to some tools requiring their presence.
2022-11-21 10:55:12 -08:00
f5a417d244 Move Orbit docs (#8403)
* Move Orbit docs

* Update docs/Deploying/fleetctl-agent-updates.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Adding-hosts.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Adding-hosts.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Adding-hosts.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Adding-hosts.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Adding-hosts.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Orbit.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Orbit.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Orbit.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Orbit.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Update docs/Using-Fleet/Orbit.md

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>

* Applying grammatical edits

* Fix relative links

* Fix relative links

Co-authored-by: Chris McGillicuddy <108031970+chris-mcgillicuddy@users.noreply.github.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2022-11-18 08:56:52 -06:00
Artemis TosiniandRoberto Dip a0b11a29d2 Dump pprof when orbit is given a SIGUSR1. Fixes #8456 (#8485)
Co-authored-by: Roberto Dip <me@roperzh.com>
2022-10-28 16:39:47 -04:00
Lucas Manuel Rodriguez 7d855c3879 Add update channels to orbit_info (#8310) 2022-10-27 09:52:18 -05:00
Marcos Oviedo 131cc7eeec Orbit MSI installer now includes the necessary manifest file to use windows_event_log as a logger_plugin. (#8343)
* Orbit MSI installer now includes the necessary manifest file to use windows_event_log as a logger_plugin
2022-10-27 10:19:30 -03:00
Marcos Oviedo 8b77939494 Fixed an Orbit MSI installer bug that caused Orbit files not to be removed during uninstallation (#8333) 2022-10-25 09:00:37 -03:00
Roberto Dip bd17b38bc3 fix issue in fleet desktop causing it to spam free installations (#8396)
the `switch` statement that checks for errors (including license errors) issues a `continue` before we even have the chance to wait for the ticker.

this has the drawback that premium users will have to wait 5 minutes before they see policy info, but the alternative would be to use labels and go-to, at least with the current code structure.

related to https://github.com/fleetdm/fleet/issues/8373
2022-10-21 09:56:18 -07:00
Marcos Oviedo ec3f49881f 8009 fleet desktop icon duplication (#8017)
* Adding a new synchronization mechanism between fleet-desktop app and Orbit service. Improved windows service teardown to ensure that fleet-desktop does not get force killed without getting signaled. Improved windows process enumeration to avoid unnecessary delays during windows service start and windows service teardown. Updating windows service to reflect service teardown extra time due to synchronization.
2022-10-13 10:58:37 -03:00
Juan Fernandez 6939af045d Fleet desktop should use lightweight endpoint for getting failing policies count (#8159)
Fleet desktop should use lightweight endpoint for getting failing policies count
2022-10-12 17:13:43 -03:00
Lucas Manuel Rodriguez b016fc8a3a Orbit: Add retries to launchctl bootstrap to fix issue with MDM push (#8187)
* Add retries to launchctl bootstrap to fix MDM push

* Increment retries from 5 to 30
2022-10-12 15:59:01 -03:00
Lucas Manuel Rodriguez bec3824ddb Update mk-ca-bundle.pl tool in repository (#8184)
* Update mk-ca-bundle.pl in repository

* Update certs.pem with new version of mk-ca-bundle.pl

* Add extra check against curl.se site
2022-10-12 12:01:18 -03:00
Lucas Manuel Rodriguez 8de3e9f258 Fix Orbit bug when setting empty command_line_flags in agent options (#8176) 2022-10-11 20:11:01 -03:00
Roberto Dip e630fabf89 token rotation for fleet desktop (#7779)
This implements what's described in detail here https://github.com/fleetdm/fleet/blob/main/proposals/fleet-desktop-token-rotation.md
2022-10-10 17:15:35 -03:00
Lucas Manuel RodriguezandZach Wasserman 832b29f8c7 Update go-tuf to v0.5.0 (bis) (#8112)
* Update go-tuf to v0.5.0

This was triggered by the security advisory
[GHSA-3633-5h82-39pq](https://github.com/theupdateframework/go-tuf/security/advisories/GHSA-3633-5h82-39pq).
Fleet's use of go-tuf is not vulnerable to this issue due to not using
key thresholds greater than 1.

There were some API changes that necessitate changing the initialization
code for the TUF client. See
https://github.com/theupdateframework/go-tuf/issues/379 for further
discussion.

* Add changes file

* Update default root metadata

* Add review changes to update-go-tuf branch

* Update tests

* Add more checks to roots output

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2022-10-07 17:03:39 -03:00
Zach Wasserman 44dc5ab175 Add handling for Apple Team ID in Notarization (#7991)
Fleet's Notarization workflows no longer work without this argument, so this is added as an optional argument for Notarization.
2022-10-04 09:48:21 -07:00
Lucas Manuel Rodriguez a4d7e81475 Orbit to support environments with revoked enroll secrets (#8056)
* Support environments with revoked enroll secrets

* Add instructions on how to fix Orbit enroll

* Rename to last_recorded_error

* Add alternative instructions
2022-10-03 17:28:19 -03:00
Roberto Dip b165c5217e ping the capabilities API when the loop starts (#8005) 2022-09-28 15:49:08 -03:00
Roberto Dip 474fd8fab8 fix flag formatting in Orbit (#7981) 2022-09-27 19:31:23 +00:00
Zach Wasserman f7b341cb6e Use dark theme icon in Fleet Desktop by default (#7973)
This seems to be a better fit as a default due to what renders best in Ubuntu.

Keeps themes the same as prior Desktop releases.
2022-09-27 08:56:16 -07:00
Lucas Manuel Rodriguez edb8fce195 Fix post-merge issue (#7971) 2022-09-27 12:30:00 -03:00
Zach Wasserman 855cca9368 Update notarization to use notarytool (#7962)
Updating from github.com/mitchellh/gon (old API) to the newer xcrun notarytool.

See https://github.com/fleetdm/fleet/actions/runs/3132173324/jobs/5084249006 for example run.
2022-09-27 08:25:42 -07:00
Lucas Manuel Rodriguez 3ee29c38ad Orbit: Handle SIGTERM on unix and kill pre-existing fleet-desktop processes at startup (#7966)
* Handle SIGTERM on unix and kill pre-existing fleet-desktop processes at startup

* Add unix build tag

* Remove unused import
2022-09-27 11:57:56 -03:00
Marcos Oviedo 381f628be7 Bug 7874: Adding SCM calls to register Orbit as a windows service (#7934)
* Bug 7874: Adding SCM calls to register Orbit as a windows service
2022-09-27 11:52:41 -03:00
Roberto Dip a509bdd0ac add backwards compatiblity to orbit enrollment via the API (#7921) 2022-09-26 11:44:09 -03:00
Roberto Dip 2fcb27ed3f add headers denoting capabilities between fleet server / desktop / orbit (#7833)
This adds a new mechanism to allow us to handle compatibility issues between Orbit, Fleet Server and Fleet Desktop.

The general idea is to _always_ send a custom header of the form:

```
fleet-capabilities-header = "X-Fleet-Capabilities:" capabilities
capabilities              = capability * (,)
capability                = string
```

Both from the server to the clients (Orbit, Fleet Desktop) and vice-versa. For an example, see: https://github.com/fleetdm/fleet/commit/8c0bbdd291f54e03e19766bcdfead0fb8067f60c

Also, the following applies:

- Backwards compat: if the header is not present, assume that orbit/fleet doesn't have the capability
- The current capabilities endpoint will be removed

### Motivation

This solution is trying to solve the following problems:

- We have three independent processes communicating with each other (Fleet Desktop, Orbit and Fleet Server). Each process can be updated independently, and therefore we need a way for each process to know what features are supported by its peers.
- We originally implemented a dedicated API endpoint in the server that returned a list of the capabilities (or "features") enabled, we found this, and any other server-only solution (like API versioning) to be insufficient because:
  - There are cases in which the server also needs to know which features are supported by its clients
  - Clients needed to poll for changes to detect if the capabilities supported by the server change, by sending the capabilities on each request we have a much cleaner way to handling different responses.
- We are also introducing an unauthenticated endpoint to get the server features, this gives us flexibility if we need to implement different authentication mechanisms, and was one of the pitfalls of the first implementation.

Related to https://github.com/fleetdm/fleet/issues/7929
2022-09-26 07:53:53 -03:00
Sharvil Shah 1b59b05862 Orbit enroll retry on unauth (#7928) 2022-09-24 03:16:33 +05:30
Juan Fernandez d7ca8fcd66 Reverted changes made to Fleet Desktop - should not use the lightweight 'desktop' endpoint (#7919)
Reverted changes made to Fleet Desktop. Desktop should not use the lightweight 'desktop' endpoint
2022-09-23 15:18:19 -04:00
Sharvil ShahandRoberto Dip 7d4e2e2b4b Orbit remote management for flags (#7246)
Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
2022-09-24 00:30:23 +05:30
Zach Wasserman c01bf03435 Windows desktop theme detection (#7363)
Windows portion of #6675. Detect dark vs. light theme and change the icon to match (as best as we can).
2022-09-23 10:07:38 -07:00
Zach WassermanandLucas Rodriguez bdad9ac1d3 Use Group SID on fleetctl on Windows (#7854)
This is intended to allow packages to be built on localizations other than English.

See #5065.

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
2022-09-21 11:39:26 -07:00
Shawn Maddock 8e9396c65c fixes #7856 (#7858) 2022-09-20 19:41:22 -03:00
Roberto Dip 15c93f02ea add retry logic for native notarization and codesigning (#7806)
Related to #7130, this adds logic to retry native notarization up to three times if it fails for some reason.

Since we're adding retries in various places, I added a new package under pkg for this purpose.
2022-09-19 13:08:39 -03:00
Marcos Oviedo d5a37dfd1a Bug 6479: Storing proxy certificate in a secure location to avoid unexpected deletion. (#7811)
This prevents proxy certificate used by --insecure mode from being deleted when stored in a user-writable location.
2022-09-19 09:42:53 -03:00
Juan Fernandez 4ef883b311 Feature 6946: Fleet Desktop should use minimal api end-point for data (#7536)
Updated desktop client to use new EE desktop endpoint.
2022-09-15 12:12:50 -04:00
Katheryn SatterleeandZach Wasserman 3eb79ed74f Add information on update channels (#7760)
* Add information on update channels

Added additional context around when the `stable` and `edge` channels are updated with new versions of osquery.

* Update orbit/README.md

Co-authored-by: Zach Wasserman <zach@fleetdm.com>

* Update README.md

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2022-09-14 14:48:24 -05:00
Tomas Touceda 8457e55b53 Bump go to 1.19.1 (#7690)
* Bump go to 1.19.1

* Bump remaining go-version to the 1.19.1

* Add extra paths for test-go

* Oops, putting the right path in the right place

* gofmt file

* gofmt ALL THE THINGS

* Moar changes

* Actually, go.mod doesn't like minor versions
2022-09-12 20:32:43 -03:00
Zach Wasserman 5d35b467d8 Remove errors tooltips from Fleet Desktop menu (#7678)
Now that these errors are available in log files, we think this adds
more confusion for end users.
2022-09-12 08:35:26 -07:00
Roberto Dip 740aafd817 Revert token rotation (#7628)
This reverts all changes related to token rotation.
2022-09-08 15:04:02 -03:00
Roberto Dip 1c26e2555d ensure Orbit identifier file can be read by the outside world (#7608)
As stated by the title, this fixes a bug in token rotation caused by a file having existing read-only permissions. This affects Fleet Desktop after is upgraded if an existing Orbit created a file that's not accessible by non-root users.

I have also included 77a59ac to fix an URL format
2022-09-07 14:37:54 -03:00
Roberto DipandMartin Angers 9174c7c711 token rotation for Fleet Desktop (#7517)
See https://github.com/fleetdm/fleet/issues/6348 for a very detailed rundown

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
2022-09-06 20:25:29 -03:00
Lucas Manuel Rodriguez 7d8c38751d Add TUF update guide (#7368)
* Add TUF guide

* Move docs to orbit/docs

* Add fixes
2022-08-25 10:17:20 -05:00
Zach Wasserman ecb428a904 Prepare for Orbit 1.1.0 (#7315) 2022-08-19 08:27:50 -07:00
Sharvil Shah 1e62613450 orbit: rename unified_log table from extension to macadmins_unified_log (#7295) 2022-08-19 07:29:14 +05:30
Roberto Dip 6fead4c08d better handling of path differences for MSI installers (#7035)
Related to #7036, Tested in:

- [x] macOS via `fleetctl package --type=msi` (non-native)
- [x] Linux native via `docker run -v "$(pwd)" fleetdm/fleetctl package --type=msi` (native)
- [x] Windows via `fleetctl pacakge --type=msi` (thanks to @edwardsb) (non-native)
2022-08-05 17:12:05 -03:00