Commit Graph

148 Commits

Author SHA1 Message Date
Jason Meller
665aac54cb Various css tweaks (#224)
* Ensure login background remains centered

* Update Kolidecons to the latest version
2016-09-21 12:48:07 -04:00
Mike Arpaia
d5d3d4ce17 Updating some docker compose functionality (#220)
close #210
2016-09-21 08:22:53 -04:00
Zachary Wasserman
8f16bd8bcc Send configuration + label queries in distributed reads (#215)
This PR is the beginning of distributed query work. For now we are focusing on using the distributed query subsystem to retrieve the basic configuration information (currently just platform), and run the label queries.

A mockable clock interface is also added to the service struct, allowing us to inject a clock as a dependency, and write unit tests that can control the time.
2016-09-20 20:08:11 -07:00
Mike Stone
bba69412b9 Side panel (#216)
* admin layout component

* Admin Dashboard page

* styleguide

* AdminSidePanel component

* Use Kolide logo

* Renames AdminSidePanel to SidePanel

* Avatar component to render user's gravatar image

* Adds CoreLayout with rendered SidePanel
2016-09-20 20:07:32 -07:00
Mike Arpaia
b1a4036145 Table test style creation of dev users (#218) 2016-09-20 20:07:18 -07:00
Mike Arpaia
c972e031c7 Make utility to run server in dev mode (#219)
Often when I'm building, I'll do the following:

```
make generate
make build
./build/kolide.exe serve --dev
```

It would be nicer if I could just use make to run the dev server instead
of having to type out the full path every time:

```
make generate
make build
make run
```
2016-09-20 16:26:44 -07:00
Mike Stone
eb13b33b4d Use the window location origin as the API origin (#217) 2016-09-20 15:36:36 -07:00
Jason Meller
7a30db5772 Add custom icon font for front-end use (#212) 2016-09-20 15:23:24 -04:00
Victor Vrantchan
45d6b1e32f Auth errors (#185)
Return well formatted authentication errors to the client
Log the reason for an error serveside but return a masked/generic reason to the client
Assert go errors by behavior rather than type.
2016-09-20 15:22:54 -04:00
Victor Vrantchan
21944bcc29 add missed fields on user (#213)
* add missed fields

* check for nil on optional values first
2016-09-20 14:54:20 -04:00
Mike Arpaia
6ef0c79592 Fixing order issues with Webpack and removing bail switch (#214) 2016-09-20 11:54:07 -07:00
Mike Stone
2f5ee8607d Authenticated routes (#207)
* Redirects authenticated routes to /login when user not authenticated or loading

* Redirect to login when call to get user fails
2016-09-20 11:17:31 -07:00
Mike Arpaia
d2f1e749ab Fixing Makefile for OS X (#211) 2016-09-20 11:03:42 -07:00
Mike Stone
5f1fc8123f Button style changes (#188)
* GradientButton style improvements

* SVG variant cleanup

* client side validations
2016-09-20 10:43:46 -07:00
Mike Stone
8878acd848 Moves static images to the assets directory (#205) 2016-09-20 10:40:13 -07:00
Mike Arpaia
9ba53333fd README and CONTRIBUTING documentation (#199) 2016-09-20 10:32:00 -07:00
Victor Vrantchan
973ef9dbd1 User response - job position (#208)
* add job role to user reponses

* add test user job role
2016-09-20 13:03:51 -04:00
Mike Arpaia
225afb750f Clean and organize mocha test configurations (#202) 2016-09-20 09:42:46 -04:00
Mike Arpaia
4b425eb524 ESLint fixes and cleaning (#203) 2016-09-20 09:42:08 -04:00
Mike Arpaia
aacd1d6b9c Removing underscored import of config from main (#200)
This should no longer be necessary.
2016-09-20 06:48:45 -04:00
Mike Arpaia
ff94c091bd Removing keep files (#201) 2016-09-20 06:47:57 -04:00
Mike Arpaia
52dee0e379 Removing old gitignore lines (#204) 2016-09-20 06:47:23 -04:00
Mike Arpaia
942df18a63 Updates to Makefile (#197) 2016-09-19 19:37:47 -07: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
Mike Arpaia
428351d3a8 Serializable config types (#141) 2016-09-19 16:11:39 -07:00
Victor Vrantchan
2f8db0d184 render react template from binaryfs (#196)
Closes #194 
* render react template from binaryfs
2016-09-19 19:06:41 -04:00
Victor Vrantchan
e296098131 Docker Push of new builds (#192)
* wip

* add build step

* remove filter?

* circle does not rebuild on force push

* circle does not rebuild on force push

* add branch filter

* use build flag on builder

* push

* add circle env variable set

* redeploy
2016-09-19 15:54:57 -07:00
Victor Vrantchan
2ba72e2786 add authentication/nil check for /me endpoint to prevent panic (#193)
* add authentication/nil check for /me endpoint to prevent panic

* update function call
2016-09-19 13:50:31 -07:00
Mike Stone
6581b10b89 Debounce utility to only allow 1 click per second (#190) 2016-09-19 11:41:47 -07:00
Mike Stone
09178a9ee8 Autofocus first field on forms (#191) 2016-09-19 14:33:43 -04:00
Mike Stone
0e08a6e698 Reset password page submit (#184)
* API client sends reset password requests

* ResetPasswordPage actions and reducer

* Reset password happy path
2016-09-19 11:35:38 -04:00
Mike Stone
482d025d05 Reset password page (#181)
* Extracts stacked boxes UI to a re-usable component

* Presence validator

* Equality validator

* Adds ResetPasswordFrom

* PasswordResetPage component and route

* Ex icon on forgot pw page goes to login

* Smooth out the fonts so they match the mocks

* Remove dynamic background and refactor colors
2016-09-16 17:19:37 -04:00
Mike Stone
cfdd665673 Fixes multiple logos on login successful page (#173) 2016-09-16 10:32:54 -07:00
Victor Vrantchan
1de9f6bd89 nicer validation errors (#180) 2016-09-16 11:23:48 -04:00
Mike Stone
5ea9115a95 Forgot password submit (#168)
* Authentication middleware

* API client refactor

* Configure API client to make forgot_password requests

* Successfully submit forgot password form

* Display server errors for unknown email address
2016-09-16 09:55:46 -04:00
Victor Vrantchan
a069ec9acf add devMode MailService to speed up testing (#178)
running with the dev flag will print the content of an email to stdout
2016-09-16 08:55:09 -04:00
Victor Vrantchan
f46a951da3 Add /me route (#177)
* i like how I wrote this to never call svc direcly

* rename func

* apparently not everywhere

* add service method for authenticated user

* oops forgot to check this in
2016-09-15 21:35:52 -07:00
Zachary Wasserman
fab4759926 Fix bug creating session with 0 timestamp (#171)
If AccessedAt is left in the zero value, MySQL will complain with the following
error: Error 1292: Incorrect datetime value: '0000-00-00' for column 'accessed_at' at row 1. Now we initialize AccessedAt when creating a new
session.
2016-09-15 15:53:47 -07:00
Victor Vrantchan
0ac63c9963 Allow with Logins with email address (#174)
The Auth service now accepts emails in the username field
The UserService now rejects user creation if the user has @ in the username.
2016-09-15 15:27:55 -04:00
Zachary Wasserman
f968ae3f8f Default to MySQL store and add --dev flag (#170)
Switches the default datastore back to MySQL, and adds a --dev flag to the
serve command that will cause the in-memory datastore to be used.

Closes #166
2016-09-15 10:20:36 -07:00
Zachary Wasserman
0702dccb7f Only attempt to parse config file if it is specified by flag (#169)
Previously, the behavior was to search for the config file in a variety of
locations. Now we only attempt to load a config file if it has been explicitly
specified with `-c` or `--config`.

Fixes #165.
2016-09-15 08:44:05 -07:00
Victor Vrantchan
df19fd4b7c Update users service (#156)
Closes #144 #145 #160 
Implements PATCH method on user and endpoint middleware for authnz
Implements `reset_password` (with token) and `forgot_password` endpoints
Added godoc comments for UserService interface
Shift to using testify/assert in test code
Multiple fixes/changes to the UserService API
2016-09-15 10:52:17 -04:00
Mike Stone
40af0d29ef Forgot password (#162)
* GradientButton components

* Style guide updates

* Display errors and override styles for InputFieldWithIcon

* Envelope Icon

* Login page form submission (#157)

* API client utility

* moves test helpers to the test directory

* Utility to namespace local storage keys

* LoginSuccessfulPage component

* Check icon

* adds auth to redux state

* successful form submission

* Allow tests to load dummy SVG static images & test fixes

* ForgotPassword Page, Form & route

* Email validator
2016-09-14 16:31:54 -04:00
Zachary Wasserman
713c248f2e Simplify test error check (#167) 2016-09-14 12:15:14 -07:00
Mike Arpaia
e8384a7655 assertifying the tests (#163) 2016-09-14 11:40:51 -07:00
Victor Vrantchan
da05e360ac print version info (#164)
add version package and print version commands
make build now sets build info like git branch and revision when creating a binary.
2016-09-14 13:19:11 -04:00
Zachary Wasserman
885db1a597 Refactoring for config patterns (#159)
This PR refactors most of the codebase to use the new config patterns implemented in #149. Now the core service keeps a copy of the KolideConfig struct, and service methods can reference the configuration in that struct when they need it. The most significant refactoring is in the sessions code, separating the business logic from the storage layer.
2016-09-14 09:11:06 -07:00
Mike Stone
b638ae186d Login page form submission (#157)
* API client utility

* moves test helpers to the test directory

* Utility to namespace local storage keys

* LoginSuccessfulPage component

* Check icon

* adds auth to redux state

* successful form submission

* Allow tests to load dummy SVG static images & test fixes
2016-09-13 22:43:26 -07:00
Zachary Wasserman
6cb05a58e6 Pattern for defining and loading application configuration (#149)
This provides a new pattern for defining and loading configuration for the Kolide server. With this PR, configuration is stored in the `config.KolideConfig` struct, and loaded through `config.Manager`. Refer to the patterns in `config/config.go` and `cli/prepare.go` to see how configuration is defined and used.

A follow-up PR will work on removing further references to `viper` throughout the codebase, instead preferring to access configuration through the strongly typed `KolideConfig`.
2016-09-12 10:26:56 -07:00
Mike Arpaia
370cc4efa8 rm .vscode 2016-09-12 09:29:30 -07:00