Commit Graph

367 Commits

Author SHA1 Message Date
Noah Talerman
249927f750
Prepare for Fleet 4.5.0 release (#2741) 2021-11-01 11:39:55 -04:00
Zach Wasserman
8dc34be3a3
Updates and fixes for packaging (#2682)
- Fix Windows MSI generation by changing permissions (#2655).
- Refactor temp directory initialization.
- Use root user for Wine in WiX Docker container.
- Support .pkg packaging on Linux without dependencies (besides Docker)
2021-10-27 16:17:41 -07:00
Zach Wasserman
32bee9f975
Update fleetctl NPM dependencies (#2658)
These dependencies had vulnerabilities that caused alerting on `npm
install` and in GitHub.

The vulnerabilities did not effect the use in our context.
2021-10-24 19:24:44 -07:00
Benjamin Edwards
0fb6416d45
Add Cloudwatch monitoring to AWS Terraform configs (#2485)
* add support for minio backend file carving
* add changes file
* rds alarm and sns topic
* added cloudwatch alarm documenation
* Update docs/01-Using-Fleet/06-Monitoring-Fleet.md
* update aws provider version to fix bug in ecs container insights, add more redis alerts
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-10-22 15:38:00 -04:00
Zach Wasserman
03b81245ee
Update files for 4.4.3 release (#2636) 2021-10-22 09:41:50 -07:00
Lucas Manuel Rodriguez
91ae5ba870
By default, force password reset on CreateUser (#2570)
* By default, force password reset on CreateUser

* Use ptr.Bool and add test

* Add changes file

* Simple fix for e2e tests

* Add API changes
2021-10-21 15:00:38 -03:00
Zach Wasserman
42c7933b22
Add WiX Dockerfile and update image name (#2548)
Use a different base image and newer version of Wine to try to mitigate
crashes experienced by users in #2527.
2021-10-20 15:30:46 -07:00
Martin Angers
07cf136d03
Add TLS support to Redis connections (#2568) 2021-10-20 10:09:18 -04:00
Martin Angers
eda6d60be8
Add replicas to the redis docker-compose setup. (#2511) 2021-10-18 08:33:26 -04:00
Zach Wasserman
a6e8f22d83
Update changelog and configs for patch releases (#2531) 2021-10-14 18:17:47 -07:00
Tomas Touceda
d904d501ac
Add infra for loadtest (#2218)
* Add infra for loadtest

* Move loadtest stuff to a new file and parametrize fleet min/max capacity

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update to be ready for review

* Update link and other variables needed

* Address review comments and update links
2021-10-14 12:04:27 -03:00
Benjamin Edwards
16c5823692
add support for minio backend file carving (#2448)
* add support for minio backend file carving
* add changes file
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2021-10-12 15:32:06 -04:00
Luke Heath
94a10cb6b9
Update README.md 2021-10-12 10:02:31 -05:00
RachelElysia
981028705e
Sentence Case: Throughout UI, tests, validators, docs (#2455) 2021-10-11 10:58:27 -04:00
Zach Wasserman
e61dc765fd
Prepare for 4.4.0 release (#2423) 2021-10-06 14:14:12 -07:00
Zach Wasserman
980a853e3c
Update changelog for 4.3.2 release (#2276) 2021-09-30 15:23:22 -07:00
Benjamin Edwards
1cc68eea3f
Feature/infra updates (#2183)
* complete terraform state migration

* split firehose results & status streams

* extract more variables, with sane defaults

* fix fargate configs
2021-09-30 16:22:34 -04:00
Zach Wasserman
e03b2c7ee3
Remove erroneously included infra files (#2179)
Nothing sensitive was included.
2021-09-22 09:53:41 -07:00
Renee Jackson
ca27bd9d5c
fix broken links by adding missing 0 (#2187)
* fix broken links by adding missing 0

* fix broken links take 2

gather links missed in first pass
2021-09-22 13:28:25 -03:00
Zach Wasserman
4d36400fe5
Prepare for 4.3.1 release (#2177) 2021-09-21 18:23:11 -07:00
Benjamin Edwards
fd4c90eddf
terraform reference arch (#1761)
* terraform initial architecture
* added ecs autoscaling and https alb listener
* add r53 hosted zone, dns cert verification, http -> https redirect
* fleet dogfood env dogfood.fleetdm.com now configured, added license key, added readreplica settings, enabled vuln processing
* add comment about using RDS serverless option
2021-09-21 14:19:19 -04:00
Martin Angers
4f4185372d
Add support for context in datastore/mysql layer (#1962)
This is just to pass down the context to the datastore layer, it doesn't
use it just yet - this will be in a follow-up PR.
2021-09-14 08:11:07 -04:00
Zach Wasserman
86044eb036
Prepare for v4.3.0 release (#2040) 2021-09-13 15:03:42 -07:00
Tomas Touceda
6d2ae02efd
Rename core->free and basic->premium (#1870)
* Rename core->free and basic->premium

* Fix lint js

* Comment out portion of test that seems to timeout

* Rename tier  to premium if basic is still loaded
2021-09-03 13:05:23 -03:00
Tomas Touceda
df135f57a9
Update changelog and versions to 4.2.4 (#1921)
* Update changelog and versions to 4.2.4

* Update CHANGELOG.md

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>

Co-authored-by: noahtalerman <47070608+noahtalerman@users.noreply.github.com>
2021-09-02 16:50:11 -03:00
Martin Angers
9a0871a2f1
Address issues related to Redis Cluster support (#1885)
Closes #1847 .
2021-09-01 16:32:57 -04:00
Zach Wasserman
801f44da86
Update changelog for Fleet 4.2.3 (#1811) 2021-08-25 20:11:45 -07:00
Tomas Touceda
a8642493ad
Add global policies (#1750)
* Add global policies

* Update documentation and add extra parameter to config

* Fix failing tests

* Store historic policy records

* Address review comments

And also remove other inmem references I saw by chance

* Add documentation for get by id request

* Add parameter doc

* Move schema generation to a cmd instead of a test

Otherwise it messes up running all tests sometimes depending on how parallel it does

* Remove brain dump for another task

* Make migration tests a separate beast

* Make schema generation idempotent and move dbutils cmd to tools

* Allow all filters and add counts to Policy

* Add test for Policy
2021-08-24 17:24:52 -03:00
Zach Wasserman
de98d7fb9c
Prepare for 4.2.2 release (#1729) 2021-08-18 18:46:36 -07:00
Zach Wasserman
64145c5633
Prepare for 4.2.1 release (#1675) 2021-08-14 09:26:47 -07:00
Zach Wasserman
450e15b346
Update fleetctl for compatibility with new monorepo tags (#1654) 2021-08-14 09:22:07 -07:00
noahtalerman
2df7c71749
Prepare for Fleet 4.2.0 (#1645) 2021-08-11 17:14:32 -07:00
noahtalerman
cb10659277
Prepare for 4.1.0 (#1483) 2021-07-26 16:09:18 -04:00
Zach Wasserman
28627f9a71
Delete unused tools directories (#1403)
This tooling has been unused and unmaintained for years now.
2021-07-20 16:53:14 -07:00
Zach Wasserman
ce79c6afa0
Update development docker-compose.yml to use osquery 4.9.0 (#1410)
Also:
- Add Debian hosts.
- Use container images from osquery/osquery.
- Set platform to linux/x86_64.
2021-07-17 12:40:56 -07:00
Zach Wasserman
5865fa8cb6
Fix fleetctl NPM install with NPM 6 (#1389)
Fixes #1335
2021-07-14 15:01:05 -07:00
Zach Wasserman
fed68fcb62
Prepare for v4.0.1 release (#1283) 2021-07-01 16:25:18 -07:00
noahtalerman
b9dfbf0a7c
Prepare for 4.0.0 (#1258)
- Update CHANGELOG
- Edit Fleet version for Helm and NPM
- Add permalinks to Fleet product (links have been double checked)
2021-06-29 14:35:21 -04:00
Zach Wasserman
df2c45fee2
Fix NPM fleetctl with new release archive formats (#1238)
- Wrap extracted archives in directory.
- Adjust naming of archives and directories.
2021-06-28 11:10:46 -07:00
Zach Wasserman
b2390be608
Prepare for v4.0.0-rc3 (#1223) 2021-06-25 21:12:12 -07:00
Zach Wasserman
5e26af701b Merge branch 'main' into teams 2021-06-25 18:48:20 -07:00
Zach Wasserman
07b89c4cbd
Implement release automation (#1215)
- Use goreleaser to automate release process.
- Add new dockerfiles for fleet (with fleetctl) and fleetctl (only).
- Add GitHub Action Workflow to run goreleaser on new tag.
- Update NPM to match new archive naming.
2021-06-25 18:40:26 -07:00
RachelElysia
aeb852e168
Remove username from UI (#1168)
* Remove username from UI code
* Remove username from tests
* Remove username from database
* Modify server endpoints for removing username
* Implement backend aspects of removing username
* Update API docs
* Add name to fleetctl
2021-06-24 13:42:29 -07:00
RachelElysia
8900d1bea3
E2e test: Fleet basic observers - global and team only (#1118)
* Oliver flow with some stubbed code
* Create team observer only test user and stub test (Toni)
2021-06-21 21:29:59 -04:00
noahtalerman
e02b88d010
Update links to documentation so that they use main branch (#1151)
* Update to main branch

* Update link to releasing Fleet
2021-06-21 16:40:15 -05:00
noahtalerman
17a6c21224
Restructure documentation in preparation for docs living on fleetdm.com (#1143)
* Remove Orbit top level folder and rename folders to Deploying and Contributing

* Update link in doc README
2021-06-18 15:58:21 -05:00
noahtalerman
62e7c1699a
Add v to versioning for NPM package and Helm chart (#1145) 2021-06-18 16:40:51 -04:00
noahtalerman
d58986494b
Prepare for 4.0.0 RC2 (#1138) 2021-06-18 16:34:53 -04:00
Zach Wasserman
663641d521
Add commands for enrolling hosts in E2E tests (#1089)
- Add `addDockerHost` and `stopDockerHost` commands.
- Example usage in test.
2021-06-15 10:14:57 -07:00
noahtalerman
b78ab0e9ba
Update CHANGELOG and bump versioning for prerelease (#1051) 2021-06-10 12:15:38 -04:00
Zach Wasserman
8c97b36764
Set up Cypress testing for Teams/Tiers (#1005)
- Update names/roles of users in `make e2e-setup`.
- Update test SSO user info.
- Add Cypress commands for seeding users/Teams.
- Stub Cypress tests for team/tier matrix.
2021-06-09 11:56:59 -07:00
Zach Wasserman
f75a2fc739
Fix up test osquery tooling (#996)
- Update certificate paths.
- Update documentation to point to the appropriate docs.
2021-06-07 13:34:17 -07:00
Zach Wasserman
50ecb0aa2a
Change default database values in k8s yaml (#984) 2021-06-06 19:26:35 -07:00
Zach Wasserman
229a9afed2
Change name of localstorage auth token (#980) 2021-06-06 18:28:37 -07:00
Zach Wasserman
0356115b03
Remove JWT in Fleet session management (#979)
See #978 for motivations for this change.

Closes #978.
2021-06-06 18:10:58 -07:00
Zach Wasserman
7ff72f7ac1
Rename main frontend directory (#977) 2021-06-06 17:30:54 -07:00
Zach Wasserman
fb32f0cf40
Remove kolide types and packages from backend (#974)
Generally renamed `kolide` -> `fleet`
2021-06-06 15:07:29 -07:00
Zach Wasserman
fa01df79d5 Merge branch 'master' into teams 2021-06-05 06:27:38 -07:00
noahtalerman
7fd439f812
Prepare for Fleet 3.13.0 (#944)
- Add to CHANGELOG
- Bump versioning
2021-06-03 14:07:33 -04:00
Zach Wasserman
5c09f3e5e1
Make create_figma script executable (#927) 2021-06-02 11:49:57 -07:00
noahtalerman
2dca66c33d
Add Fleet Core and Fleet Basic user/team creation scripts for manual QA (#919)
- Add `teams/create_core` script
- Add `teams/create_basic` script
- Rename existing script to `teams/create_figma`
2021-06-01 14:50:07 -04:00
Zach Wasserman
a5bd03e5d7 Merge branch 'master' into teams 2021-05-31 10:56:50 -07:00
noahtalerman
4cca4e7e7f
Remove @fleetdm.com emails from fleetdm/fleet repo (#882)
- In tests and documentation, replace `@fleetdm.com` with `@example.com`
- In documentation, replace `hello@fleetdm.com` with `fleetdm.com/contact`
- In documentation, replace `security@fleetdm.com` with `fleetdm.com/contact`
- In Dockerfiles, replace `engineering@fleetdm.com` with `hello@fleetdm.com`. These two files are the only remaining files with a `@fleetdm.com` email.
2021-05-27 17:19:14 -04:00
Zach Wasserman
15b81824f5
Filter query page API responses based on team membership (#850)
- Include only hosts that the user has access to in search targets API.
- Add parameter to specify whether `observer` hosts should be included.
- Generate counts based on which hosts user can access.
- Update API doc.
2021-05-24 21:34:08 -07:00
Noah Talerman
72882e8f9f Merge branch 'master' into teams 2021-05-19 13:16:54 -04:00
noahtalerman
b072fd5fe5
Update CHANGELOG and bump versioning (#806) 2021-05-19 12:09:23 -04:00
noahtalerman
e18ab29906
Add bash script that creates 3 teams and 12 users to /tools/api (#779)
- Add a bash script that populates the Fleet UI with 3 teams and 12 users. 
- Rename the `/tools/api/kolide` directory to `/tools/api/fleet`
2021-05-17 19:11:11 -04:00
noahtalerman
9fb9da31f5
Bring Orbit docs into Fleet docs and add FAQ section (#717)
- Add new `2-Orbit-osquery/` directory to the top-level `docs/` directory.
- Rename `2-Deployment/` -> `3-Deployment/` to accommodate new Orbit directory.
- Rename `3-Contribution/` ->  `4-Contribution/` to accommodate new Orbit directory.
- Add FAQ section to Orbit documentation.
2021-05-04 15:50:18 -04:00
noahtalerman
b479adf0f4
Prepare for 3.11.0 (#690) 2021-04-28 12:11:02 -04:00
noahtalerman
f5e862a00d
Prepare 3.10.1 (#608) 2021-04-06 16:07:15 -07:00
noahtalerman
c46cedcfea
Prepare for 3.10.0 (#568) 2021-03-31 10:17:19 -07:00
Zach Wasserman
9ec122c249
Backup and restore for development database (#480)
Tooling to make backup and restore of the development database easy.
2021-03-16 08:33:42 -07:00
noahtalerman
b93b2c5b6a
Prepare for 3.9.0 (#428) 2021-03-09 11:17:42 -08:00
Zach Wasserman
499cd1d7dc
Prepare for 3.8.0 release (#352)
Update changelog, NPM package.json, Helm chart.
2021-02-25 09:14:29 -08:00
Zach Wasserman
a91a24bb58
Update fleetctl NPM package to 3.7.4 (#316)
This corresponds with the published 3.7.4 fleetctl release.
2021-02-15 10:44:57 -08:00
Zach Wasserman
da0bba7fe4
Use rimraf for rm -rf in fleetctl NPM install (#310)
Ubuntu 20.04 uses an older version of Node by default that does not
support the rmSync method we were using previously. This should extend
compatibility.
2021-02-14 16:40:22 -08:00
Zach Wasserman
4054959674
Update fleetctl NPM package to not use postinstall (#308)
We found in some environments users run `sudo npm install -g fleetctl`
to install via NPM, and NPM does not execute postinstall scripts when
run as root.

This new approach should be compatible with more environments as the
download of fleetctl is done as necessary when the script is invoked.
2021-02-14 15:54:13 -08:00
Zach Wasserman
d624e099fb
Deprecate environment variable prefix (#301)
- Support both `FLEET_` and `KOLIDE_` prefixes.
- Add logging about deprecated `KOLIDE_` prefix.
- Update documentation and sample configs.
2021-02-11 15:36:58 -08:00
Zach Wasserman
7a68e3de65
Deprecate /api/v1/kolide routes (#297)
- Support both /api/v1/fleet and /api/v1/kolide routes in server.
- Add logging for use of deprecated routes.
- Rename routes in frontend JS.
- Rename routes and add notes in documentation.
2021-02-10 12:13:11 -08:00
Zach Wasserman
413695b463
Prepare for 3.7.1 release (#272)
- Update changelog
- Bump fleetctl npm version
2021-02-03 11:55:15 -08:00
noahtalerman
e2504f247c
3.7.0 version for fleetctl 2021-02-03 09:48:50 -08:00
Zach Wasserman
c78209dd51
Clean up development files (#259)
Remove unused files and update with new developer defaults
2021-02-01 19:21:17 -08:00
James Alseth
3d328db000
Add Helm chart (#250)
Providing a Helm chart makes it easier for users to deploy to Kubernetes.

I think this is good to go, and I've tested deploying to Kind and GKE using the GKE ingress, sql proxy, and managed certificate, but I haven't tested anything AWS related.
2021-02-01 15:46:01 -08:00
Zach Wasserman
c0b8348174
Upgrade osquery version in docker-compose to 4.5.1 (#210) 2021-01-19 20:09:39 -08:00
Zach Wasserman
deaf8880f3
Expose live query error messages via API (#205)
Somewhere around osquery 4.4.0 these messages were added to query
responses. We can now expose them to the API clients rather than using
the placeholder text.

Required for #192
2021-01-19 14:52:29 -08:00
Zach Wasserman
1cc795d06f
Upgrade axios in npm installer (#204)
Updates the binary-install package to get a new version of Axios with
security fixes.
2021-01-19 12:52:37 -08:00
noahtalerman
74a3aee5e1
Change fleetctl version number (#184) 2021-01-07 17:51:32 -08:00
noahtalerman
72637d649b
Update links to new documentation locations. (#164)
- Add correct links to the new docs locations for links within the Fleet UI and Fleet documentation.
Fixes #157.
2021-01-04 08:53:23 -08:00
Zach Wasserman
81df308346
Update npm package name to fleetctl (#156)
This is an update from the prior name osquery-fleetctl now that we got
the fleetctl name.
2020-12-30 15:19:43 -08:00
Zach Wasserman
b77c8883d6
Update npm for 3.5.1 release (#133) 2020-12-14 19:22:07 -08:00
noahtalerman
3a44da034c
Update fleetctl version number. Fix spelling error in changelog. (#122) 2020-12-10 16:09:25 -08:00
Zach Wasserman
416235f4b8
Clean up unused test/demo SQL data (#117) 2020-12-10 11:44:02 -08:00
Zach Wasserman
9279e59628
Default to --host_identifier=instance in docs (#103)
This may be a better default for folks to use as it will prevent the
issues caused by duplicate UUIDs in #102.
2020-12-07 15:43:08 -08:00
Zach Wasserman
45dbcebeb4
Upgrade NPM package to 3.4.0 (#54) 2020-11-19 15:58:54 -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
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
Mike Arpaia
af96e52a00
Update the Go import paths to new repo name (#27) 2020-11-11 09:59:12 -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
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
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
Brendan Shaklovitz
87137252de
docker-compose QoL improvements (#2319)
* Use YAML anchors to avoid repeating config blocks
* Use docker volumes to persist data for mysql
* Allow setting `FLEET_SERVER` (fixes #2127) when using the docker-compose file to spin up multiple osquery clients
2020-10-09 10:10:33 -07:00
seph
c2d8dccb8d
Remove old package stuff (#2284)
Remove references to the long unused dl.kolide.co distribution site.
2020-08-11 18:14:59 -07:00
Zachary Wasserman
863ae14ab8
Default osquery container version to latest in test docker-compose (#2152)
Now only the enroll secret needs to be configured when running osquery
containers for testing.
2019-11-17 14:10:11 -08:00
Zachary Wasserman
eb4770f730 Use host.docker.internal to connect test osqueryd instances (#2019)
Newer versions of Docker support this hostname, which allows test
osquery instances to be started with less configuration.
2019-04-02 08:31:09 -04:00
Joseph Henrich
878879faa3 Update uses of config_tls_refresh to config_refresh in docs (#2009) 2019-03-09 13:48:19 -08:00
Zachary Wasserman
c8229cc0d6
Replace uses of the term "Kolide" with "Fleet" (#1999)
Almost two years ago, we began referring to the project as Fleet, but there are
many occurences of the term "Kolide" throughout the UI and documentation. This
PR attempts to clear up those uses where it is easily achievable.

The term "Kolide" is used throughout the code as well, but modifying this would
be more likely to introduce bugs.
2019-01-24 09:39:32 -08:00
Allen Golbig
cf84bd9d8e Added KeepAlive and ThrottleInterval (#1916) 2018-09-05 16:18:51 +00:00
Victor Vrantchan
95c3113632 examples: use curl and jq to work with the API (#1737) 2018-04-23 09:21:59 -06:00
Zachary Eddy
6a20ae91c5 Create kubernetes manifest for minikube (#1671) 2017-12-28 11:18:16 -08:00
ferhat elmas
d2a7e38c85 Fix documentation typos (#1682) 2017-12-21 18:37:32 -08:00
Mike Arpaia
8425fe2214 Use dep instead of glide (#1564) 2017-10-13 09:00:58 -06:00
Mike Arpaia
90c623d27d Remove license linting (#1563) 2017-10-12 11:06:29 -06:00
Victor Vrantchan
61866aa680 move to 2.0 (#1562) 2017-10-12 12:14:03 -04:00
Mike Arpaia
5cbef6270b Updating docs to reference new binary and package (#1557) 2017-10-05 19:33:41 -06:00
Mike Arpaia
80b082ea26 Renaming CI/Packaging things to Fleet (#1556) 2017-10-04 15:28:11 -06:00
Victor Vrantchan
b4e9ced1d9 add documentation for building a release (#1523) 2017-09-01 13:21:04 -06:00
John Murphy
1e92f8fcfd gRPC Server for Launcher (#1544)
Add a gRPC server that will interact with osquery through Launcher. This endpoint will expose the osquery configuration suitable for use via the Launcher plugin, and collect log and query results.
2017-08-17 16:43:02 -05:00
Zachary Wasserman
68522c3c09 Add agent-api and appropriate changes to builder image (#1546)
- Add SSH configuration to allow checkout of Kolide private repos in CI
- Add kolide/agent-api repo to glide.yaml
- Update testify version to fix broken test build

Closes #1545
2017-08-10 12:45:55 -07:00
Mike Arpaia
018b91ab2c Rename project to Kolide Fleet (#1529) 2017-06-22 15:50:45 -04:00
John Murphy
368b9d774c Server Side SSO Support (#1498)
This PR partially addresses #1456, providing SSO SAML support. The flow of the code is as follows.

A Kolide user attempts to access a protected resource and is directed to log in.
If SSO identity providers (IDP) have been configured by an admin, the user is presented with SSO log in.
The user selects SSO, which invokes a call the InitiateSSO passing the URL of the protected resource that the user was originally trying access. Kolide server loads the IDP metadata and caches it along with the URL. We then build an auth request URL for the IDP which is returned to the front end.
The IDP calls the server, invoking CallbackSSO with the auth response.
We extract the original request id from the response and use it to fetch the cached metadata and the URL. We check the signature of the response, and validate the timestamps. If everything passes we get the user id from the IDP response and use it to create a login session. We then build a page which executes some javascript that will write the token to web local storage, and redirect to the original URL.
I've created a test web page in tools/app/authtest.html that can be used to test and debug new IDP's which also illustrates how a front end would interact with the IDP and the server. This page can be loaded by starting Kolide with the environment variable KOLIDE_TEST_PAGE_PATH to the full path of the page and then accessed at https://localhost:8080/test
2017-05-08 19:43:48 -05:00
Zachary Wasserman
d6e15e695a Fix lint-license for compatibility with rc-pagination (#1493) 2017-04-14 16:44:11 -07:00
Victor Vrantchan
9e5dd0ccce fix gcloud deployment on CircleCI (#1492)
update kube config permissions and add --set-gtid-purged=OFF
flag for mysqldump
2017-04-13 15:40:05 -04:00
Zachary Wasserman
629a740b45 Require JWT Key to be specified for server startup (#1480)
If server is started without a JWT key, a message like the following is printed:
```
################################################################################
# ERROR:
#   A value must be supplied for --auth_jwt_key. This value is used to create
#   session tokens for users.
#
#   Consider using the following randomly generated key:
#   om3w95gMA2drT5xAdLd2Q5oE8fLw+Miz
################################################################################
```

Closes #1480.
2017-04-12 15:05:56 -07:00
Victor Vrantchan
64a42c7c72 update circle-ci deployment dependencies (#1477)
changes to the gcloud dependencies and circle ci image broke the deployment steps. 
disabled caching for now and updated how kubectl runs.
2017-04-10 09:34:49 -04:00
Zachary Wasserman
da096d7b50 Fix platform detection for CentOS6 (#1415)
On CentOS6 there is a bug in which osquery incorrectly reports an empty string
for platform. This PR fixes our detection of centos in this case.

Fixes #1339
2017-03-15 15:40:18 -07:00
Zachary Wasserman
d3bf134c7e Add Ubuntu16.04 host to docker-compose (#1414)
Enables testing Kolide with a Ubuntu16 host running osquery
2017-03-15 08:53:54 -07:00
Kyle Knight
a64d88ff67 Update Webpack to v2 (#1393) 2017-03-13 15:13:33 -04:00
Zachary Wasserman
b4e40cf466 Warn before running migrations (#1385)
- Refactor MigrationStatus() to return relevant info
- Warn before running migrations

Closes #1368
2017-03-09 10:40:52 -08:00
Victor Vrantchan
d18c0aa146 update builder to go1.8 (#1301)
* update builder to go1.8

Closes #1292
2017-02-24 20:04:45 -05:00
Zachary Wasserman
9ecff79da9 make generate before building release binaries (#1246) 2017-02-16 16:41:49 -08:00
Victor Vrantchan
fdb3c55562 add tools and scripts to generate apt and dpkg repositories (#1183)
the scripts in tools/pkgrepos can be used to update apt and yum repositories as well as create zip archives for a release. 

The dl.kolide.co repository is archived as a static bucket on GCP.
2017-02-16 11:47:10 -05:00
Mike Arpaia
77243b36e3 Linking to the wiki page for public domain licenses (#1206) 2017-02-10 15:51:40 -07:00
Zachary Wasserman
672aaaad6c Proper handling of link for Public Domain in lint-license (#1205) 2017-02-10 14:28:52 -08:00
Mike Arpaia
c16230dac8 Adding a README to the third-party docs and renaming a file (#1204) 2017-02-10 15:11:36 -07:00
Zachary Wasserman
728c2c3475 Add license linting and dependencies.md (#1184)
Adds a `make lint-license` command that will crawl through the Golang and
Javascript dependencies, trying to automatically determine the license of each
dependency. If any dependencies have incompatible licensing (or if the
automatic detection fails), the tool will print an error and exit with a
non-zero status code. After a successful run, the
docs/third-party/dependencies.md file will be updated with attribution
information as determined by the crawl.

The configuration file has been bootstrapped with the manual analysis needed for
all of the existing dependencies.
2017-02-10 12:51:33 -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
Victor Vrantchan
7297a87a74 Move deployment steps into circle.yml config (#1140) 2017-02-02 11:30:23 -05:00
Mike Arpaia
a000751bfe renaming kolide-ose to kolide (#1143) 2017-02-01 10:20:50 -07:00
Victor Vrantchan
3e5ff9060f make mac enrollment package (#1088)
* make mac enrollment package

* add doc

* validate certificate and load the launchd without restarting
2017-01-25 16:29:24 -05:00
Mike Arpaia
444aa96c06 Demo database dump (#1058)
This PR includes:

- `make demo-dump` which dumps all tables from your running development Kolide instance into `./tools/app/demo.sql`

```
$> make demo-dump
mysqldump --extended-insert=FALSE --skip-dump-date \
        -u kolide -p \
        -h 192.168.99.100 kolide \
        > ./tools/app/demo.sql
Enter password: ******
$>
```
- `make demo-restore` which restores `./tools/app/demo.sql` into your MySQL database, to be demo'd and extended by your running Kolide instance

```
$> make demo-restore
mysql --binary-mode -u kolide -p \
        -h 192.168.99.100 kolide \
        < ./tools/app/demo.sql
Enter password: ******
```

This included demo dump contains the following content:

## Queries

- 34 queries shared as ~70 scheduled queries

## Packs

- 8 Packs
- 13 Scheduled Queries in the "Intrusion Detection" pack
- 7 Scheduled Queries in the "Osquery Monitoring" pack
- 4 Scheduled Queries in the "Asset Management" pack
- 12 Scheduled Queries in the "Hardware Monitoring" pack
- 8 Scheduled Queries in the "Incident Response" pack
- 8 Scheduled Queries in the "Compliance" pack
- 6 Scheduled Queries in the "Vulnerability Management" pack
- 10 Scheduled Queries in the "Systems Monitoring" pack

## Labels

- 2 Labels

## Hosts

There are intentionally no hosts. Live hosts should be fabricated using Docker and attached to a running demo instance, to better look and behave like a real infrastructure.
2017-01-23 10:32:19 -07:00
Victor Vrantchan
54408ff9e4 move osquery enroll secret to appconfig (#1004)
For #995
2017-01-20 14:48:54 -05:00
John Murphy
8708adc7c3 Add instructions for producing a core file (#943) 2017-01-17 12:38:14 -05:00
Mike Arpaia
2b73444e6e Added the debug flag to the osquery flagfile (#872) 2017-01-10 22:21:10 -07:00
Zachary Wasserman
f11da7b05b Update docker osqueryd flags to use server provided config (#822) 2017-01-09 12:07:19 -08:00
Mike Arpaia
ede7f9773d Fixing typo in osquery tools README (#797) 2017-01-09 11:03:28 -07:00
John Murphy
f66904f240 Host details 405 (#535) 2016-12-02 01:00:00 +08:00
John Murphy
df2653e46a Updated so you can choose to run 1.8.2 or 2.1.2 osquery (#527) 2016-11-24 01:59:23 +08:00
Zachary Wasserman
9c38d6d19e Update osquery service methods for distributed queries (#476) 2016-11-14 10:22:54 -08:00
Zachary Wasserman
85a8e92b96 Implement endpoints for host service methods (#280)
- Remove service methods for modifying hosts
2016-10-05 17:10:44 -07:00
Zachary Wasserman
6d1c963bfa Flesh out log ingestion endpoint/service methods (#258) 2016-09-30 19:18:27 -07:00
Mike Arpaia
cab34eb46c Moving development docker-compose out of root (#125) 2016-09-06 17:09:25 -04:00
Mike Arpaia
6bdf3fba4b cleaning up some development files (#115) 2016-09-05 17:58:49 -04:00
Mike Arpaia
8ca6504688 New flag to disable banner: --disable-banner (#80)
* New flag to disable banner: --disable-banner

* Move globals into configuration

* Changing tool category name to logging
2016-08-17 16:53:28 -07:00
Zachary Wasserman
503ae54f46 Ingest status and result logs (#77)
* Implement log endpoint for status/result log ingestion
* Define interface for log handlers: OsqueryResultHandler and OsqueryStatusHandler
* Initial implementation of file logger handlers
* Unit + integration tests

Closes #7
2016-08-17 12:45:29 -07:00
Mike Arpaia
736bce5033 Email-based password reset (#54)
* No more hard deletes

* scaffolding for password reset endpoint

* Ensure password reset state is accounted for in VC checks

* password reset endpoints and data structures

* ability to change password with reset token

* smtp server connection pool management

* stubbing out the sending of the email

* adding mailhog via docker

* HTML emails with confgurable host name

* fixing typo in the comments

* Fixing merge which undid DatabaseError replacement

* documentation in the readme

* webpack shortcut for components

* removing a sneaky merge line that snuck in

* temporary email content api

* tests for password reset flow

* fixing go vet

* comments and making all db use `&value` rather than `reference`

* more correct usage of the errors library and moving email sending to it's own method

* using the wrong error

* fixing email mock object error

* less incorrect error usage

* rebasing and merging

* http constants for status code

* using ParseAndValidateJSON instead of BindJSON

* validate instead of binding in struct tags

* NewFromError instead of New
2016-08-12 12:20:29 -07:00
Mike Arpaia
45dbac4354 Using viper and cobra for config/commands (#67) 2016-08-12 11:05:48 -07:00
Zachary Wasserman
809a010a1d Initial implementation of osqueryd enrollment + tests (#36)
*EnrollHost now generates a node key and stores host information into the DB
* Unit and integration tests

Closes #6
2016-08-11 13:50:03 -07:00
Mike Arpaia
64d16b8a16 README and workflow updates (#62) 2016-08-10 08:31:27 -07:00
Mike Arpaia
3a9381c5b3 React Base (#61)
* Add sensible React base to the app for frontend

This PR attempts to "reactify" Kolide and provide a sane development environment
that a front-end engineer would probably expect.

This PR accomplishes by doing the following:

1. Reorganizes the app into a `server/` and `client/` folders to keep golang
logic separated from react logic.

2. Adds an "asset pipeline" via webpack which knows how to build a js
and css bundle.

3. Packages up all static assets in a go-bindata file so that the binary
remains portable without external file dependencies.

1. Add a Makefile with several targets that will be common in everyday
development. For example, we have `serve` target which spins up a nodejs
reverse proxy on port 8081 which then watches for changed files, automatically
rebuilds the app, and hot loads the new JS/CSS in.

 **Note:** Please use `make` to build the app, not `go build` as there are
now several things that need to be orchestrated beyond the go code to build the app.

* Create build if it doesn't exist, and use `go get`

* Improve README to reflect new dev workflow

* Document css vars and funcs and use alias paths

* makefile and structure modifications
2016-08-09 22:15:44 -07:00
Mike Arpaia
b6ac5b1bdb Updating README and documentation to reflect local building and testing (#58) 2016-08-09 19:17:07 -07:00
Zachary Wasserman
2c15647b6e Fix certificate path in development config (#55)
Also adds error checking to `RunTLS`
2016-08-09 16:18:03 -07:00
Mike Arpaia
2d2d667f4a Attempt to clean the codebase (#53) 2016-08-09 10:24:29 -07:00
Mike Arpaia
4687812f39 Sessions in MySQL (#37)
* Sessions in MySQL

* Reclaiming some names

* session renewal without new cookies on every request

* comments and docstrings

* light organization in vc generation

* go vet

* endpoints for session management

* Merging @zwass' commit with mine

* Updating salt generation to use crypt/rand

* use getRandomText for session keys

* VC no longer needs a DB or to return an error

* getRandomText docstring

* Only use session via the SessionBackend API

* Set session backend with the request, similar to db
2016-08-04 15:38:13 -07:00
Jason Meller
5ad7c07e0c Dockerize app (#32)
This commit adds both a Dockerfile and updates the docker-compose.yml with local mounting so that you can standup a consistent dev environment. Please view the project README for more information.
2016-08-04 11:41:18 -04:00
Zachary Wasserman
82968a9430 Add configs + documentation for testing with dockerized osqueryd (#22) 2016-08-02 12:09:30 -07:00
Mike Arpaia
eee370e127 Authentication, authorization and user management (#10) 2016-08-01 16:32:20 -07:00
Mike Arpaia
91e78d276f Initial commit 2016-07-28 18:34:26 -04:00