Commit Graph

10513 Commits

Author SHA1 Message Date
Patricia Ambrus
a4851aec9d
Update README.md (#16623)
fixed typo under "standard terms" section

# Checklist for submitter

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2024-02-06 18:58:00 -06:00
Mike Thomas
9f260a0caf
Website - device management - "consolidate" to "simplify" text change (#16617)
In response to https://github.com/fleetdm/confidential/issues/5284.

I've always preferred "simplifying" to "consolidating." While
consolidation is good, it sounds time-consuming and tough. "Simplifying"
sounds easy by nature and tips a hat towards Fleet being a simple tool
to use.

Not sure yet about the zero trust header, so will tackle that
separately.


# Checklist for submitter

- [x] Manual QA for all new/changed functionality
2024-02-07 09:55:06 +09:00
Joanne Stableford
c2dc13e771
Update receive-from-github.js list (#16632) 2024-02-06 18:50:44 -06:00
Joanne Stableford
255bd74b57
Update custom.js DRI for secret handbook (#16629) 2024-02-06 18:49:03 -06:00
Nathanael Holliday
55c207ff58
Updating the "updating personnel details section" (#16525)
Adding steps to look at when someone is changing their place of
residence.

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [ ] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [ ] Documented any permissions changes (docs/Using
Fleet/manage-access.md)
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2024-02-06 18:47:18 -06:00
Nathanael Holliday
7154cf44c8
Handbook update: quarterly finance checks (#16358)
Changes to the handbook instead of an issue template as directed here:
https://github.com/fleetdm/confidential/pull/5075/files

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [ ] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [ ] Documented any permissions changes (docs/Using
Fleet/manage-access.md)
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2024-02-06 18:44:54 -06:00
Eric
a427058dd4
Website: Update homepage category buttons (#16642)
Closes: #16620

Changes:
- Updated the styles for the buttons going to product category landing
pages on the homepage.
2024-02-07 09:17:01 +09:00
Sarah Gillespie
78aa1b0080
Update backend MDM migration flow and add logging to aid in debugging migration errors (#16627) 2024-02-06 16:53:43 -06:00
Jacob Shandling
38d6e94f9f
UI - center the host count within its container (#16638)
## Addresses a small unfiled bug:
before - visible on Firefox only:
<img width="148" alt="Screenshot 2024-02-06 at 2 15 14 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/4319df13-8836-4db9-9362-743ee280d086">

after:
<img width="148" alt="Screenshot 2024-02-06 at 2 15 03 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/33daef5b-c7dd-48de-a4b0-3671ebc21f06">


- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-02-06 14:37:28 -08:00
Sabrina Coy
33563fba6e
Update rest-api.md (#16630)
Corrected status code from `2000` to `200`
2024-02-06 17:17:26 -05:00
Luke Heath
d65b910103
Clarify exception process for release freeze (#16607) 2024-02-06 15:31:53 -06:00
Brock Walters
b3acc96c4f
Update standard-query-library.yml (#16271)
It is very easy for data collection like this to veer into double /
triple negative mulitverse of madness stuff...

That said, I may have a lack of understanding about how the product
works, i.e., that a query literally must return a 0 value & not null in
order to "pass" in a policy. If so, then this works as expected.

However, if a query just needs to return empty (null) & 0 is implied in
the logic that sets a policy flag to green or red, then, as a rule,
queries like this should be always be simplified & should default to
using "positive" as opposed to "negative" logic, i.e., check if
something exists, never check if a thing does NOT exist.

# Checklist for submitter

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

- [x] Added/updated tests: Tested by adding dummy Emergency Kit.pdf
files to Desktop & Downloads, running query, then, removing files &
running query.
2024-02-06 16:27:21 -05:00
JD
5a21e2cfb0
Fix article link (#16628)
Correct 404 link found by community member via @BradMacd
2024-02-06 12:54:08 -08:00
George Karr
3e1b5dc16e
Re-enable ability to select Nodeport for service setup #14854 (#16624) 2024-02-06 14:49:13 -06:00
Rachael Shaw
acd8d91350
Add redirect for use in CLI (#16622)
Add redirect for a "more info" link printed to the CLI (so if the docs
URL changes, we don't need to update it in the product as well).

For https://github.com/fleetdm/fleet/issues/16382 (subtask of #9949)
2024-02-06 14:48:11 -06:00
JD
b3452a67a7
Article: Fleet 4.44.0 release (#16625)
Article: Fleet 4.44.0 release
https://github.com/fleetdm/fleet/issues/15984
2024-02-06 13:38:55 -05:00
Jacob Shandling
72ce7bcb74
UI – Instead of not rendering, cosmetically hide ManageQueryAutomations modal to maintain its state (#16609)
## Addresses #16538 


![Screenshot-2024-02-05-at-14512PM](https://github.com/fleetdm/fleet/assets/61553566/ed0baf64-7a3c-4787-83b8-b29285f11601)


## Checklist for submitter

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-02-06 10:12:54 -08:00
Luke Heath
2e93b52490
Add :product label to new requests (#16600)
This will ensure all feature requests are seen and responded to daily
during product design's new daily "new requests" ritual.
2024-02-06 11:32:40 -06:00
Sarah Gillespie
a4228cc45c
Fix UI bug in host query params reconciliation (#16432) 2024-02-06 10:04:07 -06:00
Sarah Gillespie
7b5feff8c9
Add upcoming activities count to host vitals UI (#16533) 2024-02-06 10:03:01 -06:00
Sarah Gillespie
424ffef185
Add count to host upcoming activities API response (#16511) 2024-02-06 10:02:38 -06:00
RachelElysia
379ab87805
Fleet UI: Unreleased missing word (#16619) 2024-02-06 10:52:41 -05:00
Jahziel Villasana-Espinoza
cf9f83604f
fix: return a better message when checking status of async script (#16611)
> Related issue: #16431

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-02-06 10:37:53 -05:00
Jahziel Villasana-Espinoza
e1dbbda706
feat: update fleetctl output to reference fleetd (#16612)
> Related issue: #16382

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality
2024-02-06 09:30:00 -05:00
RachelElysia
f076769ee2
Documentation: Spelling and grammar fixes (#16403)
---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2024-02-06 09:19:42 -05:00
Jacob Shandling
653d4be7f9
UI - update buttons around enroll secrets (#16565)
## Addresses #16155 

<img width="767" alt="Screenshot 2024-02-02 at 9 45 02 AM"
src="https://github.com/fleetdm/fleet/assets/61553566/3fea0949-2b1e-45e2-98c9-ff20f2c68864">


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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-02-05 17:17:11 -08:00
Eric
6d7947da1e
Website: Update heading on /device-management (#16614)
Closes: https://github.com/fleetdm/confidential/issues/5282

Changes:
- Updated a heading on the /device-management page
2024-02-05 18:04:44 -06:00
Noah Talerman
7fdda53dca
API design: Upcoming activities: Run scripts on online/offline hosts (#15931)
API changes for the "Upcoming activities: Run scripts on online/offline
hosts" (#15529) story

Changes:
- Script endpoints are available in Fleet Free and Fleet Premium
- Update `POST /scripts/run` to add a script to the bottom of the
upcoming activities
- Update `POST /scripts/run/sync`
- Add `GET /hosts/:id/activities` to show past activity feed
- Add `GET /hosts/:id/activities/upcoming` to show upcoming activity
feed
- Move docs for `GET /hosts/:id/scripts` to a new "Get host's scripts
section" under "Hosts"
2024-02-05 18:37:35 -05:00
Noah Talerman
c0f6e1f1cb
API design: Add API endpoint to get manual enrollment profile (#16252) (#16255)
API changes for the "Add API endpoint to get manual enrollment profile"
story: #16252
2024-02-05 18:35:44 -05:00
Eric
98e825e434
Update osquery schema version, regenerate merged schema JSON (#16597)
For https://github.com/fleetdm/fleet/issues/13891

Changes:
- Updated the version of the osquery schema used to generate
osqeury_fleet_schema.json (`5.9.1` » `5.11.0`)
- Removed the table override file for the `atom_packages` table (It was
removed from the osquery schema, our override file was previously hiding
the table)
- Ran the `generate-merged-schema` script to regenerate
osquery_fleet_schema.json
2024-02-05 17:30:41 -06:00
Eric
adbb86aa14
Website: update linux logo on /explore-data (#16613)
Closes: #16519

Changes:
- Replaced the image used for the Linux device on
/try-fleet/explore-data
2024-02-05 17:29:06 -06:00
Sarah Gillespie
95035af767
Add loading state to OS updates target form (#16610)
Follow up to #16604
2024-02-05 16:20:59 -06:00
Sarah Gillespie
b3e28f1522
Fix unreleased bugs in OS updates UI (#16604) 2024-02-05 15:09:51 -06:00
Luke Heath
8a35c6cf39
Add product label to new issue URL (#16599)
This will ensure all product design requests are seen and responded to
daily during product design's new daily "new requests" ritual.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-02-05 14:24:34 -06:00
RachelElysia
42cfce3ee1
Fleet UI: Replace references of team members for users (#16515) 2024-02-05 14:11:01 -05:00
Jahziel Villasana-Espinoza
feaf6f5a71
feat: add db table for host lock and wipe (#16580)
> Related issue: #16386 

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Manual QA for all new/changed functionality
2024-02-05 13:45:27 -05:00
Luke Heath
1982611c05
Finalize 4.44.0 changelog (#16576) 2024-02-05 12:17:50 -06:00
Martin Angers
792d76e2cd
Fix stack trace, duplicates and better coverage of captured errors in APM (#16516) 2024-02-05 11:53:39 -05:00
Roberto Dip
a1b23acfea
fix the hover state of chevron-right icons (#16595)
for #16133, pair-programmed with @ghernandez345 



# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Gabe Hernandez <ghernandez345@gmail.com>
2024-02-05 13:12:18 -03:00
Martin Angers
9c37db2a05
Remove unnecessary nested transactions in batch-set of MDM profiles (#16449) 2024-02-05 10:51:32 -05:00
Roberto Dip
fa89dff66f
fix race in orbit test (#16589)
The scheduled test run
https://github.com/fleetdm/fleet/actions/runs/7764392848 failed with a
panic because `TestWindowsMDMEnrollmentPrevented` timed out:

```
2024-02-03T05:05:26.3041218Z === RUN   TestWindowsMDMEnrollmentPrevented
2024-02-03T05:05:26.3044251Z === RUN   TestWindowsMDMEnrollmentPrevented/{RenewEnrollmentProfile:false_RotateDiskEncryptionKey:false_NeedsMDMMigration:false_NeedsProgrammaticWindowsMDMEnrollment:true_WindowsMDMDiscoveryEndpoint:http://example.com/_NeedsProgrammaticWindowsMDMUnenrollment:false_PendingScriptExecutionIDs:[]_EnforceBitLockerEncryption:false}
2024-02-03T05:05:26.3047208Z coverage: 2.5% of statements in github.com/fleetdm/fleet/v4/...
2024-02-03T05:05:26.3047963Z panic: test timed out after 1h0m0s
2024-02-03T05:05:26.3048482Z running tests:
2024-02-03T05:05:26.3049005Z 	TestWindowsMDMEnrollmentPrevented (59m52s)
2024-02-03T05:05:26.3052172Z 	TestWindowsMDMEnrollmentPrevented/{RenewEnrollmentProfile:false_RotateDiskEncryptionKey:false_NeedsMDMMigration:false_NeedsProgrammaticWindowsMDMEnrollment:true_WindowsMDMDiscoveryEndpoint:http://example.com/_NeedsProgrammaticWindowsMDMUnenrollment:false_PendingScriptExecutionIDs:[]_EnforceBitLockerEncryption:false} (59m52s)
[...]
2024-02-03T05:05:26.3068624Z goroutine 69 [chan receive]:
2024-02-03T05:05:26.3069997Z github.com/fleetdm/fleet/v4/orbit/pkg/update.TestWindowsMDMEnrollmentPrevented.func2.1({{0xe3ada3, 0x12}, {0x0, 0x0}, {0xe37311, 0xc}})
2024-02-03T05:05:26.3072376Z 	/home/runner/work/fleet/fleet/orbit/pkg/update/notifications_test.go:295 +0x65
2024-02-03T05:05:26.3074514Z github.com/fleetdm/fleet/v4/orbit/pkg/update.(*windowsMDMEnrollmentConfigFetcher).attemptEnrollment(0xc0000f8cf0, {0x0, 0x0, 0x0, 0x1, {0xe3ada3, 0x12}, 0x0, {0x0, 0x0, ...}, ...})
```

I was able to reproduce locally 1/4th of the times, after putting the
following print statements:

```diff
                        if cfg.NeedsProgrammaticWindowsMDMEnrollment {
                                fetcher.execEnrollFn = func(args WindowsMDMEnrollmentArgs) error {
-                                       <-chProceed    // will be unblocked only when allowed
+                                       fmt.Println("fetcher.execEnrollFn A: ", apiCallCount)
+                                       <-chProceed // will be unblocked only when allowed
+                                       fmt.Println("fetcher.execEnrollFn B: ", apiCallCount)
                                        apiCallCount++ // no need for sync, single-threaded call of this func is guaranteed by the fetcher's mutex
                                        return apiErr
                                }
@@ -301,7 +303,9 @@ func TestWindowsMDMEnrollmentPrevented(t *testing.T) {
                                }
                        } else {
                                fetcher.execUnenrollFn = func(args WindowsMDMEnrollmentArgs) error {
-                                       <-chProceed    // will be unblocked only when allowed
+                                       fmt.Println("fetcher.execUnenrollFn A: ", apiCallCount)
+                                       <-chProceed // will be unblocked only when allowed
+                                       fmt.Println("fetcher.execUnenrollFn B: ", apiCallCount)
                                        apiCallCount++ // no need for sync, single-threaded call of this func is guaranteed by the fetcher's mutex
                                        return apiErr
                                }
@@ -317,23 +321,33 @@ func TestWindowsMDMEnrollmentPrevented(t *testing.T) {

                        started := make(chan struct{})
                        go func() {
+                               fmt.Println("before close started")
                                close(started)
+                               fmt.Println("aftre close started")

                                // the first call will block in enroll/unenroll func
+                               fmt.Println("before inner fetchergetconfig")
                                cfg, err := fetcher.GetConfig()
+                               fmt.Println("after inner fetchergetconfig")
                                assertResult(cfg, err)
                        }()

+                       fmt.Println("before started")
                        <-started
+                       fmt.Println("after started")
                        // this call will happen while the first call is blocked in
                        // enroll/unenrollfn, so it won't call the API (won't be able to lock the
                        // mutex). However it will still complete successfully without being
                        // blocked by the other call in progress.
+                       fmt.Println("before first fetchergetconfig")
                        cfg, err := fetcher.GetConfig()
+                       fmt.Println("before first fetchergetconfig")
                        assertResult(cfg, err)

                        // unblock the first call and wait for it to complete
+                       fmt.Println("before close chProceed 1")
                        close(chProceed)
+                       fmt.Println("after close chProceed 2")
                        time.Sleep(100 * time.Millisecond)
```

This is the output I've got every time the test hung:

```
before started
before close started
aftre close started
after started
before first fetchergetconfig
before inner fetchergetconfig
after inner fetchergetconfig
fetcher.execEnrollFn A:  0
```

And this is the output when the tests passed

```
before started
before close started
aftre close started
before inner fetchergetconfig
fetcher.execUnenrollFn A:  0
after started
before first fetchergetconfig
before first fetchergetconfig
before close chProceed 1
after close chProceed 2
fetcher.execUnenrollFn B:  0
after inner fetchergetconfig
fetcher.execUnenrollFn A:  1
fetcher.execUnenrollFn B:  1
```

Note how the deadlock occurs when `GetConfig` is called first outside of
the goroutine. I added some logic to prevent this, but I'm confident
there must be a better way to accomplish the same. cc: @mna you're the
king of concurrency, do you have any ideas?
2024-02-05 12:06:25 -03:00
Martin Angers
9abb572194
Rename mdm profiles updated_at to uploaded_at and remove automatic setting (#16425) 2024-02-05 10:01:38 -05:00
Jahziel Villasana-Espinoza
fa46cfba20
fix: filter out software from parallels vm (#16520)
> Related issue: #15855

I followed a similar pattern to `sanitizeSoftware`, a function that
modifies the `Software`. I was originally going to update
`sanitizeSoftware` itself, but decided against it
1. to avoid making lots of changes to the function signature and
internals
2. because the logic this issue requires is pretty different from what
`sanitizeSoftware` is trying to do, so seemed to warrant its own
function.

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Roberto Dip <me@roperzh.com>
2024-02-05 10:00:08 -05:00
Noah Talerman
9069850585
Docs and articles: Remove Windows MDM feature flag (#16399)
- Remove feature flag from the docs and articles (it no longer exists)
- Remove mention of Windows MDM not being ready for production
2024-02-05 09:11:45 -05:00
Roberto Dip
efe68e2c66
fix puppet tests and add CI workers (#16529)
for #16059
2024-02-05 09:50:18 -03:00
Roberto Dip
d4ef9be990
fix query generation for docs + update them (#16537)
this fixes the `go:generate` directive + adds the changes for the files
generated automatically after running `make generate-doc`
2024-02-05 09:50:05 -03:00
Roberto Dip
e35d1dacbd
improve validation of windows profiles (#16563)
for #16316, this improves the XML validation of Windows profiles and
ensures we support two ways of embedding XML:

- Escape the XML
- Use a wrapping `<![CDATA[ ... ]]>` element
2024-02-05 09:49:55 -03:00
Lucas Manuel Rodriguez
5360029d67
Allow custom osquery database on fleetd (#16554)
#16014

- [X] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
- [x] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2024-02-05 09:41:06 -03:00
Victor Lyuboslavsky
78911e9595
Updated docs for PATCH teams/:id/users (#16336)
Updated docs for PATCH teams/:id/users
#16275

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2024-02-04 14:52:45 -06:00
Mike McNeil
10bac0c469
Handbook: Event strategy (#16587)
Co-authored-by: Sampfluger88 <sampfluger88@gmail.com>
2024-02-03 23:22:42 -06:00