Commit Graph

275 Commits

Author SHA1 Message Date
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
Roberto Dip
05ddeade90
add back-end implementation for SSO JIT provisioning (#7182)
Related to #7053, this uses the SSO config added in #7140 to enable JIT provisioning for premium instances.
2022-08-15 14:42:33 -03:00
Roberto Dip
8e554ca832
lock rcodesign version to 0.16.0 (#7113) 2022-08-09 14:07:13 -03:00
Mike Thomas
26d763c426
Updated testing.md (#6583)
* Updated testing.md

Updated the name of testing.md to testing-and-local-development.md based off https://github.com/fleetdm/fleet/issues/4706

* add redirect for /docs/contributing/testing

Co-authored-by: Eric <eashaw@sailsjs.com>
2022-08-01 19:06:30 -05:00
Katheryn Satterlee
4bcd14dc83
Fleet 4.18.0 changelog (#6951) 2022-08-01 13:39:13 -07:00
Zach Wasserman
6002324139
Bring 4.17.1 changelog into main (#6901) 2022-08-01 10:50:40 -07:00
Mike Thomas
593f766810
Update messaging on fleetctl-npm/README.md (#6872) 2022-07-27 11:53:19 -03:00
Roberto Dip
d63f56f8c0
add support for notarization in fleetdm/fleetctl images (#6818)
#6674
2022-07-25 20:06:10 -03:00
gillespi314
4792d7a759
Add UI for Fleet Sandbox to download prepackaged installers (#6721) 2022-07-19 14:28:06 -05:00
Benjamin Edwards
80070cd273
add jq to docker images (#6531) 2022-07-19 12:02:51 -04:00
Roberto Dip
69f8f2a73b
add API endpoints to retrieve pre-built installers (#6672)
Rel: #6365, this adds a new endpoint to check and download pre-built installers.
2022-07-18 13:44:30 -03:00
Roberto Dip
faa3e136d3
improve installerstore tool w/ better errors and bucket creation (#6685)
This improves the installerstore CLI tool with:

- The ability to create tests buckets for local development (otherwise you have to interact with another CLI or the MinIO UI)
- Improved error handling and messaging.
2022-07-15 12:20:24 -03:00
Roberto Dip
6ce70b416d
add a new tool to upload installers to blob storage (#6661)
Related to #6365 this adds a new tool to upload pre-built Orbit installers to a storage blob. It uses the same file conventions that the Fleet server expects, making it useful for local testing and infra envs alike.\

Usage and details in the README
2022-07-14 16:11:52 -03:00
Lucas Manuel Rodriguez
142f19f286
Turn mysql event scheduler off (#6640) 2022-07-13 13:50:58 -03:00
Roberto Dip
6a1724a474
add a workflow to build and push fleetdm/fleetctl images (#6533) 2022-07-11 10:32:40 -03:00
Roberto Dip
f7dd8c86cd
implement a docker image to package orbit natively in Linux (#6504)
Related to #6364 and #6363, this:

- Adds a new Docker image, `fleetdm/fleetctl` equipped with all necessary dependencies to build Fleet-osquery binaries for all platforms
- Modifies the package generation logic to special case this scenario via an environment variable `FLEETCTL_NATIVE_TOOLING`
- Adds a new GitHub workflow to test this

There are more details in the README, but part of the special-casing logic is in place to output the binaries to a folder named `build` when they are run with `FLEETCTL_NATIVE_TOOLING`, this is so we can persist the binary generated by the docker container via a bind mount:

```bash
docker run -v "$(pwd):/build" fleetdm/fleetctl package --type=msi
```

To test this changeset, I have generated packages for all platforms, both via the new Docker image and via the classic `fleetctl package`.
2022-07-11 09:49:13 -03:00
Katheryn Satterlee
b9d749f37b
Changelog for Fleet 4.17.0 release (#6565) 2022-07-08 17:09:02 -07:00
Zach Wasserman
f12d3069bd
Make universal binary for Desktop on macOS (#6535)
#4420
Uses Unlicensed code from randall77 to do the "lipo".
2022-07-07 12:12:33 -07:00
Lucas Manuel Rodriguez
700bb9aa98
Fix Datastore.HostByIdentifier to set SeenTime (#6484)
* Fix Datastore.HostByIdentifier to set SeenTime

* Add changes file
2022-07-05 08:08:43 -03:00
Zach Wasserman
974c8e008d
Improve logging for fleetctl with permissions errors (#6460) 2022-06-30 13:24:19 -07:00
gillespi314
2715f8eb32
Add fixtures for software and vulnerabilities end-to-end tests (#6337) 2022-06-23 10:01:37 -05:00
Lucas Manuel Rodriguez
9b210fc6bd
Add support for CA root certificate to Fleet Desktop (fleetctl package's --fleet-certificate flag) (#6312)
* Orbit to pass the value of `--fleet-certificate` to Fleet Desktop

* Add changes for testing
2022-06-21 16:25:36 -03:00
Katheryn Satterlee
865ab32d03
Prepare for 4.16.0 release (#6256) 2022-06-20 20:55:33 -07:00
Martin Angers
7f9bb6431e
Update team integrations to reference global integrations (part of failing policies automation support) (#6156) 2022-06-13 10:04:47 -04:00
Martin Angers
a23e0c41ff
Support failing policies integrations (#5973) 2022-06-06 10:41:51 -04:00
Lucas Manuel Rodriguez
33bb7886b6
Add automation for orbit shell (with TUF) (#5856)
* fix old root dir in orbit

* add changes

* Add automation for orbit shell (with TUF)

* Fix workflow syntax

* Add logging to latest fleetctl preview action

* Add changes to fix workflow

* Use macOS host for TUF server and package generation

* Remove copy/paste if clause

* Fix orbit logs on macOS, Ubuntu

* Simplify TUF and generation of packages

* Set enroll secret instead of getting it

* Increase timeouts

* Add step id

* Fixes to the upload/download of artifacts

* Rearrange steps to not lose the downloads

* Fix copy/paste

* Add fleetctl login step

* Add missing config set

* Fix quotes on Windows

* Increase timeout

* Fix job termination

* Disable FLEET_DESKTOP for now

* Checkout repository on macOS

* Fix logs path

* Enable fleet desktop

* Use cancel, nitpick

Co-authored-by: Michal Nicpon <michal@fleetdm.com>
2022-06-01 13:54:16 -03:00
Lucas Manuel Rodriguez
40bbc7ec5f
Orbit: Remove functionality superseeded by local TUF test scripts (#5970)
* Remove functionality superseeded by local TUF test scripts

* Amend docs as per review
2022-05-31 10:19:01 -03:00
Noah Talerman
d17a8151b4
Prepare for 4.15.0 (#5858)
Co-authored-by: Katheryn Satterlee <me@ksatter.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2022-05-27 16:50:20 -03:00
gillespi314
4a4e832d3a
Increase minimum password length to 12 characters (#5712) 2022-05-18 12:03:00 -05:00
Lucas Manuel Rodriguez
7839716b8d
Prepare TUF scripts for CI and support different dev setups (#5616)
* Prepare TUF scripts for CI and support different dev setups

* Allow only generating selected platforms for pkgs

* Force linux/amd64 on Dockerfile to support M1
2022-05-11 17:00:18 -03:00
Noah Talerman
12b1a159b5
Prepare for 4.14.0 (#5589)
* Add changelog and bump versions

* Update changelog

* Bump version in example Kubernetes YAML

* Add last_opened_at entry to changelog
2022-05-09 18:14:01 -03:00
Lucas Manuel Rodriguez
b6bbbbe186
Add (beta) support for Fleet Desktop to linux (#5221)
* Add (beta) support for Fleet Desktop to linux

* Add dependency for linux desktop

* Amend makefile uname check

* Clarify env vars used for linux in execuser

* Add final set of fixes

* Remove -it from docker run

* Add desktop to the update runner for Linux

* Re-arrange tag.gz and fix upgrade check for linux desktop
2022-05-04 11:14:12 -03:00