Commit Graph

85 Commits

Author SHA1 Message Date
Luke Heath
84d36d9e22
Policies own their queries flow QA fixes (#3323) 2021-12-10 13:17:36 -06:00
Luke Heath
6624a9dfef
Add redirects to page paths (#3161) 2021-12-01 11:42:31 -06:00
Lucas Manuel Rodriguez
964f85b174
Amend policy creation and spec (for proprietary query), and add update APIs (#2890)
* Amend policy creation (proprietary query), add update APIs

* Fix Datastore.SavePolicy bug (and add tests)

* Add integration tests for new policy APIs

* Add author email

* Add activities

* Push breaking changes for return policy fields

* WIP

* Add integration test for host policies

* Make more improvements to policy representation

* Improve upgrade code (from PR review comments)

* PR changes

* Revert activities for policies

* Use *uint instead of uint for queryID, use fleet.PolicyPayload

* Filter out other schemas

* New policy flow (#2922)

* created new policy flow -- no API connection

* added api props

* fixed prop name

* lint fixes

* removed unused modal; fixed style

* name, desc icons; created global components

* lint fixes

* ignoring certain files and lines for prettier

* Update frontend/pages/policies/PolicyPage/PolicyPage.tsx

* Make policy names unique across deployment

* Amend upgrade script

* Fix migration for unique names

* Do not deduplicate but instead rename policies

Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>
2021-11-24 14:16:42 -03:00
RachelElysia
9cf025a0a5
Fleet UI: No Access only access to dashboard and my account page (#3063) 2021-11-23 11:50:21 -05:00
RachelElysia
5bfda67588
App UI: Link styling, code clean up (#2992)
* Fix styling on all app links

* Rename MembersPagePage to MembersPage
2021-11-18 10:08:20 -05:00
Martavis Parker
58b26ae1ba
Removed 500 route middleware, added error boundary (#2665) 2021-10-26 09:26:51 -05:00
Luke Heath
b12c7ab925
Add UI for team admin role (#2637) 2021-10-26 09:24:16 -05:00
Martavis Parker
1dfe37accc
Automatically log in preview user (#2578)
* automatically logging in preview user

* fixed url check

* simplified logic
2021-10-19 14:23:40 -07:00
RachelElysia
a2fe3bae7e
Edit Packs Page: Refactor and revamp (#1400)
* New query pack table renders
* services/entities created/updated with 5+ needed APIs requests for EditPacksPage
* Refactor jsx to tsx PackQueriesListWrapper, EditPackForm, EditPackPage
* Refactor to new patterns on useQuery, useEffect, and useState
* Refactor to new pattern formData formatting
* Edit, remove pack query modals
* e2e test: packflow built to test create, update, delete of pack, fix brittle teamflow
2021-10-04 16:26:10 -04:00
Zach Wasserman
55aa8c702e
Use new home dashboard (#2212)
Adapted from @RachelElysia's original #1640.
2021-10-03 11:15:58 -07:00
gillespi314
9083230491
Update team maintainer schedules routes (#2334) 2021-10-03 10:58:37 -07:00
gillespi314
0a423f4c7b
Add new feature: Team policies (#2142) 2021-10-01 19:35:13 -05:00
Martavis Parker
b6659cfaaa
Refactored Manage Hosts (#2233)
* Add new feature: team policies

* Continue work on team policies

* Continue work on team policies

* Continue team policies

* Revert accidental deletion

* Rename variables

* code refactored; working on runtime errors

* updated front end docs

* Update URLs from team to teams, add tests for policy auth

* Fix test

* Continue work on team policies

* Add permission checks

* mange hosts functional and cleaned up; typing

* improved label logic

* added try catch to awaits

* lint fixes

* frontend unit tests don't work for functional components

* test fix

* revert

* Address errors related to refetch on window focus

* Add loading error check

* Fix typos in loading error checks

* Guard against invariant condition in useEffect

* Update links and routes for team policies

* lint fixes

* Update frontend/pages/hosts/ManageHostsPage/helpers.ts

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>

* Change inherited policies button, tooltip

* lint fixes

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-09-30 12:32:06 -07:00
RachelElysia
f397b77c1a
Schedule Page: Team maintainer can modify their team's schedule (#2243)
* Change permissions to schedule UI to include team maintainers
* Update e2e tests
2021-09-30 10:30:44 -04:00
Martavis Parker
5d647025f9
1497 improved query experience (#1998)
* Step 1 for improving query experience (#1591)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* will address dynamic save disabled in edit step

* Step 2 for improving query experience (select targets) (#1732)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* Improving query experience - Step 3 (query results) (#1766)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* connected run query with modern React/JS; clean up

* linting fixes

* fixed logic to retrieve results from live query

* linting fixes

* created new, simpler query progress

* populating results and errors tables as expected

* syntax fixes

* fixing styles for query results

* more styling for query results

* manual merge from main

* 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

* go sum

* Query Experience Cleanup Tasks (#1807)

* fixes to get merged main branch to build and work

* moved screens for query pages; clean up

* updated and typed react ace for query form; clean up

* using console error instead

* added real types instead of `any` except for errors

* query side panel ts and functional. prep for close task.

* ability to hide, show query table sidebar

* improved live query status warning

* added loading and error state for targets search

* error screen for targets; improved loading display

* now using API-created label for all linux

* missed some files on previous commit

* able to edit query

* clean up

* lint fixes

* query results showing as they come

* remove unused code

* removed old query page. major file cleanup.

* removed selectedTargets redux implementation

* removed unused redux actions and reducers

* removed unused keys in initial state

* selectedOsqueryTable is now using context API

* removed all querypages redux code

* set up context for app and user

* fixed auth with temp fix for wrapper

* completed redux removal from query page

* fixed var names coming from main branch

* fixed var name changes coming from issue 1501

* fixed save popup bug; clean up

* added permissions

* fixed login redirect

* removed unused props

* linting fix

* clean up

* removed unused component, refactor, and clean up

* fixed styles for step 1 as admin

* fixed styles for step 1 as observer

* fixed percentage of online hosts

* added loading progress to query stop button

* reset query status on run again

* added download icon to export button text

* fixed error reset on name input; fixed styles

* fixed bug where query value wasn't saving

* fixed query value when blank

* fixed bug - default query was running every time

* auto adding host from url to targets

* fixed flows for repeating run and save steps

* fleet ace is now TS and functional

* fixed a couple of tests

* fixed issues with query value text inconsistencies

* fixed query side panel not showing

* hiding error count if not > 0

* fixed showing editor for different roles

* using integer for targets

* go sum

* fixed targets param

* catching all errors while running query

* fixed hover state for title and description

* ignore unit test for now; lint fixes

* locking react-ace version

* ignoring tests breaking in github actions

* brought tests back

* fixing file name

* fixing file name again

* fixed e2e test

* have to ignore tests for now

* ignore certain premium tests for now

* one last test to revamp

* another test

* fixed teamflow test

* fixed observer query 403

* lint fixes

* fixed maintainer test

* added changes file

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-09-10 12:06:37 -07: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
452392f5d2
Add new feature: Policies (#1772) 2021-08-30 18:02:53 -05: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
dc77974ef6
Fleet UI: Reroute homepage (#1640)
* Reroute homepage
* Update e2e tests brittle URLs
2021-08-13 10:41:53 -04: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
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
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
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
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
RachelElysia
9360ed3f64
403 Page for API Only User (#1102)
* Typescript files
2021-06-17 11:11:28 -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
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
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
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
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
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
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
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
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
d453ca3f8f
Enable eslint file resolution linting (#2119)
Previously this was disabled (perhaps unintentionally due to the
duplicate settings in the .eslintrc.js). Enable the lint rule and fix
the violations.

May fix JS build issues on case-sensitive filesystems.
2019-10-22 13:00:31 -07: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
Mike Arpaia
de6dbd0f13
Remove decorators and osquery config from the UI (#1769) 2018-05-08 11:03:32 -06:00
Mike Arpaia
9d21cbdb8a removing license code (#1551) 2017-09-01 10:42:46 -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
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
Mike Stone
cc37cfa828 Allows users to update their email address (#1232) 2017-02-24 10:08:59 -05:00
Mike Stone
e565e03130 License features (#1134)
* API client to create and get an app license

* Fixes unhandled promise rejection errors in redux config

* License Page and Form

* Adds getLicense action

* Adds License key area to App Settings Form

* Use license.token instead of license.license

* Implement API client

* Adds key icon to License Form

* Adds License Success component

* Render License Success on License Page when there is a license

* Adds persistent flash actions and reducer to redux

* Adds nag message middleware

* Moves FlashMessage component to flash_message directory

* Adds Persistent Flash component

* Renders Persistent Flash component from Core Layout

* Adds Kyle's styles

* Change license validation message

* Finishing touches for app config form license area

* Handle revoked licenses

* License Page hits setup endpoint

* Display server errors on license form

* Changes 0 allowed hosts to unlimited

* Trims JWT token before sending to the server

* GET setup page after submitting license
2017-02-09 22:16:51 -05:00
Mike Stone
cd838f7afb Render the 500 page after 500 errors 2017-02-06 10:04:20 -05:00
Kyle Knight
2a6ccfe4f6 Remove Add Hosts page (#1035) 2017-01-19 14:44:35 -05:00
Mike Stone
6b3a54ba79 handle disabled email in invite form (#994)
* Moves SmtpWarning to the components directory

* Renders base errors on invite user form

* Prevents add user and displays warning if smtp not configured

* Wait to render content until API calls finish
2017-01-17 16:50:40 -05:00
Mike Stone
639bdb4e11 Scaffold import config page (#927) 2017-01-13 18:27:58 -05:00