* Build SoftwareList in HostDetails page if host.software exists for user
* Render message for no labels/packs/software
Reviewed and suggested changes by: Noah Talerman <noah@fleetdm.com> and Zach Wasserman <zach@fleetdm.com>
* option 1 (this is the quickest fix)
* option 2: This shows how to handle it inline
* whoops, fix prev commit (I forgot to pull out of the "if")
* closes https://github.com/fleetdm/fleet/issues/0 -- this remove headerClass altogether in favor of using existing "page" local, eliminating the need for a headerClass view local -- see https://github.com/fleetdm/fleet/issues/0#issuecomment-827752563 for explanation
* one further simplification that avoids `page` getting unintentionally used elsewhere in other .ejs files (also isHomepage is easier to cmd+f and find in code)
- Maintain software inventory with detail queries.
- Associated database migrations.
- Feature flagged off by default (see documentation for details to turn on).
- Documentation.
- New test helper for slice element comparisons skipping ID.
- Add "Get authorized keys" query to `handbook/queries`
- Edit "Get installed ___ software" queries for all platforms to prepare for adding software inventory to the host details API endpoint
Due to Go build caching in #687, the dependencies were sometimes not started before the E2E test. This PR reorders startup of the dependencies so that they should almost always have time to finish startup.
- Use NODE_ENV=development for Webpack in CI.
- Add caching for Webpack modules in development.
- Remove time of day from dates in version string (helps with build caching).
- Use Go cache in CI.
This makes about a 20% savings on the total time for the CI run.
- Moves `isEditLabel` out of `<ManageHostPage />`'s state and into its props. The implementation is now similar to `isAddLabel`.
- Add `selectedFilter` to the URL path when editing or adding labels. This helps navigate the user back to the selected label after they click "Cancel" when editing or adding.
- Fix handling of live query error when the number of hosts targeted is 0.
PR #641 attempted to handle the case when a user, running a live query, selects a label that contains 0 hosts.
The fix in this earlier PR introduced a bug that prevented the user from running a live query at all!
Instead of synchronously updating the seen_time column for a host on an update, batch these updates to be written together every 1 second.
This results in a ~33% reduction in MySQL CPU usage in a local test with 4,000 simulated hosts and MySQL running in Docker.
This PR includes changes to the "Get installed ___ software" queries in the query handbook (4 total. 1 for each OS supported by osquery).
- Add `type` column to all queries.
- Add `architecture and `install_time` column to Linux query.
- Add `architecture` column to FreeBSD query.
- Remove `opera_extensions` clause because osquery doesn't have an `opera_extensions` table.
* add prettier and have it format all js code except website:
:
* trying running prettier check in CI
* fix runs on in CI
* change CI job name
* fix prettier erros and fix CI
- Adds Detect Linux hosts with high severity vulnerable versions of OpenSSL to query handbook
- Includes query to retrieve OpenSSL version
- Includes query to retrieve OpenSSL version
Label flow
- Create a new label and make sure it shows up on the hosts page
- Edit the label name
- Delete the label
Query flow
- Create a new saved query
- Edit the query
- Delete the query
Pack flow
- Create a pack
- Edit the pack name
- Schedule a query
- Remove a query from the pack
- Delete the pack
Closes#597
- Add 2 sections in `CONTRIBUTING.md` these 2 sections correspond to the "Bug report" and "Report a security vulnerability" issue templates
- Add "Is this an issue with the Fleet UI" to "Bug report" section in `CONTRIBUTING.md`. This includes a walkthrough for opening the browser's JS console and network requests
- Fix misspelled file name
Changes part of Fleet 3.10.0 prevented the frontend from handling any values other than `darwin`, `linux`, `all`, and `windows`. Users that manage packs via fleectl and the Fleet UI may encounter this bug when using 3.10.0.
- Adds a case for the frontend to handle `freebsd`, `posix`, `any`, and any other string specified in the `platform` key in pack configuration.
* Add get-started page
* Includes Styling
* Includes Routing switch
Review and suggestions added by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>
Review and suggestions added by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Improves MySQL test time (on my 2020 MBP) to ~18s from ~125s.
- Use separate databases for each test to allow parallelization.
- Run migrations only once at beginning of tests and then reload
generated schema.
- Add `--innodb-file-per-table=OFF` for ~20% additional speedup.