Commit Graph

180 Commits

Author SHA1 Message Date
Tomas Touceda
b2efc9f51c
Make redis conn timeout and keep alive configurable (#1968)
* Make redis conn timeout and keep alive configurable

* Document new configs

* Correct config name
2021-09-08 17:55:12 -03:00
Tomas Touceda
69e06476a7
Ignore nonexistent label query executions (#1953) 2021-09-07 15:51:49 -03:00
Tomas Touceda
a6acb1cd1a
Allow users to be readded if they were ever removed (#1945)
* Allow users to be readded if they were ever removed

* Address review comment

* lint
2021-09-07 13:33:40 -03:00
Tomas Touceda
99e9e846f4
Remove id column from host_users to allow for bulk insert (#1931)
* Remove id column from host_users to allow for bulk insert

* Update documentation
2021-09-07 11:02:35 -03:00
Tomas Touceda
cb687f6e2d
Increase timeout to check for smpt availability (#1942) 2021-09-06 14:29:52 -03:00
gillespi314
4a307f1274
Update email template image links (#1938)
* Update email image links; move pngs to fleetdm.com
2021-09-03 17:00:30 -05:00
gillespi314
56157617c6
Allow users to schedule queries to run every 15 minutes (#1928)
* Add new 15-min interval option to schedule
2021-09-03 11:26:30 -05:00
Tomas Touceda
6d2ae02efd
Rename core->free and basic->premium (#1870)
* Rename core->free and basic->premium

* Fix lint js

* Comment out portion of test that seems to timeout

* Rename tier  to premium if basic is still loaded
2021-09-03 13:05:23 -03:00
gillespi314
5c707ae21f
Conform usage of query names for scheduled queries (#1924) 2021-09-03 10:57:25 -05:00
Tomas Touceda
db2e04a7c3
Update new sched query stats if there's already some (#1918)
* Update new sched query stats if there's already some

* IGNORE if the sched query is not present

* Make tests less flaky
2021-09-02 17:39:08 -03:00
Tomas Touceda
df135f57a9
Update changelog and versions to 4.2.4 (#1921)
* Update changelog and versions to 4.2.4

* Update CHANGELOG.md

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>
2021-09-02 16:50:11 -03:00
Tomas Touceda
681e7f18a0
Add default for agent options (#1917) 2021-09-02 15:59:48 -03:00
gillespi314
a8c4e10fad
FleetUI: Update Avatar component (#1880)
* Replace default avatar; update components

* Add permanent images folder to website; update paths

* Disable flaky e2e tests
2021-09-02 12:12:42 -05:00
RachelElysia
66597ced71
App wide UI: Error and empty states for tables (#1875) 2021-09-02 08:16:19 -04:00
Tomas Touceda
15ce06263d
Dont fail config if agent opts is nil (#1898)
* Handle agentopts nil better

* Add changes file
2021-09-01 19:17:41 -03:00
RachelElysia
36971b4cb8
Host Details Page: Query performance column (#1867) 2021-09-01 18:08:20 -04:00
Martin Angers
9a0871a2f1
Address issues related to Redis Cluster support (#1885)
Closes #1847 .
2021-09-01 16:32:57 -04:00
Martin Angers
3755a58070
Add support for MySQL read replicas (#1786)
Adds configuration options to use a read-only MySQL replica,
and uses it instead of the primary for reads.
2021-09-01 15:50:52 -04:00
Tomas Touceda
2116217b6e
Add forgotten changes file for issue 1829 (#1886) 2021-09-01 14:57:54 -03:00
RachelElysia
da2a3aa1f0
App Settings Page: New advance options UI (#1832) 2021-09-01 10:57:25 -04:00
gillespi314
84615afbb3
Fix display of platform labels (#1866)
* Add policies UI components

* Add policy filter to hosts page
2021-08-31 20:02:23 -05:00
Benjamin Edwards
047dc5ac62
fix get hosts command to properly output json/yaml (#1774)
* fix get hosts command to properly output json/yaml based on command line flag

* add changes file

* added tests for get hosts when specifiying host

* added additional hosts to be returned in test cases

* go fmt
2021-08-31 11:37:03 -04:00
RachelElysia
6b437b8526
404 500 Pages: 2 CTA buttons (#1846) 2021-08-31 09:51:29 -04:00
gillespi314
452392f5d2
Add new feature: Policies (#1772) 2021-08-30 18:02:53 -05:00
RachelElysia
36b69c7a68
UI: License expiration warning banner (#1825) 2021-08-30 15:52:13 -04:00
Tomas Touceda
22267d8e0a
Group concat limit (#1860)
* wiup

* Decouple software select in two

* Add changes file

* Add missing error check
2021-08-30 16:07:24 -03:00
Tomas Touceda
2a17f9fe56
Remove hardcoded limits to the labels (#1857)
* Remove hardcoded limits to the labels

* Add changes file

* Remove test that doens't apply anymore
2021-08-30 14:56:15 -03:00
Tomas Touceda
15b7f5dd80
Create vuln path if dynamic (#1830)
* Create vuln path if possible

* Make sure we skip creation if static instance is selected

* Document behavior

* Fix return in crons and test without sleeps
2021-08-30 12:29:05 -03:00
RachelElysia
e66cb536ab
Host Details Page: Query button for observers (#1799) 2021-08-27 11:13:28 -07:00
Tomas Touceda
8b908f6506
Issue 1599 offline webhook (#1777)
* wip

* Add tests and finish implementation

* Add proper default for periodicity, changes file, and documentation

* Fix tests and add defaults also to new installs

* EnableHostUsers should be true if undefined as well

* In some cases, periodicity can be zero because of the migrations

* Apply defaults when migrating appconfig

* Fix lint

* lint

* Address review comments
2021-08-27 11:15:36 -03:00
gillespi314
aa588bc1ae
Manage hosts page improvements (#1690)
* Improve loading states, query param validation

* Refactor getNextLocationUrl; persist url params

* Update next location routing for certain UI actions
2021-08-26 14:49:30 -05:00
Tomas Touceda
d6d53acda5
Issue 1600 fleetctl license expiration (#1800)
* Show banner in fleet and fleetctl if license expired

* Ignore if license is nil or tier is core

* Address review comments
2021-08-26 10:28:53 -03:00
Zach Wasserman
801f44da86
Update changelog for Fleet 4.2.3 (#1811) 2021-08-25 20:11:45 -07:00
Zach Wasserman
5993018214
Fix live query timeout handling (#1759)
Correct cleanup of the connections was verified with the pprof goroutine
tool.

Fixes #1751
2021-08-25 15:28:04 -07:00
RachelElysia
3947838b65
Manage Hosts Page: Enroll secret secondary action (#1787) 2021-08-25 13:06:35 -07:00
RachelElysia
f10636f8d1
Host Details Page: Render disk space (#1770) 2021-08-25 13:05:54 -07:00
Tomas Touceda
a8642493ad
Add global policies (#1750)
* Add global policies

* Update documentation and add extra parameter to config

* Fix failing tests

* Store historic policy records

* Address review comments

And also remove other inmem references I saw by chance

* Add documentation for get by id request

* Add parameter doc

* Move schema generation to a cmd instead of a test

Otherwise it messes up running all tests sometimes depending on how parallel it does

* Remove brain dump for another task

* Make migration tests a separate beast

* Make schema generation idempotent and move dbutils cmd to tools

* Allow all filters and add counts to Policy

* Add test for Policy
2021-08-24 17:24:52 -03:00
Martin Angers
a3714d2ed9
Add fleetctl debug connection command (#1706)
Adds the `fleetctl debug connection` command to investigate
connection issues to the fleet server.

Closes #1579 .
2021-08-24 08:50:03 -04:00
Tomas Touceda
612fa05dd3
Log errors when osquery endpoints have issues (#1764) 2021-08-23 19:40:00 -03:00
gillespi314
40b0888416
Refresh host details after team transfer (#1746)
* Add API call to refresh host in local state

* Add API call to refresh host in local state

* Add host details tests to Cypress
2021-08-23 14:11:37 -05:00
Tomas Touceda
a1ceebf267
Make team schedule names more user friendly and hide them from host pack stats (#1737)
* Make team schedule names more user friendly and hide them from host pack stats

* Delete test for a different bug and add migration

* Update name template
2021-08-23 14:23:47 -03:00
Tomas Touceda
66d864cc84
Remove extra logIPs from host auth mw (#1762)
* Remove extra logIPs from host auth mw

* Fix test
2021-08-23 14:23:27 -03:00
Tomas Touceda
26a08096fb
Use GROUP_CONCAT instead of JSON_ARRAYAGG (#1752)
* Use GROUP_CONCAT instead of JSON_ARRAYAGG

* Update server/datastore/mysql/software.go

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
2021-08-23 14:12:30 -03:00
gillespi314
8b4c6a1dd7
Add host modal: Select team dropdown (#1740)
* Fix Add host modal dropdown for team maintainer

* Update Cypress tests

* Set default values for add host team dropdown
2021-08-20 23:00:44 -05:00
gillespi314
bd38cc1fe9
Fix UI for activity feed initial empty state (#1742) 2021-08-20 22:13:45 -05:00
Tomas Touceda
ad18728ac3
Issue 1601 disk space (#1735)
* wip

* Add tests

* Add migration

* Fix tests and set platform for windows correctly
2021-08-20 14:57:37 -03:00
Tomas Touceda
605970c441
Add cascade deletes for host software (#1739)
* Add cascade deletes for host software

* Add changes file

* The drop doesn't work on certain mysql

* Fix error message
2021-08-20 14:29:00 -03:00
Zach Wasserman
de98d7fb9c
Prepare for 4.2.2 release (#1729) 2021-08-18 18:46:36 -07:00
Zach Wasserman
39cef4c43f
Revert "Fleet UI: Reroute homepage (#1640)" (#1724)
Reverts #1640 so that the homepage does not change during the patch release.

This commit will be re-applied after the release is cut.
2021-08-18 18:06:03 -07:00
RachelElysia
b85fbcbc83
Table Checkboxes: Checkboxes uncheck only on success notification (#1707)
- Uses Context API to track state
- resetSelectedRows default to false and only momentarily becomes true upon successful notification

Several other ideas were explored and ruled out including: asyncDebounce (impossible approach), applying state throughout the app (not concise nor maintainable), modifications directly to DataTable only (react-table did not have the right key combinations to reset selected rows manually when we needed).

Closes #1540 

Co-authored by: @martavis
2021-08-18 16:58:56 -07:00
Tomas Touceda
33791dbee8
Remove fk in scheduled_query_stats table and clean up orphan rows for it (#1720)
* Remove fk in scheduled_query_stats table and clean up orphan rows for it

* Improve test and fix bug with the cleanup
2021-08-18 18:30:48 -03:00
Tomas Touceda
70f728fe84
Make vulnerability processing more configurable (#1718)
* Make vulnerability processing more configurable

* Simplify leader selection
2021-08-18 17:25:14 -03:00
Tomas Touceda
402303bc5d
Add All Linux label (#1582)
* Add All Linux label

* Change name to Linux instead of All Linux to see if e2e likes it better

* Revert "Change name to Linux instead of All Linux to see if e2e likes it better"

This reverts commit 26b79f214e3b744e73270c544f89bb698575f6ea.

* Fix all linux label insert
2021-08-18 15:55:48 -03:00
gillespi314
8c38b587f4
Fix query table sorting (#1708) 2021-08-18 09:00:02 -05:00
Martin Angers
3c9d7fd4bb
Add explicit sync to disk for critical file writes (#1686)
For Orbit operations, make an explicit *os.File.Sync() call and check the 
error, to make sure the writes are fully flushed to disk.

Closes #1679 .
2021-08-17 08:41:56 -04:00
gillespi314
1e11f0f669
FleetUI: Update column sort options (#1680)
* Disable sort remove on react-table

* Update hosts tests
2021-08-16 16:02:00 -05:00
Tomas Touceda
8d1a3409dc
Add netgo tag to prevent crashes on linux when making external requests (#1681)
* Add netgo tag to prevent crashes on linux when making external requests

* Remove unused step
2021-08-16 15:48:45 -03:00
RachelElysia
f6091509f4
Fleet UI: Side bar restyled, update UI for Team/Roles to match Figma (#1659)
* Style all settings side panels
* Add builtin label icons
* Update tests aligning jest userStub and adminUserStub
* Update tests adding cypress checks for user teams/roles
2021-08-16 12:25:51 -04:00
Martavis Parker
4a4c3c4949
fixed table column wrapping for manage queries page (#1638) 2021-08-16 09:19:27 -07:00
Zach Wasserman
64145c5633
Prepare for 4.2.1 release (#1675) 2021-08-14 09:26:47 -07:00
Benjamin Edwards
2d5c7ed683
issue 1313 -- add file destination for convert command (#1672)
* add file destination flag for convert command, add tests
* add changes file
* remove leftover debugging code, add comment explaing why sorting was necessary
* update docs for fleetctl convert
* Update cmd/fleetctl/convert_test.go
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-08-13 20:42:58 -04:00
RachelElysia
e8aae0dd25
Spiffier UI: Label pills (#1660) 2021-08-13 17:34:04 -04:00
Tomas Touceda
512f5defce
Detect centos as a host platform more accurately (#1664)
* Detect centos as a host platform more accurately

* Add test for centos host labels
2021-08-13 13:22:09 -03:00
RachelElysia
dc77974ef6
Fleet UI: Reroute homepage (#1640)
* Reroute homepage
* Update e2e tests brittle URLs
2021-08-13 10:41:53 -04:00
Tomas Touceda
5b8a607a81
Add support for MariaDB 10.5.4 and later (#1658)
* Add support for MariaDB 10.5.4 and later

* Fix tests

* Add changes file

* Use require.JSONEq instead of our own version of it
2021-08-13 11:16:19 -03:00
Tomas Touceda
96c0244c04
Fix redis locking receive (#1655)
* Receive redis data with timeout to not hold the connection

* Address review comments
2021-08-13 11:16:11 -03:00
noahtalerman
2df7c71749
Prepare for Fleet 4.2.0 (#1645) 2021-08-11 17:14:32 -07:00
Tomas Touceda
e8def4af00
Allow to refetch hosts if you are an observer/maintainer for the team for that host (#1649) 2021-08-11 19:01:37 -03:00
gillespi314
790d169e14
Display updated team name after edit (#1621) 2021-08-11 15:37:24 -05:00
Tomas Touceda
3d8a766ca1
Make receive calls to redis conn thread safe (#1641)
* Make receive calls to redis conn thread safe

Also removes REDIS_TEST env var. Redis is lightweight and fast, no need
to skip these tests.

* No need to increase the wait
2021-08-11 17:34:35 -03:00
gillespi314
601ffb4fcd
Disable edit label page select platform dropdown (#1635)
* Disable edit label page select platform dropdown

* Update label flow test
2021-08-11 15:27:52 -05:00
Tomas Touceda
ae2bd137b1
Issue 1632 software inventory config (#1636)
* Add config option for software inventory

* Add documentation for the new config
2021-08-11 15:57:53 -03:00
Tomas Touceda
11dff7ca92
Issue 1588 allow disabling host users (#1611)
* Allow users to disable host_users

* Add missing files

* Address review comments

* Fix tests

* Check additional queries for nil, not the whole hostsettings

* Finally fix tests
2021-08-11 14:56:11 -03:00
Benjamin Edwards
8bdad712d8
add team_id filter to fleetctl & api (#1596)
* add team_id filter to fleetctl via get hosts --team flag & api via api/v1/fleet/hosts and api/v1/fleet/labels/id/hosts

* update tests & add changes file
2021-08-11 10:40:56 -04:00
RachelElysia
7425aa93c9
Create/Edit Scheduled Query Modal: Config destination help bubble (#1587)
* Render logging information in UI
2021-08-10 18:53:47 -04:00
Tomas Touceda
d51493274d
Issue 1570 stats perf (#1598)
* Dont delete pack stats before inserting new ones to prevent deadlocks

* Remove fk for scheduled_query_stats

* Remove fk removal

* Fix tests

* Remove unneeded comment
2021-08-10 18:17:06 -03:00
RachelElysia
267b7343e1
Manage Packs Page: Refactor to typescript, functional components, new UI (#1567)
* Refactor ManagePacksPage as functional component in TypeScript
* Refactor old table using TableContainer component
* Add Enable, Disable buttons to DataTable component
* Update Packs interface with additional properties
* Update Cypress e2e tests
2021-08-10 14:25:34 -04:00
Benjamin Edwards
29611d8377
modify packs api to filter non-empty pack_type from response (#1558)
* modify packs api to filter non-empty pack_type from response
* change list packs store method to allow filtering for "system-level" packs, by default the api filters these packs from being returned
* add changes file
* don't allow modifications to global or team packs via apply spec
* refactor to use PackListOptions
2021-08-10 09:43:27 -04:00
gillespi314
4eee9af856
Observers can run live query (#1590)
Add query_id to Fleet.entities.query
Add query_id to onRunQuery method for QueryPage
Reroute onRunQuery error
2021-08-09 19:53:56 -05:00
Tomas Touceda
5b5dca32e9
Add more checks to observers running queries (#1589)
* Add more checks to observers running queries

* Fix test

* Use proper authorize policy instead of doing it by hand
2021-08-09 14:38:06 -03:00
Martavis Parker
672db9e2a7
Host Status Dropdown (#1556)
* #1372 created dropdown for status

* #1372 fixed default state for dropdown

* #1372 added help text and styling

* clean up

* fixed linting

* created changes log

* fixed e2e test

* created new header

* clean up

* added logic to edit and delete label using icons

* reworked selectedFilter to support status & label

* fixed multiple params in url

* comment clean up

* fixed tests

* linting fixes

* fixed height of status dropdown

* bug fix for selecting status 1st, label 2nd

* fixed e2e test

* minor style fix for side panel label scroll

* fixed label e2e test

* removed SQL editor for label selection

* removed edit and delete for platform labels

* fixed bugs loading hosts for every label click

* fixed linting

* fixed basic e2e test

* fixed observer basic e2e test

* modified changes file

* fixed bug with label replacement logic for url
2021-08-06 15:09:49 -07:00
Tomas Touceda
93a10e6f94
Expose vulnerabilities data in host software data (#1555)
* Expose vulnerabilities data in host software data

* Gather cves and software in one query

* Expand the test to cover all cases

* Make test less flaky
2021-08-06 14:04:37 -03:00
Tomas Touceda
e63e690fdb
Timeout after 30 seconds when posting usage analytics (#1577) 2021-08-06 13:20:59 -03:00
Tomas Touceda
084fcdfec4
Disallow target ids null altogether (#1578) 2021-08-06 13:20:45 -03:00
Tomas Touceda
3b67366bf4
Allow filtering by status as well as label and match query when listing hosts (#1562) 2021-08-05 14:56:29 -03:00
RachelElysia
bf57121c04
Team Schedules - New Feature! (#1550)
* Basic Tier users have access to Team Schedules in the UI
2021-08-05 10:48:00 -04:00
Tomas Touceda
f8b7a83cc6
Process stored CPEs and store found CVEs (#1533)
* WIP

* WIP

* Make path optional and fix tests

* Add first generate

* Move to nvd package

* remove replace

* Re-add replace

* It's path, not file name

* Change how db path is set and use etag

* Fix typos

* Make db generation faster

* Remove quotes

* Doesn't like comments

* Samitize etag and save to file

* Refactor some things and improve writing of etagenv

* Compress file and truncate amount of items for faster testing

* Remove quotes

* Try to improve performance

* Ignore truncate error if not exists

* Minor cleanup and make sqlite have cpe prefix

* Simplify code and test sync

* Add VCR for sync test

* Check for nvdRelease nil

* Add test for the actual translation

* Address review comments

* Rename generate command because we'll have a cve one too

* Move to its own dir

* Add first cve db generation

* WIP but with final strategy, preparring to merge main

* Fix merge conflicts

* WIP

* wip

* Insert CVEs to the db

* Remove unused code

* Use wg instead of counting

* Call cancelFunc to avoid ctx leak

* Fix logs for better readability

* Point code to fleetdm instead of my repo
2021-08-04 18:01:39 -03:00
Tomas Touceda
65630290d6
Ignore duplicate host software (#1546)
* Insert ignore software if there's a duplicate

* Add test for trigger of duplicate host software
2021-08-04 10:12:07 -03:00
Tomas Touceda
52ae04ecf5
Only log distributed queries ingestion errors (except for one case) (#1535)
* Don't return errors in distributed query ingestion, just log them

* Allow for multiple errors in the logging context

* Update check when loading host

* Log multiple errors and add tests for other changes

* Add missing host func

* Add another missing host func

* Add changes file
2021-08-04 10:11:51 -03:00
gillespi314
df47fcb808
Refactor manage queries page (#1526)
Refactor ManageQueriesPage as functional component in TypeScript
Refactor old table using TableContainer component
Enhance ActionButton component with optional icons
Update DataTable component to render table header buttons per Figma
Update Query interface with additional properties
Update Cypress e2e tests
Remove unused files
2021-08-03 15:09:01 -05:00
Martavis Parker
53dbb2ad50
#1496 fixed sorting using API (#1536)
* #1496 fixed sorting using API

* #1496 added try catch

* #1496 removed test that no longer serves a purpose

* #1496 fixed linting

* #1496 cleanup

* #1496 added loading indicator back

* #1496 fix lint issues

* #1496 added changes log

* #1496 minor fixes
2021-08-03 12:42:48 -07:00
RachelElysia
c934f3e172
Schedules page: Action cell (Update and delete a global scheduled query) (#1525)
* Create and edit modal component
* Update e2e test for update and delete global scheduled query
2021-08-03 14:06:09 -04:00
Tomas Touceda
7730515be7
Implement team schedules (#1528)
* Implement team schedules

* Improve description
2021-08-03 10:33:27 -03:00
Tomas Touceda
5859db36bb
Move logger up to the HTTP layer and make it generic (#1439)
* Add basic idea

* Implement the new logging strategy everywhere

* Remove unused const

* Add tests and fix error cases

* Fix logging in osquery service

* If there are extras, log info unless force debug

* Change to info

* Fix test

* Make logging context more chainable and force info for sessions
2021-08-02 19:06:27 -03:00
Benjamin Edwards
c18214be37
add logging settings to config api response (#1467)
- add docker-compose file for locally testing aws dependencies
- update firehose & kinesis configs to optionally supply endpoint url override
- serialize `logging` field in appconfig api response
2021-07-30 11:45:49 -04:00
Martavis Parker
1d6572488b
#1269 fixed routing to label after team change (#1500)
* #1269 fixed routing to label after team change

* #1269 added changelog

* #1269 better implementation

* #1269 fixed option defaults for typing
2021-07-28 18:15:36 -07:00
Benjamin Edwards
1fc4b7649c
fleetctl preview downloads standard query library and populates console (#1450)
* fleetctl preview downloads standard query library and populates console
* add change log file, use specGroupFromBytes to parse standard query library file
2021-07-28 11:05:03 -04:00
RachelElysia
a188d03015
Homepage: Refactor platform counts in host summary (#1490)
Co-authored by: @gillespi314
2021-07-27 18:04:43 -04:00
noahtalerman
da7925e1d7
Remove changes files. Update release process. Update support process (#1492)
- Remove changes files that were collected during the 4.1.0 release cycle
- Add removing changes files step to release process documentation
- Update support process docs to reflect the change to discussing the last on-call rotation at 🍽️  Daily standup meeting
2021-07-27 17:06:16 -04:00
RachelElysia
6c36a0babc
Flash messages: Can be successive and do not re-render page upon closing (#1482) 2021-07-27 16:19:52 -04:00