A new datastore interface is needed for buffering incoming distributed query results to be sent to the client. This PR attempts to define and implement that interface.
It is intended that the ReadChannel() method be used by the goroutine that will push query results down a websocket to the client. Passing the results through this channel will allow that goroutine to perform a select on both the channel and the websocket, in order to properly handle IO.
* Removes SaveQuerySection
* Updates to NewQuery & SaveQueryForm
* SaveQueryFormModal
* Load the SaveQueryFormModal on "Save Query" click
* Run query button
* hide modal form after submit
* Disable run query btn without selected targets
* Api client get targets
* Allow entities to parse full api response
* responsive nav style fixes
* Add disabled prop to button
* Add targets from API to target select input
* customize target rendering in input field
* call API on select target input change
* display # hosts selected
* Adds new icons to icon font
* Customize select targets input options
* Update directory structure
* restructure select targets input
* Adds hosts to labels
* Host modal styles
* ShadowBoxInput component
* TargetInfoModal for labels
* consistent entity response in api client stubs
* Fix bug removing multiple hosts in target select input
* change Button component to use css classes
* Updates eslint packages
* Expected parentheses around arrow function argument having a body with curly braces
* Prop type `object` is forbidden
* Visible, non-interactive elements should not have mouse or keyboard event listeners
* Prop type is defined but not used
* Unexpected use of file extension "jsx"
* Expected 'this' to be used by class method
* HTML entities must be escaped
* Prevent default behavior on more options button click
* validate query text
* Update structure of submitted SaveQueryForm data
* form calls correct prop function when invalid query text
* Lowercase directory names
* Adds manage hosts page and improves side bar functionality
* API client get hosts
* Adds hosts to redux state
* Adds host details component
* Manage hosts page renders host details
* ElipsisMenu component
* Add ElipsisMenu to HostDetails
* Adds HOC to detect clicks outside component
* clicks outside ElipsisMenu close the tooltip
* Adds icons to host details component
* Adds loadAll action to redux entity config
* API Client get invites
* Add invites to the user management page
* Updates user block styles on user management page
* Submit modal form on enter
* Modify details form styles
* Enter submits edit user form
* Removes unused admin dashboard page
* API Client - revoke invites
* Delete invite entities in redux
* Revoke invites from admin manage users page
* Show success flash message after user invite is revoked
- Introduce kolide.ListOptions to store pagination params (in the future it can
also store ordering/filtering params)
- Refactor service/datastore methods to take kolide.ListOptions
- Implement pagination
* Populate the in-memory database with fake hosts
Similarly to how we create two fake users, this PR adds two fake hosts to
the in-memory database that is used in dev mode.
* using more realistic physical memory values
The way that you define environment variables for a single command
is slightly different than how it's done on nix. This PR adds a simple
switch to the Makefile to use the correct approach on the appropriate
operating system.
* New hosts route
* Adds source code pro font
* New Host Page
* make Icons clickable
* Adds clipboard icon
* highlight icon & show helper text when text copied
* Method 2 text
* Fixes Firefox bug
* Fix spelling error
* QuerySidePanel component
* Adds all osquery table names to ace editor mode
* kolide theme for strings
* Detect OS from browser
* Show utility and specs availability as 'All Platforms'
* Show column description as alt text
* Only send changed user attributes to the server
* Improve flash message styles
* Do not allow admins to demote or disable their own account
* Disable admin actions against self