Commit Graph

674 Commits

Author SHA1 Message Date
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
RachelElysia
edc132ff18
Manage schedules page: Spiffier styling (#1503) 2021-07-29 15:47:04 -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
noahtalerman
47b7ffa37e
Keep search input field active when loading "Hosts" table (#1477)
- Fixes an issue in which the search input field would become inactive after a search query was entered
2021-07-27 13:31:43 -04:00
gillespi314
c27dd72f33
Launch new feature: Activity feed (#1452)
Add activity feed to homepage
2021-07-26 15:04:35 -05:00
RachelElysia
05691d49ca
Schedule Page - New Feature! (#1333)
- Schedule page functionality: Create (modal), delete (modal), view schedule, advanced options
- Replaces Packs tab with Schedules tab
- Updates e2e tests, mocks, stubs, etc
- Defaults logging type to snapshot for packs
- Adds conversion helpers and tests helper functions
- Adds global_scheduled_queries to redux
2021-07-26 14:41:36 -04:00
gillespi314
fd23d42300
Add secondary select action buttons to DataTable (#1470)
Enhance DataTable and related components to enable multiple buttons for actions on selected rows

- Create new subcomponent ActionButton for DataTable
- Add renderPrimarySelectAction and renderSecondarySelectActions
- Add renderActionButton
- Refactor selectActionButtonText and onSelectActionClick as primarySelectActionButtonText and onPrimarySelectActionButtonText
- Refactor ManageHostsPage to conform to above change
- Refactor TextCell component to enable it to display boolean values in text
2021-07-26 12:07:27 -05:00
noahtalerman
46080dd3eb
Add several frontend, spiffier fixes to the Fleet UI (#1473)
- Fix an issue in which `TableContainer` would render a text element with "0" when there are no matching search results
- Add 3 cases to render correct singular result count
- Sentence case fixes
- Remove "Actions" column title from "Users" table
2021-07-26 13:01:58 -04:00
RachelElysia
0c8537a1f9
Fix flash bug (#1456) 2021-07-23 10:51:46 -04:00
RachelElysia
567f43d4a3
Fix disabled color (#1434) 2021-07-21 08:42:50 -07:00
RachelElysia
2794d1297b
Host Details Page: Refactor packs accordion table (#1409) 2021-07-19 11:02:41 -07:00
RachelElysia
37e267bef9
TableContainer additions: simpleSearch utility and IconCell (#1404)
* Create simpleSearch and IconCell
2021-07-19 08:44:11 -07:00
RachelElysia
fc5ba6d12a
Fix TableContainer empty state bug (#1406) 2021-07-16 13:55:48 -07:00
RachelElysia
a2db3ffbe6
Users management/Team management pages: Actions dropdown styling (#1392) 2021-07-15 10:02:58 -07:00
RachelElysia
ad3ed4210f
Host Details Page: Software Inventory Searchable (#1390)
* Refactored Software inventory table to use TableContainer
* Add search, reordering, IconTooltipCell
2021-07-15 10:01:52 -07:00
RachelElysia
3a51f95595
Dropdown Component: Clean Styling across Browsers (#1365)
* Dropdown styling (Chrome and Firefox)
* Fix incompatible row heights rendering in tables (Firefox)
2021-07-12 14:50:32 -07:00
RachelElysia
29e900d7c3
Homepage Dashboard - New feature! (#1340)
* Adds homepage dashboard to Fleet app
* Host Summary is displayed on the dashboard
2021-07-12 10:15:47 -07:00
gillespi314
2bb2bf2d5d
Add ability in Fleet UI for admin to create new users without email invitations (#1261) 2021-07-12 10:26:11 -05:00
Martavis Parker
ec23d4ee8e
Select all matching hosts (#1226)
* #940 passing matching props to table; typescript

* #940 fixed use of results title

* #940 logic to swap states of selected and not

* #940 optimized rendering selected text

* #940 began styling to match flexbox spacing

* #940 added logic to API

* #940 clean up

* #940 fixed action

* #940 fixed conflict and coment

* #940 hide select matching if under 100 hosts

* #940 fixed issue with status filter
2021-07-10 10:29:27 -07:00
RachelElysia
1196808f31
Update flash messages - Packs flash message, styling, timeout on success message (#1315)
* New flash message styling - success (4 seconds) and error
* Packs flash messages
2021-07-08 13:55:26 -04:00
RachelElysia
0834af5bb7
User Settings Page and User Management Page: SMTP config conditionally disables email update (#1309)
* Disable Email update field when SMTP is disabled
* Render tooltip, not-allowed cursor, greyed font for disabled UI
* Update integration tests accordingly
* Minor fixes to form styling
2021-07-06 12:22:51 -04:00
RachelElysia
ed08190420
Update table row height and button font size (#1299) 2021-07-05 15:26:38 -04:00
RachelElysia
4f09c769b3
Update copied icon spacing and messaging (#1301) 2021-07-05 14:58:15 -04:00
noahtalerman
b9dfbf0a7c
Prepare for 4.0.0 (#1258)
- Update CHANGELOG
- Edit Fleet version for Helm and NPM
- Add permalinks to Fleet product (links have been double checked)
2021-06-29 14:35:21 -04:00
Martavis Parker
bc4ae0fd1d
UI tweaks 4.0.0 (#1257)
* #1246 removed outline for focused tab

* #1247 adjusted styles for actions dropdown

* #1249 addressed styles for transfer modal dropdown
2021-06-29 11:10:47 -07:00
RachelElysia
c8c5e0db56
User Settings Page: Add validation for email and full name (#1241) 2021-06-28 16:47:00 -07:00
Zach Wasserman
d6d584094f
Host Details Page: Render vulnerable software warnings (#1220)
* Conditionally renders vulnerability div and issue tooltip
* Refactors IconToolTip to include an Error icon
* Add vulnerabilities to type interface, small cleanup

Co-authored-by: Rachel Elysia Perkins <rachel@fleetdm.com>
2021-06-28 11:09:45 -07:00
Zach Wasserman
5e26af701b Merge branch 'main' into teams 2021-06-25 18:48:20 -07:00
noahtalerman
7338e7bfef
Add sentence casing to full name. Remove letter spacing from password fields (#1207) 2021-06-25 17:46:11 -04:00
noahtalerman
6290bb24e6
Update notification message for inviting users and update notification styles (#1204)
- Add "An invitation email was sent from `sender_address` to `email`." to notification after a new user is successfully invited in the Fleet UI.
- Update notification styles
2021-06-25 11:55:47 -04:00
noahtalerman
bf4eb899c6
Add usage statistics documentation to Using-Fleet section (#1196)
- Add new `usage-statistics.md` file
- Update link in the Fleet UI to point towards new docs
2021-06-24 16:59:25 -04:00
RachelElysia
aeb852e168
Remove username from UI (#1168)
* Remove username from UI code
* Remove username from tests
* Remove username from database
* Modify server endpoints for removing username
* Implement backend aspects of removing username
* Update API docs
* Add name to fleetctl
2021-06-24 13:42:29 -07:00
Martavis Parker
7af97579fe
Frontend of usage statistics (#1177)
* #454 added usage stats disclaimer to setup confirmation

* #454 added new section to settings for usage stats

* #454 fixed vulnerability for hrefs

* removed jsx file

* #454 added logic to checkbox

* #454 created modal to preview usage stats; cleanup

* fixed tests and linting
2021-06-23 15:19:01 -07:00
Martavis Parker
42272f358f
#1108 send users to manage queries if error (#1154)
* #1108 send users to manage queries if error

* #1108 fixed tests and lint

* #1108 fixed more tests

* #1108 new clause to show different error message

* #1108 fixed logic
2021-06-22 16:44:40 -07:00
gillespi314
97efed7f9a
Handle empty states for name and author fields (#1155) 2021-06-22 14:14:18 -05:00
noahtalerman
e02b88d010
Update links to documentation so that they use main branch (#1151)
* Update to main branch

* Update link to releasing Fleet
2021-06-21 16:40:15 -05:00
noahtalerman
17a6c21224
Restructure documentation in preparation for docs living on fleetdm.com (#1143)
* Remove Orbit top level folder and rename folders to Deploying and Contributing

* Update link in doc README
2021-06-18 15:58:21 -05:00
Martavis Parker
3af64748ab
Pressing Enter on setup's Confirmation page (#1141)
* #917 fixed enter key for last page; TS overhaul

* #917 clean up

* Update frontend/components/forms/FormField/FormField.tsx

Co-authored-by: Zach Wasserman <zach@fleetdm.com>

* #917 fixed tests and linted

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-06-18 13:33:45 -07:00
RachelElysia
8ee66f3309
Input field and form field error state (#1132)
Fix other small consistencies: password spacing, dropdown error, error messages, pack form order
2021-06-18 14:56:11 -04:00
RachelElysia
3ed6573ff3
Update flash message styling (#1140) 2021-06-18 14:54:50 -04:00
Zach Wasserman
19e8da177f
Allow Packs to be targeted to Teams (#1130)
- Add additional target type for packs.
- Refactor pack target datastore.
- Fixes for frontend target selector tier logic on packs page.
2021-06-18 09:43:16 -07:00
RachelElysia
7859784d97
AuthenticatedRoutes conditionally reroutes api_only user (#1123)
* Renders CTA Back to login page if user.api_only
* Edge cases: Redirects to log in for !user and redirect to home for !user.api_only
2021-06-18 10:08:50 -04:00
Martavis Parker
5b2cac31d9
Agent options added to organization settings (#1120)
* #511 refactored update options - new params & ts

* updated server to include agent_options for read and update

* added agent options form to org settings

* #511 finished connecting agent form to server

* #511 fixing api to save/read agent options

* #511 linted

* #511 fixed reading & updating agent options

* #511 api fixes to support agent options

* #511 removed log

* Fix json.RawMessage pointers in tests

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-06-17 13:47:15 -07:00
RachelElysia
1d3b624be2
E2e Testing: Fleet Core global observer (#1099) 2021-06-16 13:40:23 -04:00
Martavis Parker
4bfeddda79
Escape key closes modals (#1088)
* Closes #922

* #922 added Windows section to build docs

* go sum updated

* updated go sum

* fixed #963 - calling teams api if not on core

* added command for seeding queries

* added command default to higher level

* linted test

* only need 2 queries

* fixed e2e command for seeding queries

* fixes #952 - added esc key binding to modals

* #952 lint fix
2021-06-15 09:56:23 -07:00
noahtalerman
0f244140cc
Edit message for set up, forgot password, and change password (#1083)
- Add the `hint` that is used on the _Set up_ page to the _Change password_ form and _Reset password_ form
- Add a consistent error message when a password fails to meet the criteria. Using the phrase "criteria below" because all pages render the above `hint`
2021-06-15 09:51:04 -04:00
noahtalerman
9b1cd14839
Fix set up flow styles (#1073)
- The RegistrationForm component now uses 'fleet' for class names. Update classnames in this component's stylesheet to use 'fleet'
2021-06-14 15:45:43 -04:00
Zach Wasserman
0a22b9195e
Rename components and errors in setup flow (#1059) 2021-06-10 17:01:18 -07:00
noahtalerman
7104d0312e
Fix for cannot run query for selected teams (#1037)
- Fix ability to run live query against teams
- Update unit tests to support live queries against teams
2021-06-10 11:37:25 -04:00
RachelElysia
78fb7e22cc
Query Edit/Run Page: Conditionally render Teams grouping in select targets dropdown (#1040)
* Conditionally render teams in targets dropdown
* Modify tests accordingly
2021-06-10 11:35:42 -04:00
RachelElysia
5e40afa8ba
Clean up linter warnings (#1026)
* Fix 25+ linter warnings
Co-authored by: Sarah Gillespie @gillespi314
2021-06-10 10:00:03 -04:00
noahtalerman
fce7d3bef5
Fix ability to run a live query when coming from host details page (#1035)
- Add `queryId` to `fetchTargets()` function call
2021-06-09 18:54:59 -04:00
RachelElysia
2b9aa5ac7e
Flash message x icon visible (#992)
Closes #991
2021-06-07 15:48:52 -04:00
RachelElysia
225500ad28
Empty query message (#989)
* Add link to standard query library
* Style and external link icon
2021-06-07 14:44:02 -04:00
Zach Wasserman
255395135f
Rename custom ACE editor (#983) 2021-06-06 19:32:18 -07:00
Zach Wasserman
d82560f7d6
Rename frontend icon component (#982) 2021-06-06 18:56:30 -07:00
Zach Wasserman
229a9afed2
Change name of localstorage auth token (#980) 2021-06-06 18:28:37 -07:00
Zach Wasserman
7ff72f7ac1
Rename main frontend directory (#977) 2021-06-06 17:30:54 -07:00
Zach Wasserman
db459d3363
Continue to update names in backend code and docs (#976) 2021-06-06 16:58:23 -07:00
RachelElysia
e52e0747ad
Query Edit/Run: Conditional select targets dropdown (#923)
* Modify targets endpoint to  use queryId
* Conditionally render query page including queryId
* Includes conditionally renders target dropdown

Co-authored by: Sarah Gillespie @gillespi314
Test mods co-authored by: Gabriel Hernandez @ghernandez345
2021-06-04 15:13:59 -04:00
RachelElysia
e4c866cf7c
Teams grouping in Select Targets Dropdown (#873)
* Renders targets by team
* Conditional rendering for no hosts available
* Update styling to match figma
2021-06-04 12:37:56 -04:00
RachelElysia
af301be81c
403 Page, routing for tier permissions (#920)
* 403 page, svg, routing
* Reroute basic tier pages if no permission to access
2021-06-04 12:34:27 -04:00
Gabriel Hernandez
f127f8c2cd
add new permission routes and messaging (#915)
* add new permission routes and messaging

* add messaing for no permissions

* query-library-os-icons (#913)

Added query library os icons to website assets.

* fix broken check for config before api responds

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2021-06-04 14:00:14 +01:00
RachelElysia
1b131bd9db
Packs page: action icons (#935)
* Render packs page new icons: Enable, disable, delete, search
2021-06-03 16:50:13 -04:00
noahtalerman
bf37cb975e
Fix checkbox styles on master branch (#942)
- Update `Checkbox.jsx` and checkbox styles to align with changes on the `teams` branch 
- Edit checkbox styles in the `InviteUserForm` component
2021-06-03 13:46:35 -04:00
RachelElysia
875d6bb6ac
Fix firefox icons (#931)
* Firefox compatible icons: plus, carat, x

Note: css property `content: url(imagefile);` only compatible with pseudo elements
2021-06-03 09:20:06 -04:00
noahtalerman
567950d5f0
Fix frontend bug in which target picker rendered incorrectly on master branch (#934)
- Before the fix the "X" button to remove the target was floating in an odd place
- Edit to replicate new styles found in the teams branch
2021-06-02 18:04:52 -04:00
RachelElysia
0f09c2e837
Render host status icons (#930) 2021-06-02 15:53:20 -04:00
RachelElysia
9469cb0bf1
Packs pages: Edit page empty state rendering, Manage page update UI (#885)
* Packs: Update empty state, tables, select targets pills, platform pills, icons, phrasing
2021-06-01 09:10:35 -04:00
Zach Wasserman
a5bd03e5d7 Merge branch 'master' into teams 2021-05-31 10:56:50 -07:00
Zach Wasserman
64f2cfc9cd
Refactor enroll secrets to support Teams (#903)
- Add `team_id` field to secrets.
- Remove secret `name` and `active` fields (migration deletes inactive secrets).
- Assign hosts to Team based on secret provided.
- Add API for retrieving secrets by Team.
2021-05-31 09:02:05 -07:00
RachelElysia
19dd6e772b
Teams query manage page: Styling (#881)
* Style query manage page including side panel and table
* Conditional side panel rendering

Additional riders:
* Less brittle team e2e test
* Update all search icons across app
2021-05-27 19:39:35 -04:00
RachelElysia
c42f150fac
Query Edit/Run Page: Observer view (#820)
* Query Edit/Run page renders based on user role
* Original UI for global admin/ global maintainer
* New UI for global observer / team maintainer / team observer
* New create new query UI for team maintainer
* Styling matches Figma
* Tests modified accordingly

Styling Closes #859

Co-authored by: Sarah Gillespie @gillespi314
Tests co-authored by: @ghernandez345
2021-05-27 12:06:24 -04:00
Gabe Hernandez
c018823abf
conditionally show add label button (#854) 2021-05-26 13:10:04 +01:00
gillespi314
09cd3622da
Fixes to new pack page (#857)
- Fix "Query pack title" and "Description" input fields so they fill the full width of their container
-  Replace "New Pack" with "New pack" in the page header (sentence casing)
-  Input titles should have the font weight set to $bold
-  Remove the folder icon from the title
-  Remove bold sections from paragraphs including the "(interval = 3600s)," "targets," "individual hosts," and "labels."
-  Change bullet and link colors to $fleet-core-vibrant-blue
-  Replace differential and snapshot kolidecons with png images included in the Figma page.
2021-05-25 17:03:03 -04:00
RachelElysia
a6e921c7b8
Query Manage Page: Role based views (#843)
* Removes create new query button from only observers
* Renders CTA ManageQueriesPage side panel
* Renders Observer can run column for non observers
* Fixes integration tests: ManageQueriesPage and SidePanel

UI co-authored by: @gillespi314
Integration tests co-authored by: @ghernandez345
2021-05-25 16:03:32 -04:00
RachelElysia
0395020b6f
Fix jumping bug dropdown onClick (#856) 2021-05-25 12:03:16 -04:00
RachelElysia
daa244ee00
Nav bar: Tabs render by role (#845)
* Nav tabs render based on permissionUtils global role

Co-authored by: @gillespi314
2021-05-25 11:10:13 -04:00
RachelElysia
c0f67c5822
Packs Page UI: form pill contrast (#837)
* Pill border and colors
* Styling font, margin, padding (sans new icon)
* New close icon
2021-05-24 13:47:05 -04:00
RachelElysia
3d83fcaa35
Style checkbox (#836)
* Style checkbox
* Label style uses -radius variable.

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-05-24 13:46:13 -04:00
Gabe Hernandez
7926734266
test and team feature improvements (#804)
* add messaging in autocomplete dropdown to show reason why user cannot be selected

* user permission utils

* doc autocomplete dropdown and move it closer to wehre its used

* test for select teams form

* test for data table and transfer host endpoint
gss

* moving host actions and entities to ts

* change host transfer to new endpoint:

* added more tests to data table

* change some comments

* change import path

* fix build TS errors

* change data table test string
2021-05-21 17:29:28 +01:00
Zach Wasserman
22feb87de4
Fix capitalization on "Select pack targets" (#819) 2021-05-20 09:29:37 -07:00
RachelElysia
3286a9c4bc
Query Results: Render errors table on fullscreen (#807)
* Render errors table on fullscreen
2021-05-20 11:43:12 -04:00
Noah Talerman
72882e8f9f Merge branch 'master' into teams 2021-05-19 13:16:54 -04:00
noahtalerman
27cfe19ac2
Disable "Refetch" button for offline hosts (#799)
- Disable "Refetch" button if the host is offline
- Disable the refetch tooltip if the host is in the `refetch_requested` state.
2021-05-18 18:02:39 -04:00
noahtalerman
f2755ec93e
Add icon button styles and edit TableContainer to support styles (#713)
- Add `text-link-icon` button variant
- Add `actionButtonVariant` and `actionButtonIcon` props to `<TableContainer />`.
- Add 3 new icon assets (pencil, trash, and edit columns)
2021-05-18 12:30:57 -04:00
RachelElysia
117130701a
Fix url-prefix links (#769)
* Fix various url-prefix links

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2021-05-17 17:04:21 -04:00
Gabe Hernandez
87c4aba10d
bulk selecting hosts (#756)
* added teams to add host modal dropdown

* bulk and transfer host on host page

* started transferhost API call

* hook up client side of api

* hook up client side of api call for enrol secrets

* added selection number and clear all selections button

* remove log and document

* fix ManageHostPage tests

* fix linting errors

* add indeterminate styles to checkbox

* added clearable handler for dropdown component

* fix up no team for add modal

* Add active selection styles and move specific host table styles into ManageHostsPage styles

* changed add host team dropdown to include no team option

* add no team option to bulk transfer host options

* change enroll spelling

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-05-13 15:30:42 +01:00
Gabe Hernandez
2ab1d106b0
team add new host UI (#723)
* added permissions for adding host button on host page

* added teams to add host modal dropdown

* add placeholder for dropdown and fix some type issues

* added add host redirect modal on team details
2021-05-12 14:06:39 +01:00
RachelElysia
58445ede82
Replace icons (#747)
* Replaces dropdown icon, close icon, carat icon, collapse icon, add icon

Co-authored-by: Sarah Gillespie <sarahgillespi314@gmail.com>
2021-05-10 16:00:34 -04:00
noahtalerman
9fb9da31f5
Bring Orbit docs into Fleet docs and add FAQ section (#717)
- Add new `2-Orbit-osquery/` directory to the top-level `docs/` directory.
- Rename `2-Deployment/` -> `3-Deployment/` to accommodate new Orbit directory.
- Rename `3-Contribution/` ->  `4-Contribution/` to accommodate new Orbit directory.
- Add FAQ section to Orbit documentation.
2021-05-04 15:50:18 -04:00
Noah Talerman
81bc137195 Merge style variables from master into teams 2021-04-30 18:12:49 -04:00
noahtalerman
0f48eb8525
Bring new style variables from teams into master (#707)
This PR brings the style changes made in the "Align Fleet UI colors with Figma components"
#615 and "Align Fleet UI with Figma (spacing and fonts)" #628 PRs into the master branch.
2021-04-30 17:32:50 -04:00
Gabe Hernandez
00b9c77777
Improve team setting functionality (#704)
This makes some improvements to the team settings pages. These polish up the experience.
2021-04-30 12:13:04 -07:00
Zach Wasserman
a17556b2db Merge branch 'master' into teams 2021-04-30 09:40:10 -07:00
RachelElysia
0376555683
E2e test: invite/activate user (#699)
* Tests user invite, email link, and user activation
* Disables cypress fixtures folder

Reviews and suggestions by: Zach Wasserman <zach@fleetdm.com>
2021-04-30 11:47:33 -04:00
Gabe Hernandez
a85476c23b
implement member page for team details (#685)
* added reducers and kolide api teams code, hooked up empty state

* request for get all teams and remove unused loading bar

* added create team functionality|gs

* update link cell to be more generic

* create teams detail page and hook it up

* added tabbing and styling to top nav team details

* added edit and delete modal functionality

* add in table and modals for members for teams

* created reusable edit user modal and use it in manage teams page

* creating add member autocomplete

* hook up adding members to teams

* hook up real members from api into table, and empty state for table

* fix proptype warning

* hooked up table querying for member page

* added remove member modal

* added tems to edit useres on member page

* finish remove member from team

* fixed up editing on members page

* fix the role value in member table

* fix prettier errors

* fixes from PR comments round 1

* add missing error handler on add member

* add dynamic team name to member page and user dynamic user and team names to succuess and errors

* add test for userManagementHelper module

* fix lint errors

* fix tests

* add member test to row results on member page
2021-04-29 14:47:33 +01:00
RachelElysia
7490878029
E2e test: add/edit/delete team (#694) 2021-04-28 18:14:26 -04:00
RachelElysia
a8ce68f56a
Query modal on Hosts Details Page (#660)
* Query modal with error, no saved queries, and saved queries
* Ability to search saved queries
* Renders saved queries
* Queries page link uniquely from selected query/host
* Update hostDetailsPage test and refactored component onto own jsx

Pair programming, reviews, and suggestions: Noah Talerman <noahtal@umich.edu>
Reviews and suggestions: Zach Wasserman <zach@fleetdm.com>
2021-04-28 11:08:00 -04:00
RachelElysia
8c969316dc
Fix linting issues from Query page edits (#667)
* Export Results button iff results && no errors
* Export Errors button functional
* Fullscreen always option
* Fix linting issue
2021-04-20 13:57:17 -04:00
RachelElysia
03a68348ae
Query Buttons: Export Results and Export Errors (#638)
* Fullscreen mode always an option
* Export Results button iff results && no errors
* Export Errors button added

Suggestion added by: @noahtalerman <noah@fleetdm.com>
2021-04-19 18:20:24 -04:00
RachelElysia
f37d872dd4
Fix react key issue (#648)
* Fix key issue
* Fix non-unique hostname selection bug
2021-04-19 18:14:43 -04:00
RachelElysia
05aa92b5b3
Revise query help tooltip (#618)
* Refactor query help to use IconTooltip
* Modify styling to match Figma
2021-04-15 16:52:56 -04:00
Gabriel Hernandez
04712c0426 Merge master into teams 2021-04-14 17:52:15 +01:00
Gabe Hernandez
64904d1d9b
implement manage teams page (#624)
* create skeleton of team management page and hook it up with routing

* added reducers and kolide api teams code, hooked up empty state

* request for get all teams and remove unused loading bar

* fix sending teams response to store

* added create team functionality|gs

* added edit and delete fuctionality to teams management

* fixed up some edge cases for deleting and editing teams

* remove unused UserRow

* get list of teams for user to add new users to, fix up Userform
2021-04-14 10:20:56 +01:00
Gabe Hernandez
efb35b537a
add prettier and have it format all fleet application code (#625)
* 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
2021-04-12 14:32:25 +01:00
noahtalerman
cdf43a79bd
Align Fleet UI with Figma (spacing and fonts) (#628)
This if the 2nd PR as part of the of the Align components in Fleet UI with design system in Figma #539

These changes **refactor the spacing and font sizes** used by the frontend. 

- Change the scss variables in `padding.scss` and `fonts.scss`. 
- Replace custom styles with the new variables throughout all stylesheets.
2021-04-09 17:30:42 -07:00
noahtalerman
c2700ee5c6
Align Fleet UI colors with Figma components (#615)
- This if the 1st PR as part of the of the Align components in Fleet UI with design system in Figma #539
- These changes replace all the color variables in /styles/var/colors.scss with new colors and naming convention used in Figma.
2021-04-09 12:04:11 -07:00
RachelElysia
46d957a367
Fix hotkeys in Ace Editor (#617)
- Corrects Cmd + L (selects URL bar)
- Corrects Cmd + F (opens find command)

Closes #304
2021-04-09 08:50:47 -07:00
RachelElysia
b7f81a8c39
E2E tests for query flow, label flow, packs flow (#611)
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
2021-04-09 08:47:16 -07:00
Gabe Hernandez
1f97aebf61
implement user table with new table and hook up create and edit and delete users (#587)
* hook up user and invite data together for data table

* added client derived data to user table

* hooked up action dropdown to table

* hooked up edit modal and password reset

* started adding editing user functiaonlity

* add query params to /invite call

* clean up editing teams

* update select team from to handle existing users with teams

* update closes modal now

* reuse getUser to clean up code in userManagementpage

* pass form data to updating user that is not the current User

* add dynamic userform submit text and fix tests

* fix lint error in table component

* added empty state for user table

* clean up unused data table props

* added delete modal

* add delete user functionality

* add delete option for invite

* Add styles for rows in user table and action dropdown cell

* hook up user and invite data together for data table

* added client derived data to user table

* hooked up action dropdown to table

* hooked up edit modal and password reset

* started adding editing user functiaonlity

* add query params to /invite call

* clean up editing teams

* update select team from to handle existing users with teams

* update closes modal now

* reuse getUser to clean up code in userManagementpage

* pass form data to updating user that is not the current User

* add dynamic userform submit text and fix tests

* fix lint error in table component

* added empty state for user table

* clean up unused data table props

* added delete modal

* add delete user functionality

* add delete option for invite

* Merge in generateClassTag

* Refactor table styles

* Add newline to DropdownCell style sheet

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>

* update checking for admin through global_role in nav

* added defaultGloablRole for creat user modal

* remove unused comment

* fix broken tests

* reenabled search for users tests

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>
2021-04-09 11:44:57 +01:00
RachelElysia
3a4f13d1e4
Correct description field on packs page (#593) 2021-04-06 18:29:12 -04:00
noahtalerman
90e82a62b3
Fix frontend bug on "Edit pack" page (#604)
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.
2021-04-06 14:41:07 -07:00
Gabe Hernandez
e33bbb8811
enhance data table for two datasets and client derived data (#559)
* rework data table, got to point of calling network request correctly

* got to point of rendering table columns and data

* finish up functional changes to data table

* fix tests

* fix styles for table container and data table

* clean up some styles

* update to styles for no host configured

* cleanup and docs

* add missing method for host table text formatting

* disabling unused test. will add back in next PR

* clean up code
2021-04-04 13:45:24 +01:00
Zach Wasserman
2e2805d9fe
Fix JS test warnings and errors on Node 15 (#572)
- unhandledPromiseRejection errors caused test failures on Node 15.
  Instead verbose log these for later followup.
- Fix uses of Nock in tests
- Fix some warnings in tests
- Upgrade some test dependencies
2021-04-01 11:45:21 -07:00
Gabe Hernandez
be77b0de59 add tests for new manage users UI and improve checkbox accessibility (#536)
* e2e test for manage user page, and updating styles for ui components

* make checkbox more accessible and create e2e test around creating user

* add react testing library and use it for radio testing

* clean up comments

* update docs and clean up
2021-03-31 11:58:38 -07:00
Gabe Hernandez
d0ded91d0b partial implementation of user table with generic table and new create user form (#500)
* use new data table in user manage page'

* remove default empty array hiddenColumns props, was causing render performance problems

* remove unused tooltip in hostcontainer

* add search to user manage table

* add query params to user GET requests

* move createUserForm closer to user management page

* starting to implement create user modal

* starting to add team checking functionality to create user

* styling of select team form

* changing logic for selectedTeamsForm, simplifying

* updated SelectedTeamsForm to handle own state and pass back relevant state to parent

* created reusable infobanner component and use it in osquery options page

* use infobanner in createuserform

* create new Radio component and use in createuserform

* create new Radio component and use in createuserform

* added new radio buttons to createUserForm

* finish custom radio button styling

* finish styling of radio in createUserForm

* fix and add entities/users#loadAll tests

* remove unneeded tests and updated broken ones on UserManagementPage

* remove unused modules
2021-03-31 11:58:29 -07:00
noahtalerman
5d8cd56de3
Add platform text to Queries list on "Pack" page (#561)
- Add platform text to the Queries list. This text better reflects the options in the "Platform" dropdown when scheduling a query.
- Remove platform icons.
2021-03-30 17:21:05 -07:00
noahtalerman
a6a1dd010d
Update styles on SSO login page and confirm SSO invite page (#560)
- Update layout on _Login_ page by moving "Log in with SSO" button into the card.
- Update layout on _Confirm SSO invite_ page and remove Confirm SSO invite styles. This page now uses the same style sheet as the standard _Confirm invite_ page.
2021-03-30 17:16:51 -07:00
Zach Wasserman
2203bd81a2
Add support for IdP-initiated SSO login (#556)
This feature is off by default due to minor potential security concerns
with IdP-initiated SSO (see
https://auth0.com/docs/protocols/saml-protocol/saml-configuration-options/identity-provider-initiated-single-sign-on#risks-of-using-an-identity-provider-initiated-sso-flow).

Closes #478
2021-03-30 12:56:20 -07:00
noahtalerman
e6e6fcdf2d
Adjust UI layout styles and fix empty state on "Hosts" page (#542)
- Remove `$nav-width` and `$nav-tablet-width` because the navigation is now on the top of the layout.
- Add styles to `CoreLayout` to make the main content (everything except the top nav) fill the window height.
2021-03-25 17:22:37 -07:00
Gabe Hernandez
699c37e343
genericise host table (#456)
* updates to datat table to genercise it

* finish up genericising host data table
2021-03-15 11:26:18 +00:00
Zach Wasserman
39fc25cf5c
Refactor cypress tests and expand testing (#450)
- Add cypress commands `setup` and `login`.
- Test setup page.
- Test add new host dialog (MVP establishing testing patterns).
- Add `testing-library/cypress`.
- Add `cypress` directory to lint config.
2021-03-12 11:49:28 -08:00
Gabe Hernandez
5e80bd5711
change smtp warning banner (#443)
* change colours for warning

* update the warning banner to display whatever is passed in.
2021-03-12 11:45:17 +00:00
Gabe Hernandez
8591e2a3e7
tooltip for org settings form input descriptions (#434)
* added tooltip to input description on org settings form

* pull out IconToolTip into its own component
2021-03-10 17:37:49 +00:00
Gabe Hernandez
a0ebc2bdf3
Add sticky side nav to org settings (#433)
* add stick side nav to org settings and fixes to sticky nav on other settings pages

* remove unused html

* remove unused href attr

* remove unneeded react fragment
2021-03-10 17:28:58 +00:00
Zach Wasserman
6e96df9055
Update osquery version options (#426)
4.6.0 is already released and 4.7.0 is coming very shortly.
2021-03-09 09:57:31 -08:00
noahtalerman
61635225dc
Front end style and experience fixes (#425)
This PR includes several style and experience fixes discovered during a front end QA pass 3-9-2021 

Fixes include:
- The content on _Osquery options_ page now fills the entire width of the new layout
- Add consistent messaging in the SMTP warning on the _Organization settings_ and the _User management_ page
- Add spacing consistent with styles for the buttons in the "Delete label" modal have 
- Make scroll behavior of  `<FlashMessage />` behave with the new top navigation
- Remove the SMTP warning from the _Organization settings_ page
2021-03-09 09:43:37 -08:00
noahtalerman
ba131153b7
Style changes for UI layout changes (#415)
This PR includes additional style changes included in the UI layout changes project #360

Changes include:
- Moving the <FlashMessage /> component below the new horizontal nav
- Editing the "Save options" button on the Osquery options page
- Adding a pseudo-element to <SettingsWrapper /> to prevent bold text from shifting the layout
- Add sentence case for tabs in <SettingsWrapper />
- Adding $horizontal-gradient to colors.scss
2021-03-09 07:48:35 -08:00
noahtalerman
54c2b0b8df
Edit live query results table width for UI layout (#416)
- Fixes #413. Reintroduce a max-width for the.has-sidebar selector. This prevents the query results table from horizontally overflowing the screen's width.
- Adjust the positioning of the expanded live query results table to fit the new layout
2021-03-09 07:33:39 -08:00
noahtalerman
54ecabab35
Fix live query UI expanded view (#394)
- The expanded view for live query UI now fills the screen's height. Vertical scroll is allowed on the table if the results table's height larger than the screen's height.
Fixes #392
2021-03-08 11:45:17 -08:00
Gabe Hernandez
70b76d9aef
change to horizontal nav (#379)
* start with making nav horizontal and updating nav and main content areas

* remove unneded subnav styling and JS code

* remove unused isSmallNav and --small styles

* remove isSmallNav in reducer and fix tests

* change 'admin' to 'settings'

* remove unnneded username to logo

* change account page urls

* Add user avatar dropdown to nav

* remove unused background colour on company logo

* get tabbing to work correctly

* implement styling of tab and page descriptions

* change default settings nav to organisation settings

* remove more unneeded subnav code

* fix some broken tests after changes

* pull out getdefaultTabIndex in settingsWrapper

* sticky sub nav for settings pages

* tweak zindex for setting subnav

* updated yarn.lock

* update icons

* fix collapsing nav items

* tweak avatar dropdown styles

* remove sidebar on osquery page
2021-03-08 16:48:29 +00:00
noahtalerman
0c4720c721
Fix IP column label and section label. Add border color style for inputs. (#374) 2021-03-04 15:18:21 +00:00
Gabe Hernandez
0b9d20329b
add ts to data table components (#364)
* chnage webpack to resolve typescript modules. convert TextCell to TS

* change headercell and statuscell to ts

* ignore casesensitve error, seems a bit buggy

* ignore camelcase error, we already use snakecase many places

* updated LinkCell and modules it depends on to typescript

* fix up some warnings from changes

* fix more types in textcell and hosttableconfig

* use alias imports

* add require button state interfcae
2021-03-03 16:51:39 +00:00
Gabe Hernandez
3546b7d41a
adding typescript and updating linting to work with it (#356)
* updated typescript version and tsconfig in project

* updated eslint version

* change from experimental export to supported export

* removed accidentally added script

* turn off buggy jsx-a11y eslint rules

* remove unused tslint.json

* fix wrong jsx-a11y depedency

* use correct eslint-plugin-jsx-a11y version

* fix rest of linting errors

* move back js-yaml version to 3 major
2021-03-01 07:48:51 +00:00
noahtalerman
b53d14a37a
Fix render issue in errors table where the number 0 would be rendered below results table (#354)
This is a visual bug fix.
- Fixes a rendering issue in the Errors table in which the number "0" is rendered below the results table. This rendering issue occurs when the query is completed and no errors are returned.
2021-02-25 11:42:40 -08:00
noahtalerman
9ec9018288
Errors table doesn't render if there are no error (#353)
The errors table in the live query UI doesn't render if there are no errors.
- Fixes #330
2021-02-25 09:14:13 -08:00
Gabe Hernandez
a6c8987200
Feature - add search and sort to host table (#341)
* start adding global search filter

* update polyfill setup to use async await for react-table

* update browerslist to sensible defaults

* get global search functionality woring

* more progress on the data table

* get label network calls working in hostdatatable

* get pagination functionality into the HostDataTable

* get search query making network call

* get ordering making query

* make actual  sort order network calls

* disable cpu column sorting

* seperate get table data from get labels

* fix issues with input resetting and got search query working

* get sort working

* ignore vs code editor settings

* improve loading spinner to move inside the table

* improve styling

* add sorting arrows

* remove unused sorting arrow component

* add host query params to labels endpoint

* fix style for query textarea on label hosts

* got new pagination working

* set server data as source of truth for table global filter

* cleanup logs

* clean up pagination styles

* fix up paginationa and no host styles

* add result count to table

* remove logs

* tweak header styles

* fix to sort order

* simplify default sort direction

* keep sort order of server api responses and use in host table

* clean up logs

* Add styles for header cell and pagination

* fix tests for ManageHostPage

* fix tests for HostContainer

* fix lower level action reducer and thunk tests

* fix tests for hosts client

* fix up some host count styling

* added back no hosts start message

* fix linting errors

* remove unused old pagination code

* add back scrollToTop utility on pagination

* remove unused code in managehostpage test

Co-authored-by: Noah Talerman <noahtal@umich.edu>
2021-02-25 12:05:08 +00:00
noahtalerman
8d5c1c37d3
Add number of hosts responding in live query UI. (#333)
These changes fixe #303 by adding the number of hosts successfully responding to the live query UI. This information was previously removed in Fleet 3.7.1
2021-02-18 12:59:27 -08:00
Gabe Hernandez
8c8c3f9516
Update to new host table (#298)
* recreate host table with react-table

* move old host table and container next to other code related to host page

* start replacing old host table with new host table

* replace old table with with new data table

* fix up tests and remove some unused code
2021-02-11 16:22:22 +00:00
noahtalerman
ee72532942
Display status indicator when live query results are empty (#257)
These changes resolve the case during which a host goes offline after a live query begins. Now, the status indicator is displayed during, and after, a query is running and the live query results are empty.

Additional changes:
- Add no results messaging for the case when there are no results and no errors (rendered when live query is completed)
2021-02-02 12:11:03 -08:00
Gabe Hernandez
310b8522dd
Improve UI contrast for select values in multi input (#261) 2021-02-02 17:10:10 +00:00
noahtalerman
4e8c5e7f86
Add Host details page (#238)
This PR adds a new Host details page as part of the Hosts UI project #162

Summary of changes:
- New component <HostDetailsPage />
- Move "Query" and "Delete" buttons from the hosts list to the Host details page
- Add new button variants label and text-link
- Add react-tooltip package to the project (v4.2.13)
2021-01-28 12:44:48 -08:00
noahtalerman
9d8e93ee1c
Reveal live query error information in Fleet UI (#224)
This PR adds an "Errors" table to the live query UI.

Summary of changes:
- Errors table includes the columns `hostname`, `osquery_version`, and `error`
- The errors table is only rendered when at least one host fails
- Hosts with an osquery version less than 4.4.0 always display the error "upgrade osquery on this host to 4.4.0+ for error details"
2021-01-25 17:08:28 -08:00
Zach Wasserman
3fc6412e67
Add comments in generated flagfile (#219)
Adds clarity to the different features being configured
2021-01-25 12:20:48 -08:00
noahtalerman
9750a81f0e
Add image import for all icon png assets. Fix link to home from 404 and 500 pages. (#196)
- Explicitly import all icon png assets in the component files they're referenced. Instead of creating a relative path to the icon image asset in the `<Icon />` component. This allows icon assets to be independent of any custom url prefix and fixes #193. In addition, eslint now catches all unresolved paths to image assets.
- Remove the `<Icon />` component
- Remove `icon_name.js`
- Add `<Link />` component and PATHS to 404 and 500 pages. These pages now work with a custom URL prefix specified.
- Remove all icons from the Hosts side panel. These changes are part of the Hosts UI #162.
2021-01-15 08:57:27 -08:00
noahtalerman
8b1c6dd7eb
Complete front end QA (#181)
- Conduct complete visual QA for recent icon changes merged in #128
- Edit styles to vertically align the "copy" and "reveal" icons in EnrollSecretTable
- Clean up unused <KolideIcon /> properties in <SelectTargetsDropdown />
- Add min-height to left side navigation. At window heights under 500px, the user can now vertically scroll to reveal the remainder of the nav options.
- Edit 500 page styles by moving the "Show error" button above the link to "File an issue"
2021-01-07 12:35:45 -08:00
noahtalerman
0c921fe032
Fix missing image assets in SelectTargetsDropdown. (#172)
- Add back <KolideIcon /> to SelectTargetsDropdown. <KolideIcon /> was prematurely replaced.
- Edit styles to allow SelectTargetsDropdown to vertically scroll on overflow.
Fixes #168
2021-01-04 17:22:02 -08:00
noahtalerman
72637d649b
Update links to new documentation locations. (#164)
- Add correct links to the new docs locations for links within the Fleet UI and Fleet documentation.
Fixes #157.
2021-01-04 08:53:23 -08:00
noahtalerman
19816cee1a
Add help text within user actions dropdown menu. Update copy in API documentation. (#142)
- Add help text within dropdown in smaller font size underneath "Require password reset" saying "This will revoke all active Fleet API tokens for this user."
- Update API docs to use "API token" parlance instead of "Auth token"
2020-12-21 15:47:35 -08:00
noahtalerman
573097c2a3
Close UI Refresh. Update button styles. Edit status labels for hosts list and users list. (#139)
The final PR for the UI Refresh #38.

- Complete UI issues caught during the Dec. 09 QA pass.
- Update button and color styles, including hover and active states, to align with the mockups.
- Update status labels in the hosts list and users list. The status label now includes a colored circle along with a text description.
- Fixes #138.
2020-12-18 17:36:39 -08:00
noahtalerman
510c7c0f45
Fix query editor rendering strangely in Safari. Edit query side panel styles. (#140)
Fixes #65 by bringing in new regular and bold Source Code Pro monospaced fonts.

- Remove old Source Code Pro font files
- Add new platform icons to <QuerySidePanel />
- Edit styles in <EditPackForm />
2020-12-18 09:04:43 -08:00
noahtalerman
49e71e4ed6
Add new icons for Hosts page. Fix hosts list width on wide screens. (#128)
- Add new PNG files for the new icons in the left side navigation and the right side labels on the Hosts page.
- Rename the old `<Icon />` component to `<KolideIcon />` and create a new `<Icon />` component. The ultimate goal is to get rid of the `<KolideIcon />` and `<PlatformIcon />` components and use the encompassing `<Icon />` component for all icons. The full transition will be made when we have icon assets to replace all the kolide icons and platform icons. Currently, we don't.
- Rename the `icon_name_for_label.js` utility to `icon_name.js` because the utility now includes `iconNameForLabel()` and `iconNameForPlatform()` functions.
- Fixes issue #127.
2020-12-14 18:24:16 -08:00
noahtalerman
e3edcc0ed7
Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
2020-12-10 14:34:17 -08:00
noahtalerman
1b23b7b74f
Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
2020-12-10 13:09:05 -08:00
noahtalerman
98799fdff8
New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
2020-12-08 17:45:08 -08:00
noahtalerman
523d596c77
Update app settings page and osquery options page styles. (#107)
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
2020-12-08 12:08:59 -08:00
noahtalerman
5dd9b75e9c
Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
2020-12-08 12:07:54 -08:00
noahtalerman
cc0d578b75
Update manage users styles. Implement table (list) view. (#104)
The goal of this PR is to change the layout of the manage users to a table (list view).

Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
2020-12-08 11:58:19 -08:00
Zach Wasserman
9279e59628
Default to --host_identifier=instance in docs (#103)
This may be a better default for folks to use as it will prevent the
issues caused by duplicate UUIDs in #102.
2020-12-07 15:43:08 -08:00
noahtalerman
028b968ff5
New styles for label creation form. (#101)
The goal of this PR is to update the styles of the LabelForm component.
Also include global style changes for form components (FormField, LabelForm, and others).
2020-12-07 15:08:59 -08:00
noahtalerman
d029ab18f9
Update add new host modal. (#94)
- The goal of this PR is to update the styles of the "Add new host" modal.
- Move the "Add new host" button from the hosts sidebar to the center column.
- Add max-width to the hosts list container and the hosts header.
2020-12-04 15:19:08 -05:00
Zach Wasserman
bb921bc973
Allow scheduling same query more than once in UI (#96)
Fixes #88
2020-12-04 09:50:39 -08:00
noahtalerman
7d9906e5ea
Update Fleet setup styles (#78)
This PR is part of the UI Refresh #38.

The goal of this PR is to update the styles of the Fleet setup (onboarding) flow.
2020-12-02 09:59:44 -05:00
Zach Wasserman
0670db66c4
Migrate JS tests to Jest and update libraries (#74)
- Move from Mocha to Jest for JS testing (Jest seems to have better support for
 'watching' tests and a more active community these days).
- Codemod existing tests to Jest syntax (using https://github.com/skovhus/jest-codemods)
- Fix some errors in tests that were previously hidden.
- Update Babel.
2020-12-01 10:15:12 -08:00
noahtalerman
3953afb0b0
New styles and layout for hosts page. Remove grid view. (#73)
The goal of these changes is to update the main content (center column) of the /hosts page.

What is included in these changes:
- Removing the grid view for hosts. This required removing the actions, reducers, and props using to toggle the display between grid and table view. The toggle buttons in the UI are also removed.
- Adding host_cpu, memory, and uptime columns to the table. This increases the table's width which is now horizontally scrollable.
- Removing the HostDetails component used in the grid view. Moving the helpers.js file to HostTable. Adjusting JS tests to account for these changes.
- Updating pagination styles.
2020-11-30 13:23:58 -05:00
noahtalerman
57950a9645
Update host side panel. New styles for labels. (#72)
The goal of this PR is to implement the new styles in the mockups and update the right-side panel on the hosts
page. This right-side panel includes built-in labels, custom labels, and filtering for custom labels.
2020-11-30 12:17:55 -05:00
noahtalerman
05b8e432e5
Update nav layout and styles. Cleanup unused css. (#71)
The goal of this PR is to update the main navigation's layout and styles in accordance with the mockups created by @edamamedesign. The orgLogoUrl still needs to be tweaked so uploaded photos display nicely. For now, only the `username` is displayed at the top of the navigation and not the `orgName`.
2020-11-30 12:07:44 -05:00
noahtalerman
51cfb07f64
Implement global colors. Add italic font. (#64)
The goal of this PR was to insert new colors, remove legacy colors, and update only the styles accordingly. The Nunito Sans Italic font was also added.

Later PRs will include layout, copy, and style change to individual components. These later changes will more exactly resemble the current mockups.
2020-11-24 08:59:03 -08:00
Zach Wasserman
6dccabb5b0
Clean up output of JS test errors (#63)
- Output easy to parse stack traces during run of tests
- Fix some spurious warnings and errors in tests
- Add --exit flag to Mocha invocation to fix hang due to timers in ACE editor
2020-11-24 08:25:52 -08:00
noahtalerman
8df16949f5
Add fleet assets including logos, 404 image, and 500 image. (#61)
This is the second PR as part of the Fleet UI Refresh #38.

The goal of this PR was to insert all updated Fleet assets and remove all old assets. More style changes, including the exact sizing and placement of the new images, will occur in a future PR.
2020-11-23 11:22:42 -08:00
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
Mike Arpaia
87ec8a8ccf Update AddHostModal to support Launcher (#1553) 2017-09-06 09:18:59 -06:00
Mike Arpaia
9d21cbdb8a removing license code (#1551) 2017-09-01 10:42:46 -06:00
John Murphy
f58e36e66a Fixed issue with query state, and query form title (#1550)
The component state of QueryPage was not assigned correctly, occasionally causing incorrect queries to be executed.
2017-08-23 14:00:24 -05:00
John Murphy
990c911867 Fix user menu on Firefox (#1542)
Closes #1536

Firefox doesn't propagate mouse events to components nested inside a button element. So we switch button to a div to fix.
2017-08-02 14:02:09 -05:00
Kyle Knight
61973ecceb Fix up styles in IE11 (#1391)
* Fix up styles in IE11

* Getting check marks to show
2017-06-18 12:38:16 -06:00
John Murphy
151ce35e8c Front end support for decorator crud ops (#1509)
This PR closes #1448, providing front end CRUD operations for decorators.* Front end support for decorator crud ops.
2017-05-30 13:36:29 -05:00
John Murphy
019191c36b SSO Login and Configuration Support (#1506)
Closes issue #1456 This PR adds a single sign on option to the login form, exposes single sign on to the end user, and allows an admin user to set single sign on configuration options.
2017-05-17 10:58:40 -05:00
John Murphy
12d2df1f9a Add SSO support to new user activation (#1504)
Closes #1502. This PR adds support for SSO to the new user creation process. An admin now has the option to select SSO when creating a new user.  When the confirmation form is submitted, the user is automatically authenticated with the IDP, and if successful, is redirected to the Kolide home page. Password authentication, password change and password reset are not allowed for an SSO user.
2017-05-10 11:26:05 -05:00
Kyle Knight
97eb49017a Allow uncheck of Query if All selected (#1483) 2017-04-13 15:05:23 -05:00
Kyle Knight
3544535e1d Make % online round to two decimal places (#1427) 2017-04-07 07:50:11 -07:00
Kyle Knight
54bd9a8f66 Nudge the Apple icon over a bit to line up everything (#1428) 2017-04-07 07:50:03 -07:00
Zachary Wasserman
38a900dad5 Edits to admin app settings text (#1460) 2017-03-31 10:11:02 -07:00
John Murphy
587b6592ff Fixed problem where changed port didn't trigger validation (#1451)
Closes issue #1380

Skipped validation caused garbage data to get sent to the server which caused an error in the transport middleware.
2017-03-29 22:29:08 -05:00
John Murphy
1e72c44e49 Fixed sidebar so config item only shows up for admin users. (#1443) 2017-03-23 09:48:48 -05:00
Kyle Knight
28f0247654 Fix busted scrolling after full screen query results (#1400) 2017-03-13 11:20:34 -04:00
Kyle Knight
8121e7cf3a Add selected styles to Pack Row (#1379) 2017-03-13 09:32:47 -04:00
Mike Stone
c7535e8d8c Add Front-end Documentation (#1373) 2017-03-10 17:13:29 -05:00
Kyle Knight
b23ab83336 Display loading icon until host details are saved (#1376) 2017-03-09 10:50:53 -05:00
Kyle Knight
14fa984bd3 Update All platform text to use Icon (#1363) 2017-03-08 08:40:02 -08:00
Kyle Knight
b875c05f4d Update Pack schedule query Platform to allow All or OSes (#1361) 2017-03-08 08:11:47 -08:00
Kyle Knight
95b9e2c7d5 Fetch Targets after component is mounted (#1362) 2017-03-07 13:27:29 -05:00
Kyle Knight
facab79954 Update UI styles for Host Details card (#1317) 2017-03-06 10:37:06 -05:00
Mike Stone
7a7fb9eac9 Select targets tests (#1307)
* Adds tests for the TargetDetails component

* Adds tests for Select Targets Menu

* Rename target_stub to target_mock

* Adds tests for the SelectTargetsDropdown & minor refactor
2017-03-03 10:05:03 -05:00
Mike Stone
d747a471af Refactor API client (#1335)
* Isolate each API entity
* Improve code structure in API client and request mocks
* Standardize on a request mock structure
* Use helper for creating request mocks
* Adds Request class to handle API requests
2017-03-02 17:07:01 -05:00
Kyle Knight
89ee5b3aed Remove "All hosts" section in target selector when chosen (#1326) 2017-03-02 11:52:31 -05:00
Kyle Knight
169535afab Fix max-height issue with Full Screen Query Results (#1323) 2017-03-01 13:11:09 -06:00
Kyle Knight
b7fb83ce4b Full Screen Query Results (#1238) 2017-02-24 18:01:43 -05:00
Kyle Knight
6c6fb33915 Prevent Select Target dropdown from colliding with footer (#1303) 2017-02-24 17:52:42 -05:00