Commit graph

11829 commits

Author SHA1 Message Date
Tim Lee
eb7ac35071 bugfix: 18703 policies filter (#18706)
#18703
2024-05-06 12:27:06 -04:00
Jacob Shandling
fc3cb5b5d3 UI - Merge inherited and and team-scope queries tables (#18596)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-05-06 12:27:05 -04:00
RachelElysia
7bac3681c7 Fleet UI: Merge inherited policies into team policies (#18543) 2024-05-06 12:27:01 -04:00
Tim Lee
511f9bdbdb 17744 policies count backend (#18567)
#17744 

This adds the `merged_inherited` query param to
`/teams/:id/policies/count` related to
https://github.com/fleetdm/fleet/pull/18564

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality

---------

Co-authored-by: RachelElysia <rachel@fleetdm.com>
2024-05-06 12:26:10 -04:00
Tim Lee
37ac878ce7 17744 policies backend (#18564)
#17744 

This change implements a new query parameter on `/teams/%d/policies` to
merge inherited policies into the policies array instead of listing them
separately. The frontend will key off the existing `team_id` field to
mark policies as "inherited" in theUI.

I opted for an additive approach in adding a datastore method rather
than modifying the existing ListTeamPolicies to avoid a large test
refactor.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality

---------

Co-authored-by: RachelElysia <rachel@fleetdm.com>
2024-05-06 12:26:10 -04:00
Tim Lee
84f45e54d0 17745 queries backend (#18582)
#17745 

implement `merge_inherited` on the list queries endpoint to combine team
and inherited queries.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality

---------

Co-authored-by: RachelElysia <rachel@fleetdm.com>
2024-05-06 12:26:10 -04:00
RachelElysia
c2be147ae9 Feature branch with changelog only 2024-05-06 12:26:09 -04:00
RachelElysia
8aeccc17e1
[unreleased bug] Fleet UI: Update autofill help text (#18765) 2024-05-06 10:52:19 -04:00
Victor Lyuboslavsky
9c714c544d
Optimized policy_stats updates to NOT lock the policy_membership table (#18720)
#16562

Optimized policy_stats updates to NOT lock the policy_membership table.
This should improve deployment performance with many global policies and
team hosts.

The original implementation that used INSERT ... SELECT (SELECT
COUNT(*)) ... caused performance issues. Given 50 global policies, 10
teams, and 10,000 hosts per team, the INSERT query took 30-60 seconds to
complete. Since it was an INSERT query, it blocked other hosts from
updating their policy results in policy_membership.

Now, we separate the INSERT from the SELECT, since SELECT by itself does
not block other hosts from updating their policy results. In addition,
we process one global policy at a time, which reduces the time to
complete the SELECT query to <2 seconds, and limits the memory usage. We
are not using a transaction to reduce locks. This means that INSERT may
fail if the policy was deleted by a parallel process. Also, the INSERT
may overwrite a clearing of the stats. This is acceptable, since these
are very rare cases. We log and proceed in that case.


# 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/`,
`orbit/changes/` or `ee/fleetd-chrome/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-05-06 09:48:37 -05:00
Mike McNeil
507ac65f8b
Website: Add missing pages to sitemap (#18762) 2024-05-06 07:16:36 -05:00
Sam Pfluger
54adc3301a
Update digital-experience.rituals.yml (#18758) 2024-05-04 18:19:08 -05:00
Luke Heath
eab8805fc3
Add requesting IT support to handbook (#18735) 2024-05-04 10:27:07 -05:00
Luke Heath
676a6320d9
Move Yubikey orders to Engineering handbook (#18743) 2024-05-04 10:21:11 -05:00
Eric
1cd0c6566c
Website: Create protocol and subdomain regex custom config & normalize LinkedIn urls (#18756)
Changes:
- Updated the regex used to match HTTP protocol and common subdomains in
the `get-enriched` helper to include more subdomains and changed it to a
custom config variable
(`sails.config.custom.RX_PROTOCOL_AND_COMMON_SUBDOMAINS`)
- Updated the update-or-create-contact-and-account helper to remove HTTP
protocol and subdomains from provided linkedIn URLs.
2024-05-03 18:51:31 -05:00
Mike McNeil
7ae2f24e3c
Website: Update primary-tagline.partial.ejs (#18754)
Not everyone was getting what we meant by "focus on data, not vendors".


To be clear, what we meant is that you can use open standards and data,
and learn related skills (git, yml, sql, REST, json, http, devops, etc)
rather than using lots of overlapping proprietary tools and learning a
bunch of overlapping proprietary skills that rot quickly and don't
always translate between jobs.
2024-05-03 18:31:53 -05:00
Mike McNeil
57b52204a9
Website: Update view-device-management.js (#18752)
Prioritize quotes that are directly about MDM on the MDM page.
2024-05-03 17:31:30 -05:00
Eric
b8793ee776
Website: Update save-questionnaire-progress (#18753)
Follow up PR to https://github.com/fleetdm/fleet/pull/18721.
2024-05-03 17:29:56 -05:00
Eric
7c3f029f78
Website: reduce time to submit steps of the /start questionnaire. (#18721)
Related to: https://github.com/fleetdm/confidential/issues/6357

Changes:
- wrapped the `updateOrCreateContactAndAccount` helper call in
`save-questionnaire-progress` in `setImmediate()` to allow users to
progress through the form without waiting for CRM updates.
2024-05-03 17:23:05 -05:00
JD
3846d2aca8
Article: Sysadmin diaries: device enrollment (#18745)
Article: Sysadmin diaries: device enrollment
https://github.com/fleetdm/fleet/issues/18450
2024-05-03 14:59:13 -07:00
Eric
3a15802944
Website: Update organization matching in get-enriched helper. (#18749)
Closes: https://github.com/fleetdm/confidential/issues/6381

Changes:
- Updated the get-enriched helper to improve enrichment results for
users whose provided organization is not the top experience listed on
their LinkedIn profile.
2024-05-03 16:09:05 -05:00
Lucas Manuel Rodriguez
4a739fba8a
Cleanup query results after host is transferred to another team (#18712)
#18079

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [X] 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.~
- [X] Added/updated tests
- [X] 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.~
- ~[ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).~
- [X] 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-05-03 17:37:55 -03:00
Zach Wasserman
8f4c832958
Add fleetdm.com shortlinks for RSA event (#18746) 2024-05-03 13:28:01 -07:00
Victor Lyuboslavsky
a3d94c8324
AI generated policy description/resolution (#18713)
Merging feature branch. Each commit into feature branch has already been
reviewed.
2024-05-03 15:23:27 -05:00
Victor Lyuboslavsky
8b9cef80bd
Fixed ingestion of private IPv6 address from agent. (#18738)
#18039 
Fixed ingestion of private IPv6 address from agent. Host details page
can now display private IPv6 address if private IPv4 does not exist.

How to set up an IPv6-only host:
https://www.loom.com/share/5e205549b6484df88702c27a5aa5a3ee

# Checklist for submitter
- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/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-05-03 15:07:09 -05:00
Rachael Shaw
7fd2953982
Add redirect for calendar events article (#18742)
The UI currently links out to
fleetdm.com/learn-more-about/calendar-events which was meant to link to
the article but was never set up.
2024-05-03 13:29:16 -05:00
Victor Lyuboslavsky
4f4800be19
GitOps remove teams (#18640)
#16677 

Improvements to `fleetctl gitops` command:
- Added the ability to pass multiple files, like `fleetctl gitops -f
file1 -f file2`, where the first file must be the global configuration
- Added the ability to remove teams that were not specified in team
configs using the switch `--delete-other-teams`
- When passing a global config and team config during initial
configuration, the `org_settings.mdm.apple_bm_default_team` value can be
set to match the team that will be created by the provided team config.

After these changes are released to prod, we can update
https://github.com/fleetdm/fleet-gitops to use the new switches: #18692

# 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/`,
`orbit/changes/` or `ee/fleetd-chrome/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-05-03 08:03:00 -05:00
Sam Pfluger
0289ea26e8
Update README.md (#18728) 2024-05-03 01:55:48 -05:00
Sam Pfluger
0e032d95bc
Make "create an issue" link public (#18727) 2024-05-03 01:50:38 -05:00
Sam Pfluger
31afc8ead6
Update digital-experience-request.md (#18726) 2024-05-03 01:34:19 -05:00
Sam Pfluger
ab4850cec0
Update digital-experience-request.md (#18725) 2024-05-03 01:33:10 -05:00
Mike McNeil
d16b62fd12
Handbook: Transition IT to engineering (#18524)
Co-authored-by: Sampfluger88 <sampfluger88@gmail.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2024-05-03 00:18:40 -05:00
Mike McNeil
41f4902b23
Update communications.md (#18683) 2024-05-03 10:20:09 +09:00
Eric
52267b993f
Website: homepage and /endpoint-ops personalization & content update. (#18707)
Closes: https://github.com/fleetdm/confidential/issues/6408

Changes:
- Updated the "Osquery on easy mode" bullet point and section on the
endpoint ops page.
- Added missing punctuation to an integration card on the homepage.
- Updated the calendar video to fix autoplaying on IOS
- Updated the homepage tagline to be personalized for vulnerability
management users (“Focus on vulnerabilities, not vendors”)
-
2024-05-02 18:14:08 -05:00
Rachael Shaw
5f442a8002
Tiny tweak to a comment (#18709)
Just making it a touch clearer why we're changing a key name/deleting a
key from the Open API response.
2024-05-02 17:39:39 -05:00
Rachael Shaw
6fa8763714
API design: Add declaration (DDM) profiles for macOS (#18718)
Fresh PR to avoid product design PRs messing with the PR open time KPI
(original here: https://github.com/fleetdm/fleet/pull/17369)

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2024-05-02 17:33:06 -05:00
Mike McNeil
5ebc07e6e8
Update homepage.ejs (#18722) 2024-05-02 17:21:59 -05:00
Rachael Shaw
e213ebde45
API design: Resend configuration profile (#18717)
Fresh PR to avoid product design PRs messing with the PR open time KPI
(previously https://github.com/fleetdm/fleet/pull/17711)

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: George Karr <georgekarrv@users.noreply.github.com>
2024-05-02 17:08:22 -05:00
Rachael Shaw
0bd2f00495
Permissions: Resend a configuration profile (#18724)
Fresh PR to avoid product design PRs messing with the PR open time KPI
(previously https://github.com/fleetdm/fleet/pull/17841)

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2024-05-02 17:06:36 -05:00
Rachael Shaw
080d466121
API design: Add manual labels via UI and API (#18716)
Fresh PR to avoid product design PRs messing with the PR open time KPI
(previously https://github.com/fleetdm/fleet/pull/17670)

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2024-05-02 16:59:03 -05:00
Rachael Shaw
74eb6c4f01
API design: Add critical policy and resolution data to device health API (#18715)
Fresh PR to avoid product design PRs messing with the PR open time KPI
(original: https://github.com/fleetdm/fleet/pull/16982)

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-05-02 16:28:34 -05:00
Mike McNeil
0263d2eab7
README.md: Cloud city v4 (#18723) 2024-05-02 16:26:15 -05:00
Dale Ribeiro
51f578a0c8
Handbook: Update leadership.md (#18704) 2024-05-02 16:03:17 -05:00
Victor Lyuboslavsky
c0dbe78766
Per Figma, using default policy description/resolution if either is missing. (#18714)
#18187 
Per Figma, use the default policy description/resolution if either is
missing.
2024-05-02 15:11:54 -05:00
dependabot[bot]
c62aeaf225
Bump ejs from 3.1.9 to 3.1.10 (#18700) 2024-05-02 14:41:07 -05:00
Tim Lee
536ccc91c0
18601 add ubuntu sources (#18602) 2024-05-02 13:20:00 -06:00
Victor Lyuboslavsky
8bbd0063b1
Fixing Advanced.tsx after rebase with main. 2024-05-02 12:38:05 -05:00
Victor Lyuboslavsky
e92b4628ff
Updated datastore mock. 2024-05-02 12:14:09 -05:00
RachelElysia
b864130fe9
Fleet UI: Replace mock API call with autofill API call (#18705) 2024-05-02 11:57:00 -05:00
RachelElysia
b670df9447
Design updates: New copy changes (#18655) 2024-05-02 11:57:00 -05:00
RachelElysia
85b15758f7
Fleet UI: AI autofill policy description and resolution (#18646) 2024-05-02 11:57:00 -05:00