Commit Graph
302 Commits
Author SHA1 Message Date
noahtalerman 23ce98ec51 Add Nunito Sans font and update global styles. (#59)
This is the first PR as a part of the Fleet UI Refresh #38.

Changes include:

- Add Nunito Sans font files and modify global styles to reflect the font change.
- Modify global font variables to reflect new sizing and weight naming conventions.
-- New sizing and naming conventions:
--- SIZE: xx-small: 12px, x-small: 14px, small: 16px, medium: 20px, large: 24px, x-large: 28px
--- WEIGHT: regular: 400, bold: 700
- Remove the old Oxygen font files.

Changes to other style sheets reflect the changes to the new font sizing and weight naming conventions for global variables. The changes don't necessarily use the correct size (as illustrated by mockups). Those "up to spec" sizing changes are to come.
2020-11-19 16:51:22 -08:00
noahtalerman 0ff621670c Changed the Help link and other links to fleetdm/fleet documentation 2020-11-04 21:36:06 -08:00
Zachary Wasserman e452cc6a8a Add file carving support (#15)
- Add endpoints for osquery to register and continue a carve.
- Implement client functionality for retrieving carve details and contents in fleetctl.
- Add documentation on using file carving with Fleet.

Addresses kolide/fleet#1714
2020-11-04 20:45:16 -08:00
noahtalerman 8e37b8938c Implement osquery options page (#11)
Created 3 new components: <OsqueryOptionsPage /> , <OsqueryOptionsForm />, and <YamlAce />

The <OsqueryOptionsPage /> component is rendered at the new route /admin/osquery. The user navigates to this route by selecting the "Osquery Options" sub-navigation in the admin dropdown menu.

On the Osquery Options page, the user is presented with a ACE editor filled with the current osquery options. The current osquery options are retrieved from the serve when the page component mounts. These current osquery options are stored in the osquery slice of state.

Clicking "UPDATE OPTIONS" will trigger a form submit and hit the v1/kolide/spec/osquery_options endpoint if the yaml is valid. If the yaml is not valid, an error message is presented to the user with details on what the error is and where it occurred. If the yaml is valid, the osquery options will be updated even if the options haven't change.
2020-11-04 18:00:51 -08:00
Zachary Wasserman a36bef6c16 Improve "Add New Host" dialog (#8)
- Allow download of enroll secret, server certificate, and flagfile.
- Hosts can now be added following instructions directly.
2020-11-04 17:07:58 -08:00
Brendan Shaklovitz c6b285c56e Remove soft-deletion pattern (#2327)
* Perform migration to delete any entries with `deleted` set, and
subsequently drop columns `deleted` and `deleted_at`.
* Remove `deleted` and `deleted_at` references.

Closes #2146
2020-10-22 10:51:26 -07:00
noahtalerman a6529cc5b0 Fix form field focus on setup pages (#2336)
- Using componentDidUpdate() to check for currentPage change in setup registration form. Initially tried adding `autofocus` prop to the first `<InputFieldWithIcon />` on each page. As seen in AdminDetails page. Didn't work. I believe React only pays attention to `autofocus` when the <input> is re-rendered.

- Calling focus() on page's first input  when currentPage changes and is true. Using refs callback

- Delaying focus by 300ms using setTimeout because the `.user-registration__field-wrapper` has a transition duration of 300ms. Setting the inputs focus immediately creates a snapping movement and ruins the smooth transition.

Fixes #936
2020-10-21 18:03:39 -07:00
Zachary Wasserman 7f35cedd8e Update osquery versions available in schedule query UI (#2323) 2020-10-08 12:07:37 -07:00
Zachary Wasserman 81c72b286c Fix URL Prefix for Edit Pack button (#2277)
Fixes #2275
2020-08-06 16:29:24 -07:00
Zachary Wasserman 7494513400 Clean up and comments before merge. 2020-07-21 14:05:46 -07:00
Zachary Wasserman 96fc090723 Improve server performance for host operations
- Debounce frontend to reduce number of target searches in live query.
- More efficiently calculate label counts in live query and hosts
  dashboard. Instead of using the (slow) CountHostsInTargets function,
  retrieve the host counts while looking up the labels.
- Optimize targets search query. Removing the nested query retrieves the
  same logical result set, but substantially optimizes MySQL CPU usage.
  Testing indicates about a 50% reduction in MySQL CPU usage for the
  frontend targets search API call after applying this change.
2020-07-21 14:05:46 -07:00
Zachary Wasserman 42bea2a144 Implement manual labels
"Manual" labels can be specified by hostname, allowing users to specify
the membership of a label without having to use a dynamic query. See the
included documentation.
2020-07-21 14:05:46 -07:00
Zachary Wasserman b0595748f1 Implement pagination of hosts in the web UI
This commit takes advantage of the existing pagination APIs in the Fleet
server, and provides additional APIs to support pagination in the web
UI. Doing this dramatically reduces the response sizes for requests from
the UI, and limits the performance impact of UI clients on the Fleet and
MySQL servers.
2020-07-21 14:05:46 -07:00
Zachary Wasserman ea93843203 Store only primary IP and MAC for hosts
Fleet used significant resources storing the full network interface
information for each host. This data was unused, except to get the
IP and MAC of the primary interface. With these changes, only those
pieces of data are stored.

- Calculate and store primary IP and MAC
- Remove transaction for storing full interfaces
- Update targets search to use new IP and MAC columns
- Update frontend to use new new columns
2020-07-21 14:05:46 -07:00
Zachary Wasserman 168e1f9007 Update table schema for osquery 4.4.0 (#2253)
Osquery schema JSON has changed, so parsing code has been updated

Closes #2232
2020-07-07 09:47:50 -07:00
Zachary Wasserman ccc8581229 Upgrade eslint and dependencies (#2255)
Updates configuration and fixes issues introduced
2020-07-06 19:31:48 -07:00
Zachary Wasserman c1aa8355cb Add support for multiple enroll secrets (#2238)
- Support multiple enroll secrets
- Record name of enroll secret used when host enrolls
- Update fleetctl and UI to support these features
2020-05-29 09:12:39 -07:00
Zachary Wasserman 1c2a0b8f21 Allow CREATE in queries from web UI (#2182)
Fixes #2168
2020-01-23 08:12:00 -08:00
Christian Barcenas dd6a55d527 Fix description for "Fleet App URL" config option (#2188)
Remove a misleading warning. This configuration parameter is only used by
Fleet-internal (i.e. non-osqueryd) endpoints.
2020-01-23 08:10:25 -08:00
billcobbler a83a26b279 Add ability to disable live queries (#2167)
- Add toggle to disable live queries in advanced settings
- Add new live query status endpoint (checks for disabled via config and Redis health)
- Update QueryPage UI to use new live query status endpoint

Implements #2140
2020-01-13 16:53:04 -08:00
Zachary Wasserman adf87140a7 Add ability to prefix Fleet URLs (#2112)
- Add the server_url_prefix flag for configuring this functionality
- Add prefix handling to the server routes
- Refactor JS to use appropriate paths from modules
- Use JS template to get URL prefix into JS environment
- Update webpack config to support prefixing

Thanks to securityonion.net for sponsoring the development of this feature.

Closes #1661
2019-10-16 16:40:45 -07:00
Austin Burnett 59efb495ca Add automatic host expiration capability (#2117)
When configured, this feature will delete hosts that have not checked in after the specified number of days.

Closes #1860.
2019-10-16 16:35:17 -07:00
seph e4cc29a269 Rename remaining file in Admin to admin (#2108)
Improves consistency in directory naming.
2019-10-14 16:39:06 -07:00
Zachary Wasserman 1eccf9a874 Add warning in query UI when Redis fails (#2086)
- Add warning message when Redis fails
- Disable query button when Redis fails
- Refactor SMTP warning banner into component for reuse

Closes #2073
2019-08-13 09:42:58 -07:00
Zachary Wasserman d64e84ff7f Fix rendering of query type icons for imported yaml packs (#2089)
Fixes #2076
2019-08-01 16:24:23 -07:00
Zachary Wasserman 1344653412 Minor style fixes in frontend (#2084)
- Fix padding in query editor autocomplete box
- Hide cursor in read-only query editor
- Remove styling of active line in query editor (which does not update
  properly and is therefore distracting)
- Fix padding and reorder buttons in delete label modal
2019-07-31 12:05:10 -07:00
Zachary Wasserman 3b349304fb Disable editing of logged in user email in admin panel (#2031)
Doing so has long resulted in an error when submitting the form. This
disables the input field when editing the logged in users details in the
admin panel.

The logged in user can still change their own email using the "Account
Settings" page accessed in the top left of the sidebar.
2019-04-23 15:58:32 -07:00
Zachary Wasserman 992151fb8f Clarify labels UI (#2012)
- Clarify language
- Add note about label queries being immutable

Closes #1384
2019-03-10 13:51:25 -07:00
Zachary Wasserman 4135ad7d3f Hide labels for platforms with no hosts. (#1998)
Rather than displaying 0 hosts for each of the platforms, remove the platform
listing. The platforms will appear once they have a host.
2019-02-12 12:03:55 -08:00
Zachary Wasserman c8229cc0d6 Replace uses of the term "Kolide" with "Fleet" (#1999)
Almost two years ago, we began referring to the project as Fleet, but there are
many occurences of the term "Kolide" throughout the UI and documentation. This
PR attempts to clear up those uses where it is easily achievable.

The term "Kolide" is used throughout the code as well, but modifying this would
be more likely to introduce bugs.
2019-01-24 09:39:32 -08:00
Zachary Wasserman ca84f84078 Add query editor support for control-return (#1979)
- Control-return in the editor will now run the query

Closes #1631
2019-01-15 11:06:52 -08:00
Zachary Wasserman 6767369d48 Upgrade React to version 16 (#1983)
- Update all associated dependencies
- Very minimal changes to components
- Extensive refactoring for broken tests

Closes #1978
2019-01-14 13:45:28 -08:00
James Thomas 5e5e4f3918 Add Support for SMTP LOGIN Authentication Method (#1988)
This PR adds support for the SMTP LOGIN authentication method. Office 365 Exchange removed support for PLAIN authentication some time ago, and only supports LOGIN and an OAuth2 authentication method. This patch has been tested with a licensed O365 account. This method should also be usable with any other email server that advertises LOGIN in its 250-AUTH response.

Note: If using this with O365, the account used must not have MFA enabled.

Closes #1663
2019-01-14 12:35:23 -08:00
Zachary Wasserman dc4b97d15f Fix React deprecation warnings (#1976)
- Refactor imports of PropTypes to use the prop-types package
- Upgrade dependencies that were setting off deprecation warnings
2019-01-06 17:25:33 -08:00
Zachary Wasserman 759a69b5b7 Upgrade Bourbon to 5.1.0 and fix deprecation warnings (#1973)
- Replace uses of deprecated Bourbon helpers with raw CSS
- Add autoprefixer into the build chain to prefix the now removed helpers

This process was achieved by running through each of the deprecation warnings and using the following bash function to replace it in all files:

```
function bourbon-deprecate() {
    grep -rl "@include $1" ./frontend --exclude-dir=.git | xargs sed -i '' -E "s/@include $1[(](.*)[)]/$1: \1/g"
}
```

For some helpers, this did not result in valid CSS, so manual modifications were made.

Closes #1189 #1274
2019-01-03 12:46:55 -08:00
Zachary Wasserman 0c8a01e2ed Update minimum osquery version options in query scheduler (#1943) 2018-10-16 14:29:13 -07:00
Zachary Wasserman 1e6437e620 Allow INSERT queries in query editor (#1938)
Closes #1937
2018-10-15 11:59:14 -07:00
Caleb Coy 0bb9c409a0 Flatten login screen styles (#1912) 2018-09-19 10:07:37 -04:00
Caleb Coy 847cb193fc Flatten visual styles (#1908) 2018-09-18 14:14:13 -07:00
Zachary Wasserman 79b2249e69 Allow update of settings page without enabling SMTP (#1903)
Fixes #1871
2018-09-07 15:37:35 -07:00
Caleb Coy 60bd9157b6 convert rocker button to standard buttons (#1906) 2018-08-29 10:38:43 -04:00
Caleb Coy e4b076acc6 Update color scheme to match Kolide branding (#1879) 2018-07-30 06:01:27 -07:00
Zachary Wasserman 6bdddfacf0 Expose API Token in UI (#1868)
Useful for SAML login users who cannot log in with `fleetctl login`. Instead
they can pull their session token from the UI and configure the fleetctl client
to use it.

Closes #1865
2018-07-17 11:27:30 -07:00
Kyle Knight d9038f37f4 Last Seen date and time on Offline host cards and table overview (#1806)
This PR adds a hover title to the hostname on both the cardview and table view.
If a host is offline it will show it when it was last seen, otherwise it just shows it is Online.

Closes #1804
2018-06-04 09:58:34 -06:00
Kyle Knight 47664009b9 Update dependencies to latest minor releases (#1803) 2018-06-04 09:58:14 -06:00
Mike Arpaia de6dbd0f13 Remove decorators and osquery config from the UI (#1769) 2018-05-08 11:03:32 -06:00
Jack 998e81db6d Remove fixed height constraint from host details component. (#1706)
If some elements content extends beyond the assumed height it will overflow outside of the details block.

These changes remove any height limit, allowing flexbox to even the details height per row. Removing justify centre keeps the header in place at the top for details that are smaller than the max height in other blocks on that row.

Used flex 1 to expand the hosts details list elements to the remaining space in the details component. Can make for some odd spacing but seems nicer than bunching elements at the top of the component.
2018-02-08 08:07:47 -08:00
Victor Vrantchan ca5f63dd4f replace support email with github issue link (#1656) 2017-12-01 12:15:50 -05:00
Kyle Knight 78b831a6d2 Hosts Pagination (#1594) 2017-11-07 12:54:56 -05:00
Mike Arpaia 4b8645ae72 Remove references to public docs site (#1559)
With this being open source, we can hard link to markdown files, so
there is no longer a need for the public https://docs.kolide.com site
2017-10-12 09:45:59 -06:00