Commit graph

1482 commits

Author SHA1 Message Date
Ian Littman
199dad272b
Add software installer extension column to database (#22017)
#22044 

This is distinct from the filename extension due to being based on
package introspection.

# Checklist for submitter

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [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] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality
2024-09-12 16:22:35 -05:00
Lucas Manuel Rodriguez
169d9de24c
Clear policy results and stats when setting or changing an installer (#22053)
Follow up PR for #21428.

After some discussions with Noah we want to clear policy results when a
user sets for the first time or changes an installer on a policy.
2024-09-12 16:56:12 -03:00
Victor Lyuboslavsky
b60ebbc63e
Added GitOps support for uninstall script. (#21969)
`fleetctl gitops` subtask for #20320

# Checklist for submitter

- [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
2024-09-12 13:25:40 -05:00
Dante Catalfamo
0074a5f964
Validate orbit access to installer package before returning it (#21337) 2024-09-12 13:36:19 -04:00
Lucas Manuel Rodriguez
4c24729df0
Add policies for "No team" (#21972)
#21467

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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] 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] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [X] Manual QA for all new/changed functionality
2024-09-12 14:23:25 -03:00
Victor Lyuboslavsky
8e5d056198
Uninstall packages (#21892)
#20320

# Demo video(s)
- API demo: https://www.loom.com/share/037c82cbde9743cfa42778eb04612482

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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 BE tests
- [ ] Added/updated FE tests
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [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] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual BE QA for all new/changed functionality
- [ ] Manual end-to-end QA for all new/changed functionality
2024-09-12 11:39:41 -05:00
Victor Lyuboslavsky
f5fb6ba75c
Fixes from BE code review. 2024-09-12 10:29:28 -05:00
Martin Angers
a1f6e22622
Fix cron profile delivery when a single Windows VM has duplicate enrollment entries for its host_uuid (#21983) 2024-09-11 17:18:59 -04:00
Victor Lyuboslavsky
174b4ece05
Added created_at to fleet/scripts/results and switched to enum for install status. (#22019) 2024-09-11 15:56:49 -05:00
Dante Catalfamo
8ad0d59016
Add clearer error for VPP token constraint failure (#21967)
#21890
2024-09-11 14:11:28 -04:00
Victor Lyuboslavsky
5f846c8870
Merge remote-tracking branch 'origin/main' into 20320-feat-uninstall-packages 2024-09-11 09:35:04 -05:00
Jahziel Villasana-Espinoza
385da248cb
feat: validate profile with apple (#21862)
> Related issue: #17558

# 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://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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
2024-09-10 18:44:58 -04:00
Roberto Dip
05818902cd
implement OTA enrollment (#21942)
for #21019

# 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://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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
2024-09-10 16:52:17 -03:00
Victor Lyuboslavsky
dea2722332
Added migration test. 2024-09-09 15:28:15 -05:00
Victor Lyuboslavsky
c39a3fec10
Final API changes and test updates. 2024-09-09 14:43:52 -05:00
Victor Lyuboslavsky
b4b3a8e8e2
install API change, integration test and bug fixes. 2024-09-09 11:13:20 -05:00
Victor Lyuboslavsky
bcd30c0d07
Updated schema.sql after merge. 2024-09-08 12:26:26 -05:00
Victor Lyuboslavsky
cb537db724
Merge branch 'main' into 20320-feat-uninstall-packages
# Conflicts:
#	server/datastore/mysql/schema.sql
#	server/fleet/software_installer.go
2024-09-08 12:22:36 -05:00
Ian Littman
aad34f8c27
Add software uninstall script property, hydrate with scripts
Also hydrate uninstall script content ID when pulling installers when uninstall script contents aren't requested
2024-09-08 12:20:20 -05:00
Victor Lyuboslavsky
dd674552e2
Fixed and added Go tests. 2024-09-07 08:07:22 -05:00
Dante Catalfamo
545f6a4ec2
Remove the ability to have fallback 'all teams' token (#21893) 2024-09-06 18:37:40 -04:00
Lucas Manuel Rodriguez
270ff784d6
Add GitOps support for policy installers (#21826)
#20895

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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] 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] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [X] Manual QA for all new/changed functionality
2024-09-06 19:10:28 -03:00
Victor Lyuboslavsky
026f133a5c
Update schema after merge. 2024-09-06 16:41:26 -05:00
Victor Lyuboslavsky
3f36af92a6
Merge branch 'main' into 20320-feat-uninstall-packages
# Conflicts:
#	server/datastore/mysql/schema.sql
2024-09-06 16:34:30 -05:00
Victor Lyuboslavsky
795110962d
Updated ListHostSoftware test and fixed issues. 2024-09-06 16:34:00 -05:00
Dante Catalfamo
f3e4602012
Use global_or_team_id instead of team_id so ID 0 (no team) is valid (#21880) 2024-09-06 15:36:41 -03:00
Dante Catalfamo
b19de96635
Migration Swap for minor release (#21877)
In order to get the multi-VPP team app invalidation feature into the
release candidate, we need to swap two migrations to ensure clients get
in-order migrations when moving to the next release
2024-09-06 13:46:08 -04:00
Victor Lyuboslavsky
6f3dc3e599
Rebase onto main 2024-09-06 09:55:34 -05:00
Victor Lyuboslavsky
7d47cd95d8
Fixed tests 2024-09-06 09:49:36 -05:00
Victor Lyuboslavsky
5a50e0ad1e
Added activity -- core implementation done. 2024-09-06 09:49:36 -05:00
Victor Lyuboslavsky
a4a2e402f5
Rebased onto main. 2024-09-06 09:49:32 -05:00
Victor Lyuboslavsky
42905d3c97
Can run install scripts now. 2024-09-06 09:49:28 -05:00
Victor Lyuboslavsky
7e60b646fc
Fixed schema 2024-09-06 09:49:28 -05:00
Victor Lyuboslavsky
54840414a2
Updated host_software_installs table. 2024-09-06 09:49:27 -05:00
Victor Lyuboslavsky
ea10d43e93
Added uninstall script to software_installers 2024-09-06 09:49:27 -05:00
Dante Catalfamo
031e5b9c71
Delete apps associated with VPP tokens when they're moved or deleted (#21852)
#21804
2024-09-06 09:14:09 -04:00
Roberto Dip
4eb9cf72ad
MABM: fixes and re-enable integration tests (#21834)
for #21309, this also fixes a few bugs found along the way

# 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] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-09-05 14:10:35 -03:00
Roberto Dip
1019317975
fix migration order (#21839)
This migration is not in `minor-fleet-v4.56.0` but other migrations in
the branch have a newer timestamp.
2024-09-05 11:19:49 -03:00
Victor Lyuboslavsky
23f9065522
Profiles batch activity (#21604)
#20757
API endpoint `/api/v1/fleet/mdm/profiles/batch` will now not log an
activity for profile types that did not change in the database (Apple
configuration profiles, Windows configuration profiles, or Apple
declarations).

Demo video: https://www.loom.com/share/8b75cbd8e7394c12ac6b56746b72c244

# Checklist for submitter
- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated tests
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- [x] Manual QA for all new/changed functionality
2024-08-30 16:00:35 -05:00
Lucas Manuel Rodriguez
f30017f354
Fix upcoming activities for automatic installers (#21714)
Small fix for #21428.

This is to show the activity the right way (Because installations
triggered by Fleet will have `host_software_installs` with `NULL`
`user_id`.).
2024-08-30 17:00:29 -03:00
Lucas Manuel Rodriguez
fcdda20664
Backend for policy automation to install software (#21650)
#21428

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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] 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] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [X] Manual QA for all new/changed functionality
2024-08-30 14:13:25 -03:00
Jahziel Villasana-Espinoza
a00559e732
feat: enable multiple ABM and VPP tokens (#21693)
> Related issue: #9956 

# 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://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [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] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Roberto Dip <rroperzh@gmail.com>
Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
2024-08-29 18:51:46 -04:00
Roberto Dip
685bf58cd9
Self service vpp fixes (#21624)
for

- https://github.com/fleetdm/fleet/issues/21497
- https://github.com/fleetdm/fleet/issues/21498

# 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] 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
2024-08-28 10:47:27 -03:00
Victor Lyuboslavsky
38669539e4
Removing t.Parallel from migration tests. (#21589)
To fix nightly CI Go test fail.
2024-08-27 09:03:50 -05:00
Victor Lyuboslavsky
dc4b45aba5
Deleting installed software now makes it available for install (#21487)
#21427

Also fixed #21488 
- Demo video:
https://www.loom.com/share/0a97afa680c74fa884ac07e87857098a

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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-08-26 17:30:56 -05:00
Roberto Dip
4ee3a2e10a
add missing comment (#21576) 2024-08-26 15:31:31 -03:00
Roberto Dip
08783b1a12
adjustments to support 60k MDM hosts after load testing (#21247)
for https://github.com/fleetdm/fleet/issues/20007
2024-08-26 15:20:57 -03:00
Victor Lyuboslavsky
fdfc12982b
Improvements to go tests in CI (#21545)
#21546 
Some improvements to overall go test CI run time.
2024-08-26 08:55:53 -05:00
Jahziel Villasana-Espinoza
7ed1327093
fix: stop panic when doing self install (#21480)
> Related issue: #21475

# 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://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#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
2024-08-22 09:46:50 -04:00
Martin Angers
e972d38bdc
Bugfix: take VPP apps into account in "self-service" filter and My Device page (#21473) 2024-08-21 16:40:01 -04:00