Commit Graph

58 Commits

Author SHA1 Message Date
Mike McNeil
27eae209fd
Move fleetdm.com into main Fleet repo (#83)
* rename dir

* no need to install website or docs from npm

At some point, would also be nice to be able to exclude assets/ as well, and to only install a pre-built version of Fleet's frontend code

* Bring in fleetdm.com website

From https://github.com/fleetdm/fleetdm.com as of https://github.com/fleetdm/fleetdm.com/releases/tag/v0.0.21

* add procfile for heroku

Using https://github.com/timanovsky/subdir-heroku-buildpack

* avoid getting anybody's hopes up

* Create deploy-fleet-website.yml (#82)

* Create deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* update pjs with SPDX-like license expressions.  also fix repo URL

and remove package lock

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* remove dummy uri

* Dissect deploy script

* Update deploy-fleet-website.yml

* workaround for eslintrc nesting issue

* lint fixes

* forgot the .js

* add per-commit git config

* Update deploy-fleet-website.yml

* might as well remove that

* cleanup

* connect w/ heroku app and have it actually push

* fix bug I introduced in 578a1a01ffb8404aae869e05005e30a6ba2b2a95

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* the beauty, the glory, of javascript

* GH actions don't like "\n"

* Update deploy-fleet-website.yml

* restore \n chars from 0d45e568f693efba7d7072085bc98d72a482d9ae

hoping I was wrong in 0d45e568f693efba7d7072085bc98d72a482d9ae but see also https://github.community/t/what-is-the-correct-character-escaping-for-workflow-command-values-e-g-echo-xxxx/118465/5

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* Update deploy-fleet-website.yml

* rename script to prevent duplicate building

* Configure the real website

* clean up

* a test of the deploy workflow

* add handbook to npmignore

* I guess you could call this fixing a typo

* point workflow at master branch

* now clearly bogus: this completely unused version string
2020-12-02 14:48:03 -06: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
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
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
2578466697
Upgrade SockJS JS and Go dependencies (#2256) 2020-07-06 20:04:04 -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
3fb76c4154
Remove typescript-require (#2254)
This JS import was unused and causes problems when running tests on Node
14.
2020-07-06 17:02:25 -07:00
Zachary Wasserman
9782ffaf60
Upgrade lodash to 4.17.15 for security vulnerability (#2148)
There was a prototype pollution vulnerability in 4.17.11 that is
unlikely to have high impact on Fleet due to all JS executing on the
client side. Upgrading lodash to satisfy security warnings from
Github.
2019-11-12 14:39:38 -08:00
Brendan Shaklovitz
b92c0d3dd6 Update JS deps for node-sass fix (#2126)
Node-sass was broken due to a newer version of NodeJS.
2019-11-07 08:33:04 -08:00
Zachary Wasserman
7b1ecc0c28
Upgrade to Webpack 4 (#2079) 2019-07-29 09:40:16 -07:00
Zachary Wasserman
26ff78fcf3
Upgrade JS dev dependencies for Node compatibility (#2075) 2019-07-15 10:46:12 -07:00
seph
7f316bf306
Upgrade lodash (#2005)
There’s a minor security alert in lodash < 4.17.11.  Update to quiet security scanners
2019-03-07 14:59:11 -05: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
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
Kyle Knight
47664009b9 Update dependencies to latest minor releases (#1803) 2018-06-04 09:58:14 -06:00
Zachary Wasserman
71ba2bcbf2
Update JS deps for node-sass fix (#1745)
Node-sass was broken due to a newer version of NodeJS.
2018-04-30 14:22:50 -07:00
Kyle Knight
78b831a6d2 Hosts Pagination (#1594) 2017-11-07 12:54:56 -05:00
Kyle Knight
a64d88ff67 Update Webpack to v2 (#1393) 2017-03-13 15:13:33 -04:00
Mike Stone
a56dba63a2 Get app to work in IE (#1344)
* Use lodash for endsWith support
* Fix IE Promise and Object.assign
2017-03-03 12:21:07 -05:00
Zachary Wasserman
3d6ca7d5a4 Use sockjs to gracefully degrade websockets (#1255)
Use the [SockJS Protocol](https://github.com/sockjs/sockjs-protocol) to handle
bidirectional communication instead of plain websockets. This allows
distributed queries to function in situations in which they previously failed
(Load balancers not supporting websockets, issues with Safari and self-signed
certs, etc.).

Also includes fixes to the JS message handling logic where slightly different
message delivery semantics (when using XHR) were exposing bugs.

Fixes #1241, #1327.
2017-03-01 13:14:26 -08:00
Zachary Wasserman
f4060402f4 Migrate NPM to Yarn (#1197)
- Modify `make deps` to use yarn
- Add `yarn.lock`
- Add yarn to `kolide-builder` docker image
- Remove `npm-shrinkwrap.json`
- Remove build for `node-sass` (fixes #1151)
2017-02-10 10:22:26 -08:00
Mike Stone
9ef04d8f16 Locks jsdom at version 9.9.1 (#1187) 2017-02-07 19:43:19 -05:00
Zachary Wasserman
1742ad3a9e Fix and re-enable query syntax checking (#1150)
- Upgrade sqlite-parser version
- Revert "Stop validating query syntax (#1090)"
- Update tests
2017-02-02 10:36:05 -05:00
Mike Stone
e18f93de02 Wait for API calls to complete before rendering page (#1117) 2017-01-27 10:05:44 -05:00
Mike Stone
378bf5571b connect new host enrollment (#1072) 2017-01-20 20:16:00 -05:00
Jason Meller
35c7fd6e03 Build assets for production (#1022) 2017-01-19 10:24:10 -05:00
Mike Stone
0753510cc3 Makes items routable on the Manage Hosts Sidebar (#592)
* Makes items routable on the Manage Hosts Sidebar

* slugify active label
2016-12-12 11:48:50 -05:00
Victor Vrantchan
cf77cac929 pin typescrypt to not update minor version (#597)
ts does not seem to follow SemVer and introduces breaking changes in 2.1
2016-12-08 14:05:41 -05: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
01e7ac2b6c Create query (#382)
* API call to create queries

* Add queries to redux

* create query when query form is submitted

* Redirect to ShowQueryPage after creating query

* Removes theme dropdown and NewQuery component header

* Extract NewQueryPage component state to redux state

* Pass logic down to NewQuery component as props

* Changes NewQuery component name to QueryComposer

* Render NewQueryPage for /queries/:id route

* Update ReduxConfig for loading a single resource

* QueryPage tests

* Get query when the query page loads

* catch errors when query is invalid

* Renames UpdateQueryForm to QueryForm to re-usability

* Changes InputField to a controlled component

* Always render the Query Form on Query Pages
2016-11-07 11:42:39 -05:00
Kyle Knight
ca33d238d8 Converting JS/Radium styles to SCSS (#360) 2016-11-03 14:40:54 -05:00
Mike Stone
94106f87e4 Resolve import paths from the frontend directory (#396) 2016-11-02 11:54:43 -04:00
Mike Stone
cd7f925fdb Typescript (#355) 2016-10-31 17:02:06 -04:00
Kyle Knight
4c6c0a2b05 Adding scss-lint and cleaning up styles (#354) 2016-10-28 16:25:57 -05:00
Mike Stone
e2a5502e21 Select targets (#340)
* 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
2016-10-27 12:14:30 -04:00
Mike Stone
ee3d96eb53 Update eslint (#337)
* 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
2016-10-21 19:13:41 -04:00
Mike Stone
aa275751b2 Client side query validation (#335)
* validate query text

* Update structure of submitted SaveQueryForm data

* form calls correct prop function when invalid query text

* Lowercase directory names
2016-10-21 17:58:13 -04:00
Mike Stone
10c32bc47f Adds missing packages for style imports (#336) 2016-10-21 17:22:57 -04:00
Mike Stone
1acd011ca9 Show hosts page (#311)
* 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
2016-10-17 14:55:03 -04:00
Mike Stone
58c3733524 Add hosts (#294)
* 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
2016-10-11 12:10:41 -04:00
Mike Stone
23ffa5be62 Query side panel (#269)
* 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
2016-10-11 11:32:39 -04:00
Mike Stone
facee9bd89 Target input select (#272)
* Adds react-select package

* Implement react-select for selecting query targets

* log all form data when a query is run
2016-10-04 18:11:52 -04:00
Mike Stone
6ebc460b66 Admin user management (#233)
Admin user management page
2016-10-03 13:54:22 -04:00
Mike Stone
32f291a064 New query page (#254)
* Sidebar/Layout improvements

* New Query route and page

* Display text editor

* Gradient style longhand

* Slider button component

* Move new query section to component

* Kolide Ace theme

* Styles slider on page

* run query on CMD + Enter

* clicking hosts sends user to homepage

* SaveQueryForm component

* Splits NewQuery component JSX into multiple dumb components

* InputField component

* save query form

* new query

* styleguide

* moves all new query form logic to the new query form

* Kolide theme for osquery tables
2016-09-30 14:55:15 -04:00
Jason Meller
1409c294af Add awesome card stacking animations on login (#246)
* Add awesome card stacking animations on login

* Fix linter error

* Fix proptypes warning and clean up if/then logic

* True up vh units

* Make logout pixel perfect with login form
2016-09-28 03:16:09 -07:00
Mike Stone
bfb74b5974 Removes duplicate package: react-dom (#240) 2016-09-26 10:11:37 -07:00
Jason Meller
55307de42d SCSS Pipeline and style fixes (#229)
* Add SCSS pipeline and fix login style issues

* Fix nav styles and make tests pass

* Fix nav header styles and animations

* Change font-size to 13px on nav

* Fix duplicate specificity of styles
2016-09-23 14:04:01 -04:00
Mike Stone
dd1565936b Logout (#195)
* moves login page styles to reusable component

* Redirects successful login to homepage after 3s

* Adds logout form

* Adds logout page

* Adds logout link to homepage

* Adds gravatarURL to logged in user

* Configure API Client to hit /me endpoint

* Fetch user when the app loads

* Configured API Client to make logout requests

* Handle logout flow in redux

* Logout form styles

* Logout user when the logout form is submitted
2016-09-19 16:43:35 -07:00