Commit Graph

4863 Commits

Author SHA1 Message Date
Victor Vrantchan
b14250788d update integration test section of readme (#479) 2016-11-23 09:38:27 -05:00
Zachary Wasserman
0b612eedab Push query results and metadata over websocket connection (#519)
- New route `/api/v1/kolide/results/{id}` with upgrade to websocket connection
- Query results pushed over websocket as they are received from pubsub
- Target totals updates pushed over websocket every second
- New datastore method to support retrieiving target totals
- Websocket package includes helpers and patterns for communicating over websockets
2016-11-22 16:35:43 -08:00
Mike Arpaia
a036c5da9f Add attributes to packs (#524)
* Adds created_by attribute to packs

This PR also updated the distributed query code to use the pattern
established here (service checks context)

* add enable/disable state to packs

* add query_count to packs API responses

* add host_count to packs API responses (very, very poorly)

* pack description should not be required

* counting hosts in packs via mysql

* removing extraneous newline in test

* Switch case instead of if/if else

* add description to update query for SavePack method

* change AND to WHERE in query as per @zwass

* add ordering and list options as per @murphybytes' suggestion
2016-11-22 13:56:05 -08:00
Mike Arpaia
f6e5084d0d Adding admin items to sidebar (#522) 2016-11-21 12:37:54 -08:00
Mike Stone
5dd0b1cf64 User registration submit (#490)
* Renames kolide_web_address to kolide_server_url

* API client for new user setup

* handle api response

* Do not allow logged in users to register
2016-11-21 15:22:14 -05:00
Mike Stone
04bcf16910 Logout link on user menu logs the user out (#514) 2016-11-21 12:13:02 -08:00
Mike Arpaia
a8a7be7f20 Packs pages (#426)
* initial scaffolding

* pack info sidebar

* fixing the merge of the routes

* Remove radium from pack info sidepanel

* lint

* cards!

* redux entity config

* pack interface

* wiring up redux with fake dev data

* Add description attribute to packs

* move redux to top level page component to isolate data fetching

* initial scaffolding of all packs table

* adding redux entities back

* minimal

* alpha order in packs.js

* no newlines in HTML

* onclick handler to function on component class

* alpha order in router

* alpha order in paths.js

* no newline in side panel

* removing input field

* lint fixes
2016-11-21 11:49:36 -08:00
Mike Stone
57d959b5ea Display hosts as table (#509)
* Display hosts as table

* adds Rocker button to ManageHostsPage

* Defaults to grid selected
2016-11-21 11:26:58 -05:00
Mike Stone
3f3a42bdf0 Form updates (#496)
* Updates EditUserForm

* Refactor ForgotPasswordForm

* Refactors LoginForm

* Refactors ResetPasswordForm
2016-11-21 10:43:08 -05:00
Mike Stone
8bb2a39d86 Improves re-usability of the SelectTargetsDropdown (#518)
* Improves re-usability of the SelectTargetsDropdown
2016-11-21 10:38:23 -05:00
John Murphy
56195b0768 Changed mysql version to match that of circle.yaml (#520) 2016-11-21 21:59:48 +08:00
Zachary Wasserman
627b1ad6e6 Drop MySQL tables after test when migration fails (#517) 2016-11-18 11:14:10 -08:00
Zachary Wasserman
3cd841051b Add online count to target/label responses (#513)
Closes #508
2016-11-18 09:23:44 -08:00
Zachary Wasserman
6133a61fd1 Fix flatMap logic in target selection request (#512)
The previous logic was causing nulls to be sent as IDs in the request arrays.
2016-11-18 09:20:21 -08:00
John Murphy
531535c168 Refactored database migrations to use goose (#515)
* Refactored database migrations to use goose
2016-11-19 01:02:51 +08:00
Kyle Knight
d6c653b8ea Adding in new Rocker Switch (#498) 2016-11-18 09:41:52 -06:00
Mike Stone
b0e923ccc3 Configures redux devtools (#507) 2016-11-18 09:04:17 -05:00
Zachary Wasserman
dd16f6d918 Fix missing JSON tag for labels (#510) 2016-11-17 16:51:30 -08:00
Kyle Knight
cb6c840776 Removing hardcoded icons and replacing with icon font (#506) 2016-11-17 12:16:09 -06:00
Mike Stone
bb62993ea5 Hosts side panel (#472)
* Host side panel

* Query form handles labels

* QueryComposer handles labels

* ManageHostsPage add label transitions

* Stop preventing default on click outside of ellipsis menu

* get labels from API

* use real label data in hosts side panel

* create label on label form submit

* adds platform dropdown

* Validate query text

* Label header

* validate presence of query text
2016-11-17 12:12:41 -05:00
Zachary Wasserman
eff7f60dc2 Fixes for bugs in MySQL migration (#501)
* Fix users table name in MySQL ListUsers
* Fix invalid SQL
* Implement MarkHostSeen
* Partial fix for targets autocompletion
2016-11-16 15:12:59 -08:00
Zachary Wasserman
34625ce4d0 Add service method/endpoint for creating distributed query campaign (#485) 2016-11-16 13:07:50 -08:00
Mike Arpaia
eb3f3cd765 removing some dependencies from glide (#493) 2016-11-16 10:38:31 -08:00
Mike Arpaia
bf4ee40c41 Fixing make generate-dev (#492)
This commit adds the SQL bindata file generation to generate-dev
2016-11-16 09:56:40 -08:00
Mike Arpaia
587d5c9a09 removing gorm struct tags (#491) 2016-11-16 09:48:43 -08:00
Mike Stone
c1866c48c4 User registration (#453)
* RegistrationPage with Breadcrumbs

* Registration Form

* client-side validations

* Form page headers and description

* Form HOC
2016-11-16 11:58:25 -05:00
John Murphy
6a825c11e3 Datastore refactor (#439)
Removed Gorm, replaced it with Sqlx

* Added SQL bundling command to Makfile

* Using go-kit logger

* Added soft delete capability

* Changed SearchLabel to accept a variadic param for optional omit list
instead of array

* Gorm removed

* Refactor table structures to use CURRENT_TIMESTAMP mysql function

* Moved Inmem datastore into it's own package

* Updated README

* Implemented code review suggestions from @zwass

* Removed reference to Gorm from glide.yaml
2016-11-16 21:47:49 +08:00
Mike Stone
73e04c6cbe Ignore icons and fonts (#484) 2016-11-15 14:43:33 -05:00
Kyle Knight
29ef9e3ce8 Rearranging Files & Killing Off colors.js (#482) 2016-11-15 12:52:17 -06:00
Zachary Wasserman
1d06ad80c8 Use tmpfs with dev MySQL instances (#483)
This results in ~100x speedup in MySQL tests.
2016-11-15 10:06:33 -08:00
Kyle Knight
0746e15cad User Menu (#478) 2016-11-15 11:17:33 -06:00
Mike Arpaia
752710ccf1 Return count of hosts in targets search for each label (#480) 2016-11-14 12:10:28 -08:00
Zachary Wasserman
9c38d6d19e Update osquery service methods for distributed queries (#476) 2016-11-14 10:22:54 -08:00
Mike Stone
b0e856c369 Update target select (#464)
* Stop sending click event to click handler prop

* Delineates between hosts & labels in dropdown options

* Render target details when a moreInfoTarget is present

* Remove moreInfoTarget when the select is closed

* Remove modal

* refactor formatting targets API response

* Adds + icon to dropdown options

* Restructures dropdown rendering
2016-11-14 12:32:13 -05:00
Kyle Knight
8296e46ef4 Updating icons to Fort Awesome (#474) 2016-11-14 09:29:44 -06:00
Kyle Knight
feb9f38a6d Realigning avatar on User Management Page (#475) 2016-11-14 09:28:15 -06:00
Kyle Knight
cd2981e76b Updating styles on Admin User Management (#463) 2016-11-11 08:42:23 -06:00
Victor Vrantchan
2a9e27e426 add mysql and redis services (#471)
enable redis and mysql tests in CircleCI environment
switch redis test to use UTC time - https://github.com/golang/go/issues/17885
2016-11-10 21:04:26 -05:00
Zachary Wasserman
0b6df0cd73 Fix changed ID column name in DistributedQueriesForHost query (#473) 2016-11-10 17:01:39 -08:00
Mike Stone
2b24dcc731 get users if the only user in state is the current user (#470) 2016-11-10 15:29:50 -05:00
Kyle Knight
ea6ca72f43 Removing icons from Dropdown (#469) 2016-11-10 13:37:16 -06:00
Kyle Knight
67024ceace Update styles on Dropdown component (#462) 2016-11-10 10:33:04 -06:00
Zachary Wasserman
5d8a42a959 Fix page in RequireSetup check (#465)
The previous value would require setup unless there were at least 2 users. Now
one user is sufficient to proceed past setup.
2016-11-09 16:35:49 -08:00
Zachary Wasserman
af6a5ee1b6 Add datastore methods for distributed queries (#458)
New datastore methods are introduced for creating/updating
distributed query campaigns, as well as determining the active
distributed queries for a given host.
2016-11-09 15:33:16 -08:00
Zachary Wasserman
c8b9b15ef2 Fix failing MySQL tests for packs (#457) 2016-11-09 15:31:47 -08:00
Mike Arpaia
42f055eaa3 typescript version (#443) 2016-11-09 17:58:23 -05:00
Mike Stone
37df94f7fa Convert to ts (#386)
Converts email validator and  Avatar component to typescript
2016-11-09 17:54:34 -05:00
Mike Stone
995d86e902 Get targets from API (#459)
* API client getTargets

* change label to display_text

* filters options

* send selected targets to server

* get targets when selected targets are added or removed

* show 0 unique hosts when no targets have been selected
2016-11-09 13:08:00 -05:00
Victor Vrantchan
ac14215e21 create first time setup endpoint (#436)
The endpoint is only active if there are no users in the datastore.
While the endpoint is active, it also disables all the other API endpoints, and /config returns `{"require_setup":true}`
for #378
2016-11-09 12:19:07 -05:00
Zachary Wasserman
0388297fd8 Fix missing primary key designation in DistributedQueryExecutions (#450) 2016-11-09 09:09:29 -08:00