Commit graph

306 commits

Author SHA1 Message Date
Jacob Shandling
60712144f2
UI: Add automatic EnrollMdm modal (#9455)
# Addresses #9365 

# Implements
MDM enrollment modal that handles both automatic and manual enrollment
instructions:
- Automatic:
<img width="1181" alt="Screenshot 2023-01-20 at 4 33 50 PM"
src="https://user-images.githubusercontent.com/61553566/213829293-6d4a5053-9a3c-4f52-8cf8-a6607dc8df4e.png">
- Manual:

<img width="1158" alt="Screenshot 2023-01-20 at 4 35 04 PM"
src="https://user-images.githubusercontent.com/61553566/213829369-73ae779d-14a8-4aa7-9c6a-b97d046d0dc1.png">

- Also includes (by mistake, but might as well include them now) some
small bash scripts for use in MDM development
# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/` 
- [x] Updated testing inventory
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-01-30 11:44:33 -08:00
Marcos Oviedo
d7f77f55ce
Windows MDM research (#9500)
Adding a tool to showcase how to perform MDM programmatic enrollment on
Windows. Moved Windows MDM PoC server to a new location
2023-01-25 17:05:19 -03:00
Martin Angers
84717de461
Document APNs and ABM setup and renewal (#9471) 2023-01-24 15:20:41 -05:00
dependabot[bot]
953bb26398
Bump minimatch from 3.0.4 to 3.1.2 in /tools/fleetctl-npm (#8863)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 12:38:19 -06:00
Luke Heath
b6a6ac454f
Prepare for 4.26.0 (#9326) 2023-01-13 16:26:22 -08:00
Martin Angers
656e5bfc70
Flag when the Apple BM terms have expired (#9091)
#8862 

Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2023-01-06 17:44:20 -03:00
Marcos Oviedo
326bce8dbe
Windows MDM Server proof of concept (#9178) 2023-01-04 12:05:51 -03:00
Lucas Manuel Rodriguez
ba6b6e12cc
Fix ingestion of MDM server for macOS and Windows hosts (#9133)
* Fix ingestion of MDM server for macOS and Windows hosts

* Return early if there are no mobile_device_management_solutions to clean up

* Run make dump-test-schema

* Fix TestHosts/DeleteHosts test

* Add test for host unenrolling from MDM

* Fix lint

* Fix typo

* Identify Fleet MDM

* Move logic to deduce MDM name out of Datastore

* Run make dump-test-schema

* Remove printfs from migration
2023-01-04 10:29:48 -03:00
Lucas Manuel Rodriguez
34b62cc43e
Fix panic in hosts/{id}/mdm endpoint when host does not have MDM data (#9123) 2022-12-27 16:22:37 -03:00
Luke Heath
54e8b3e250
Prepare for 4.25.0 (#9113) 2022-12-22 15:13:24 -08:00
Tomas Touceda
71dbb71df4
Update go to 1.19.4 (#8945)
* Update go to 1.19.4

* Comment out failing package test

* Comment out ALL the packaging tests for windows for the moment

* Update go to 1.19.4

* Comment out failing package test

* Comment out ALL the packaging tests for windows for the moment

* Update changelog

* Bump versions

* Update changelog to reflect this being a security release
2022-12-09 11:47:17 -03:00
Reed Haynes
a94d697ce4
updated osquery testing files (#8940)
Co-authored-by: Reed Haynes <reed@fleetdm.com>
2022-12-08 13:28:36 -08:00
Martin Angers
d4a3730610
Add new configuration options for Apple Business Manager (#8886) 2022-12-06 15:50:56 -05:00
gillespi314
6fb3a87ae9
Enable errcheck linter for golangci-lint (#8899) 2022-12-05 16:50:49 -06:00
gillespi314
8dbbfa1778
Update MDM demo documentation 2022-12-05 13:57:40 -06:00
Lucas Manuel Rodriguez
57d30b610a
Add dep profile to mdm glossary (#8929) 2022-12-05 15:25:31 -03:00
Martin Angers
f5fc316ad3
Add options for configuring APNS and SCEP keys/certs in Fleet server (#8730) 2022-12-05 10:22:56 -05:00
Luke Heath
934f8cf734
Prepare for 4.24.0 (#8902) 2022-12-01 13:03:55 -06:00
Roberto Dip
ac5d04cde7
add document with MDM glossary and protocols summary (#8765) 2022-11-21 20:41:51 -03:00
Martin Angers
dc6bfdec57
Add support for missing OS-specific osquery flags in agent options (#8743) 2022-11-21 10:32:17 -05:00
Roberto Dip
b8b3ef02e4
add services to inspect traces and monitor a local server (#8597)
This adds tooling to debug and inspect traces locally, please refer to the README.md in this commit for more details.
2022-11-21 10:50:10 -03:00
Martin Angers
472c8bafb3
Refactor license so it is stored in the context (#8544) 2022-11-15 09:08:05 -05:00
Martin Angers
a1252b74df
Add a static check for misuse of ds.writer/ds.reader when inside a transaction (#8621) 2022-11-15 08:29:54 -05:00
Luke Heath
af0c75e08b
Prepare for 4.23.0 (#8663) 2022-11-14 14:42:21 -08:00
Andrew Baker
ff969e8ddc
Drew bakerfdm remove email mentions (#8641)
* Remove email address for redudancy

Call to actions at the bottom of the page offer better forms of communication to join the community, trial Fleet, or ask questions.

* Remove email mention

* Remove email mention

* Remove email mention
2022-11-10 11:59:08 -05:00
Roberto Dip
feaf46a55a
cherry-pick changes from fleet-v4.22.1 (#8481) 2022-10-28 12:24:30 -03:00
Martin Angers
49e910270b
Add vulnerability scores to Jira/Zendesk tickets for premium users (#8346) 2022-10-26 10:42:09 -04:00
Roberto Dip
37233112b2
add a tool to check the status of a TUF server (#8428)
Motivation: I often find myself digging through the XML in https://tuf.fleetctl.com to see if/when/what packages have been published in the different release channels, this tool aims to make the process less painful.

```
~/fleet $ go run tools/tuf/status/status.go --help
This is a CLI utility to fetch and filter the entries posted by a TUF repository.
  -key-filter string
    	filter keys using a regular expression (default "stable")
  -url string
    	URL of the TUF repository (default "https://tuf.fleetctl.com")
```

### Examples

- To filter all items on the edge channel use `--key-filter="edge"`
- To filter all items on version `1.3` including patches that run on Linux use `--key-filter="linux/1.3.*"`
- To filter Fleet Desktop items on `1.3.*`, `stable` and `edge` that run on macOS use `--key-filter="desktop/*.*/macos/(1.3.*|stable|edge)"`

### Example output

```
~/fleet $ go run tools/tuf/status/status.go --key-filter="desktop/*.*/macos/(1.3.*|stable|edge)"

Results filtered by "desktop/*.*/macos/(1.3.*|stable|edge)" and sorted by version, platform and key.

VERSION	PLATFORM	KEY                                            	LAST MODIFIED           	SIZE   	ETAG
1.3    	macos   	targets/desktop/macos/1.3/desktop.app.tar.gz   	2022-10-20T00:42:58.000Z	28.4 MB	"ceb7a975880db6ab9aea7907915406e3-4"	
1.3.0  	macos   	targets/desktop/macos/1.3.0/desktop.app.tar.gz 	2022-10-20T00:42:58.000Z	28.4 MB	"ceb7a975880db6ab9aea7907915406e3-4"	
1.3.1  	macos   	targets/desktop/macos/1.3.1/desktop.app.tar.gz 	2022-10-21T20:28:24.000Z	28.5 MB	"3c6641a0df00009f3f076bd6b4fbc748-4"	
edge   	macos   	targets/desktop/macos/edge/desktop.app.tar.gz  	2022-10-21T20:28:37.000Z	28.5 MB	"3c6641a0df00009f3f076bd6b4fbc748-4"	
stable 	macos   	targets/desktop/macos/stable/desktop.app.tar.gz	2022-10-20T00:43:06.000Z	28.4 MB	"ceb7a975880db6ab9aea7907915406e3-4"	
```
2022-10-24 17:20:06 -03:00
Noah Talerman
90f5fbb63a
Prepare for 4.22 (#8253) 2022-10-21 11:24:13 -07:00
Lucas Manuel Rodriguez
48598291da
Add Orbit auto-update test guide (#8332)
* Add auto-update test guide

* Address review comments
2022-10-19 14:56:47 -03:00
Lucas Manuel Rodriguez
2cb5b6224b
Update MDM demo docs (#8305)
* Update MDM demo docs

* Confirm linked guide works
2022-10-19 14:28:02 -03:00
RachelElysia
da77c2a222
E2E fixes: Updating seeded users DOM (#8100) 2022-10-06 09:40:32 -04:00
Lucas Manuel Rodriguez
127d18642d
Run TUF CI checks on ubuntu-latest (#8088)
* Run TUF CI checks on ubuntu-latest

* Add itself to path
2022-10-05 19:59:11 -03:00
Lucas Manuel Rodriguez
9191f4ce66
Add Apple MDM functionality (#7940)
* WIP

* Adding DEP functionality to Fleet

* Better organize additional MDM code

* Add cmdr.py and amend API paths

* Fix lint

* Add demo file

* Fix demo.md

* go mod tidy

* Add munki setup to Fleet

* Add diagram to demo.md

* Add fixes

* Update TODOs and demo.md

* Fix cmdr.py and add TODO

* Add endpoints to demo.md

* Add more Munki PoC/demo stuff

* WIP

* Remove proposals from PoC

* Replace prepare commands with fleetctl commands

* Update demo.md with current state

* Remove config field

* Amend demo

* Remove Munki setup from MVP-Dogfood

* Update demo.md

* Add apple mdm commands (#7769)

* fleetctl enqueue mdm command

* fix deps

* Fix build

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>

* Add command to upload installers

* go mod tidy

* fix subcommands help

There is a bug in urfave/cli where help text is not generated properly when subcommands
are nested too deep.

* Add support for installing apps

* Add a way to list enrolled devices

* Add dep listing

* Rearrange endpoints

* Move DEP routine to schedule

* Define paths globally

* Add a way to list enrollments and installers

* Parse device-ids as comma-separated string

* Remove unused types

* Add simple commands and nest under enqueue-command

* Fix simple commands

* Add help to enqueue-command

* merge apple_mdm database

* Fix commands

* update nanomdm

* Split nanomdm and nanodep schemas

* Set 512 MB in memory for upload

* Remove empty file

* Amend profile

* Add sample commands

* Add delete installers and fix bug in DEP profile assigning

* Add dogfood.md deployment guide

* Update schema.sql

* Dump schema with MySQL 5

* Set default value for authenticate_at

* add tokens to enrollment profiles

When a device downloads an MDM enrollment profile, verify the token passed
as a query parameter. This ensures untrusted devices don't enroll with
our MDM server.

- Rename enrollments to enrollment profiles. Enrollments is used by nano
  to refer to devices that are enrolled with MDM
- Rename endpoint /api/<version>/fleet/mdm/apple/enrollments to ../enrollmentprofiles
- Generate a token for authentication when creating an enrollment profile
- Return unauthorized if token is invalid when downloading an enrollment profile from /api/mdm/apple/enroll?token=

* remove mdm apple server url

* update docs

* make dump-test-schema

* Update nanomdm with missing prefix table

* Add docs and simplify changes

* Add changes file

* Add method docs

* Fix compile and revert prepare.go changes

* Revert migration status check change

* Amend comments

* Add more docs

* Clarify storage of installers

* Remove TODO

* Remove unused

* update dogfood.md

* remove cmdr.py

* Add authorization tests

* Add TODO comment

* use kitlog for nano logging

* Add yaml tags

* Remove unused flag

* Remove changes file

* Only run DEP routine if MDM is enabled

* Add docs to all new exported types

* Add docs

* more nano logging changes

* Fix unintentional removal

* more nano logging changes

* Fix compile test

* Use string for configs and fix config test

* Add docs and amend changes

* revert changes to basicAuthHandler

* remove exported BasicAuthHandler

* rename rego authz type

* Add more information to dep list

* add db tag

* update deps

* Fix schema

* Remove unimplemented

Co-authored-by: Michal Nicpon <39177923+michalnicp@users.noreply.github.com>
Co-authored-by: Michal Nicpon <michal@fleetdm.com>
2022-10-05 19:53:54 -03:00
Noah Talerman
e98941aeaf
Prepare for 4.21.0 (#8011)
This PR addresses the instructions under number (1) in the releasing Fleet steps: https://fleetdm.com/docs/contributing/releasing-fleet#what-to-do

- Update CHANGELOG
- Bump versions
2022-10-05 13:18:22 -07:00
RachelElysia
3054450065
Improve developer documentation: Update seed data documentation (#7904) 2022-10-05 12:42:45 -04: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
Martin Angers
8eee0b35f3
Add validations for agent options' command-line flags section. (#7979) 2022-10-03 08:29:41 -04: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
Martin Angers
142e298631
Update osquery validations from 5.4.0 to 5.5.1 (#7960) 2022-09-27 08:35:57 -04:00
Martin Angers
478b4d3f69
Validate team and appconfig payloads, with dry-run and force modes (#7731) 2022-09-19 13:53:44 -04:00
Noah Talerman
dab45f1180
Prepare for 4.20.1 (#7783) 2022-09-15 14:28:23 -05:00
Zach Wasserman
486b67caca
Add initial support for kubequery (#6863)
Configuration and fixes for the Fleet server and frontend to add support
for https://github.com/Uptycs/kubequery.

Co-authored-by: Michal Nicpon <michal@fleetdm.com>
2022-09-15 10:02:17 -06:00
Lucas Manuel Rodriguez
1a6380d590
Fix deprecated virtual runner and golangci-lint deprecated checkers (#7716) 2022-09-13 10:48:21 -03: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
Noah Talerman
26b610dde4
Prepare for 4.20.0 (#7651) 2022-09-09 16:01:03 -05:00
Noah Talerman
15a7f8a18c
Prepare for 4.19.1 (#7453) 2022-09-01 12:14:44 -05:00
Roberto Dip
714afaa5ad
use image containing installer deps for fleetdm/fleetctl (#7040) 2022-08-24 12:10:16 +00:00
Noah Talerman
5ad3f9a2d6
Prepare for 4.19.0 (#7346)
- Add CHANGELOG
- Bump versioning
- Remove `changes/` files
2022-08-23 15:13:01 -04:00
Zach Wasserman
3cfa725200
Add script for testing osquery tables (#7264) 2022-08-17 14:36:17 -04:00