Commit graph

1299 commits

Author SHA1 Message Date
Zach Wasserman
f62dc055ee
Improve fleetctl preview startup experience (#60)
- Rearrange messaging to appear during waiting time.
- Reduce wait time by limiting backoff timer
2020-11-20 15:37:14 -08:00
noahtalerman
23ce98ec51
Add Nunito Sans font and update global styles. (#59)
This is the first PR as a part of the Fleet UI Refresh #38.

Changes include:

- Add Nunito Sans font files and modify global styles to reflect the font change.
- Modify global font variables to reflect new sizing and weight naming conventions.
-- New sizing and naming conventions:
--- SIZE: xx-small: 12px, x-small: 14px, small: 16px, medium: 20px, large: 24px, x-large: 28px
--- WEIGHT: regular: 400, bold: 700
- Remove the old Oxygen font files.

Changes to other style sheets reflect the changes to the new font sizing and weight naming conventions for global variables. The changes don't necessarily use the correct size (as illustrated by mockups). Those "up to spec" sizing changes are to come.
2020-11-19 16:51:22 -08:00
noahtalerman
d3d4f81530
Add instructions for running osquery agents to development docs. (#58)
Used same verbiage from osquery-in-a-box README (https://github.com/fleetdm/osquery-in-a-box#run-osquery).
2020-11-19 16:36:27 -08:00
Zach Wasserman
45dbcebeb4
Upgrade NPM package to 3.4.0 (#54) 2020-11-19 15:58:54 -08:00
Mike McNeil
df3b7f2852
Has anyone stress tested Fleet? (#49)
Update FAQ with answer to this question.
2020-11-19 15:53:12 -08:00
Zach Wasserman
cf73b13890
Update changelog for 3.4.0 release (#53) 2020-11-18 13:49:31 -08:00
Zach Wasserman
d89523c830
Add fleetctl installer for NPM (#52)
This PR adds all the necessary configuration to install fleetctl via NPM.

Binaries are downloaded from the GitHub release page.
2020-11-18 13:20:08 -08:00
Zach Wasserman
ff26a614ef
MVP of fleetctl preview command (#51)
This adds a `fleetctl preview` command to fleetctl that will download
and start https://github.com/fleetdm/osquery-in-a-box. This is
potentially the easiest way for a user to try out Fleet.
2020-11-18 13:16:18 -08:00
Zach Wasserman
eea6aa5c64
Fix unexpected print of migration status warning (#50)
Replace the now-deleted migration
server/datastore/mysql/migrations/data/20181119180000_DeleteSoftDeletedEntities.go
with a new migration containing the same timestamp. This allows Fleet to
see the appropriate migration state for users upgrading from previous
versions without actually modifying the DB.

Fixes #48
2020-11-18 11:44:06 -08:00
Zach Wasserman
e7912c2d31
Minor code/comment cleanups (#47)
- Fixes an initialization error panic to a fatal log
2020-11-18 11:10:55 -08:00
Zach Wasserman
0bb9d69ece
Add debug endpoints and associated fleetctl commands (#45)
Adds endpoints and fleetctl commands to retrieve various debug profiles
from the Fleet server.

The best summary is from the help text:

```
fleetctl debug
NAME:
   fleetctl debug - Tools for debugging Fleet

USAGE:
   fleetctl debug command [command options] [arguments...]

COMMANDS:
   profile    Record a CPU profile from the Fleet server.
   cmdline    Get the command line used to invoke the Fleet server.
   heap       Report the allocated memory in the Fleet server.
   goroutine  Get stack traces of all goroutines (threads) in the Fleet server.
   trace      Record an execution trace on the Fleet server.
   archive    Create an archive with the entire suite of debug profiles.

OPTIONS:
   --config value   Path to the Fleet config file (default: "/Users/zwass/.fleet/config") [$CONFIG]
   --context value  Name of Fleet config context to use (default: "default") [$CONTEXT]
   --help, -h       show help
```
2020-11-17 17:12:37 -08:00
Zach Wasserman
ab94d94da0
Fix fleetctl Windows issues (#40)
- Properly set the path for the config file on Windows.
- Check for appropriate settings for TLS config.

Fixes #39
2020-11-17 16:02:14 -08:00
noahtalerman
ecf6fd1c91
Add instructions to connect to Mailhog server in development docs. (#46)
Added walkthrough for users attempting to connect to MailHog server.

Connecting to the simulated mail server allows contributors to interact with features in Fleet UI that require email configuration.
2020-11-17 15:20:46 -08:00
noahtalerman
74700fc2fb
Linked development-infra docs from building-the-code docs. (#41)
Added link to development-infrastructure docs at the end of building-the-code docs to walk contributors to the next step of serving Fleet locally.

Added --auth_jwt_key="insecure" flag to fleet serve command in development-infrastructure docs.
2020-11-16 11:50:58 -08:00
billcobbler
618ba56484
Add host additional info filters (#28)
This change adds the ability to filter additional host info via the list hosts endpoint; a continuation from [here](https://github.com/kolide/fleet/pull/2330), but now filtering is accomplished via SQL. 

Additional object without filter:
```
curl 'https://localhost:8080/api/v1/kolide/hosts'
...
"additional": {
        "macs": [
          {
            "mac": "00:00:00:00:00:00"
          },
          {
            "mac": "02:42:c0:a8:10:05"
          }
        ],
        "time": [
          {
            "day": "13",
            "hour": "3",
            "year": "2020",
            "month": "10",
            "minutes": "43",
            "seconds": "11",
            "weekday": "Tuesday",
            "datetime": "2020-10-13T03:43:11Z",
            "iso_8601": "2020-10-13T03:43:11Z",
            "timezone": "GMT",
            "timestamp": "Tue Oct 13 03:43:11 2020 UTC",
            "unix_time": "1602560591",
            "local_time": "1602560591",
            "local_timezone": "UTC"
          }
},
...
```

Additional object with filter:
```
curl 'https://localhost:8080/api/v1/kolide/hosts?additional_info_filters=macs,notreal'
...
"additional": {
        "macs": [
          {
            "mac": "00:00:00:00:00:00"
          },
          {
            "mac": "02:42:c0:a8:10:05"
          }
        ],
        "notreal": null
},
...
```
2020-11-13 16:33:25 -08:00
Zach Wasserman
8f435a95ba
Allow @ character in usernames (#37)
PR #9 unintentionally exposed the validation that prevented the @
character in usernames. We have decided there is no reason to block this
character.

Fixes #36
2020-11-13 15:52:20 -08:00
Zach Wasserman
6cbd10965c
Add dev infrastructure and docs for Prometheus monitoring (#33)
- Set up a simple example of Prometheus monitoring in the development
  docker-compose.yml.
- Add documentation for configuring Prometheus.
2020-11-12 19:06:56 -08:00
Zach Wasserman
138329c371
Fix markdown documentation links (#35)
- Update/remove broken links
- Add appropriate ignore rules for example URLs and osquery site
2020-11-12 19:06:06 -08:00
Zach Wasserman
ebd355c52c
Add markdown link check to CI (#34) 2020-11-12 18:20:30 -08:00
Zach Wasserman
89c775dd95
Include fleetctl binary archives in release (#31)
This adds tooling to include fleetctl binaries (in separate .tar.gz
archives for each platform) in the release.
2020-11-12 18:03:01 -08:00
noahtalerman
6536ba6ab7
Removed $ character from all shell commands in docs. (#32)
$ character is now removed from all shell commands in markdown documentation.

When docs are eventually compiling to we can add $ automatically to code blocks.
2020-11-12 13:50:08 -08:00
noahtalerman
227f854d8f
Beginning of REST API documentation. Added info for /hosts endpoint. (#29)
The beginning of REST API documentation for Fleet.
Added information and example for the /hosts endpoint.
2020-11-12 12:20:39 -08:00
noahtalerman
0085ba4246
Answer to database connection error added to infrastructure faq. (#30)
My best attempt at steps to solve the common database connection error users receive when installing or updating Fleet.

Inserted 'Why am I receiving a database connection error when attempting to "prepare" the database?'.

Also simplified the answer to "Is Fleet available as a SaaS product?".
2020-11-12 10:09:02 -08:00
Mike Arpaia
af96e52a00
Update the Go import paths to new repo name (#27) 2020-11-11 09:59:12 -08:00
Zach Wasserman
fb22ec5291
Add transition note to readme (#26) 2020-11-05 08:09:38 -08:00
Mike McNeil
ab738f1c34
continuity (#25) 2020-11-05 08:37:29 -06:00
Mike McNeil
6d4fa6959d
Create README.md (#24) 2020-11-05 08:35:50 -06:00
Zachary Wasserman
ecacbbd663
Update Docker image name in Makefile (#23)
One additional spot that was missed previously.
2020-11-04 22:16:51 -08:00
Zachary Wasserman
f93a952d20
Changelog for 3.3.0 release (#18) 2020-11-04 21:52:43 -08:00
Zachary Wasserman
f08557d33b
Update Slack channel names (#22) 2020-11-04 21:52:20 -08:00
noahtalerman
ecacbf212b
Changes to additional links for transition to fleetdm (#21) 2020-11-04 21:48:39 -08:00
Zachary Wasserman
394e5a2e86
Update Docker image name in Makefile (#19) 2020-11-04 21:36:25 -08:00
noahtalerman
0ff621670c
Changed the Help link and other links to fleetdm/fleet documentation 2020-11-04 21:36:06 -08:00
Zachary Wasserman
a1720db58e
Fix regression creating packs (#17)
This is another error introduced in
https://github.com/kolide/fleet/pull/2327 we did not catch previously
due to insufficient unit test coverage. Test is now added.
2020-11-04 21:18:02 -08:00
Zachary Wasserman
1fbc4b3035
Remove erroneously added __debug_bin (#16) 2020-11-04 20:51:44 -08:00
Mike McNeil
d4a39de607
Branding (shallow first pass) (#12)
This is just favicons and pngs - more to do here later.  But this does the easy ones.
2020-11-04 20:48:01 -08:00
Zachary Wasserman
e452cc6a8a
Add file carving support (#15)
- Add endpoints for osquery to register and continue a carve.
- Implement client functionality for retrieving carve details and contents in fleetctl.
- Add documentation on using file carving with Fleet.

Addresses kolide/fleet#1714
2020-11-04 20:45:16 -08:00
Zachary Wasserman
43eb8bcef5
Update README URLs (#14) 2020-11-04 20:36:49 -08:00
Mike McNeil
660289e89d
Add GOPATH tips to contributor docs (#13) 2020-11-04 20:29:27 -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
Mike McNeil
222cdc7115
Update LICENSE (#10)
inspired by 22ba38a698/LICENSE
2020-11-04 19:57:51 -06:00
Zachary Wasserman
a36bef6c16
Improve "Add New Host" dialog (#8)
- Allow download of enroll secret, server certificate, and flagfile.
- Hosts can now be added following instructions directly.
2020-11-04 17:07:58 -08:00
Zachary Wasserman
7c923d9d19
Implement fleetctl user create (#9)
- Allow user creation via `fleetctl user create`
- Cleanup and rename existing methods for clarity

Fixes https://github.com/kolide/fleet/issues/2306
2020-11-04 17:06:55 -08:00
Zachary Wasserman
fca44bb032
Make enroll secret and node key validation case-sensitive (#5)
- Modify column collation to make comparisons case-sensitive.
- Add tests for case-sensitivity.

Fixes https://github.com/kolide/fleet/issues/2333
2020-11-04 12:09:00 -08:00
noahtalerman
d604c6a106
Updated 500 page copy and added button to reveal error message. (#1)
Updated the 500 page component to render a "SHOW ERROR" button.

This button is only rendered if the errors slice of the state contains an error and the base property exists. Otherwise, the 500 page will not render this button because there is no error message to show the user.

Created a errors500 reducer and actions to update the state tree when a 500 error occurs. When 500 error occurs, the errors slice of state is updated with the error object. When the 500 page component unmounts the error object is removed from state.

Demo: https://www.loom.com/share/b87c4aee42274e7bb553e703d3f950c6
2020-11-04 12:07:53 -08:00
Zachary Wasserman
2e333a4e2e
Fix regression in list hosts (#6)
Changes in https://github.com/kolide/fleet/pull/2327 broke the MySQL
syntax for listing hosts with online status. This was not caught due to
the lack of a unit test for the functionality. This PR adds a unit test
and fixes the regression.
2020-11-04 12:03:06 -08:00
Zachary Wasserman
f06c3cff93
Add pretty-printing option for query results (#4)
Use --pretty to enable this feature.

This will likely break on non-ANSI terminals.
2020-11-04 09:56:57 -08:00
Zachary Wasserman
72b0efca62
Fix handling of --quiet flag in fleetctl query (#2)
Fixes an issue in which the status was erroneously displayed after results were printed.
2020-11-03 15:50:36 -08:00
noahtalerman
be28d8e3c6
Update build documentation (#3)
Co-authored-by: Mike McNeil <7157539-mikerlmcneil@users.noreply.gitlab.com>
2020-11-03 15:18:45 -08:00
Brendan Shaklovitz
c6b285c56e
Remove soft-deletion pattern (#2327)
* Perform migration to delete any entries with `deleted` set, and
subsequently drop columns `deleted` and `deleted_at`.
* Remove `deleted` and `deleted_at` references.

Closes #2146
2020-10-22 10:51:26 -07:00