Commit Graph

1888 Commits

Author SHA1 Message Date
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
RachelElysia
9469cb0bf1
Packs pages: Edit page empty state rendering, Manage page update UI (#885)
* Packs: Update empty state, tables, select targets pills, platform pills, icons, phrasing
2021-06-01 09:10:35 -04:00
Zach Wasserman
417ef2c9b6
Refactor teams service methods (#910)
- Move team-related service methods to `ee/server/service`.
- Instantiate different service on startup based on license key.
- Refactor service errors into separate package.
- Add support for running E2E tests in both Core and Basic tiers.
2021-05-31 17:07:51 -07:00
Zach Wasserman
9876dbe6b6
Implement license loading and validation (#908)
- Load license from ES256 signed JWT key.
- Parse license claims into LicenseInfo struct.
- Update contribution documentation with sample license key.

Closes #816.
2021-05-31 11:35:15 -07:00
Zach Wasserman
a5bd03e5d7 Merge branch 'master' into teams 2021-05-31 10:56:50 -07:00
Zach Wasserman
64f2cfc9cd
Refactor enroll secrets to support Teams (#903)
- Add `team_id` field to secrets.
- Remove secret `name` and `active` fields (migration deletes inactive secrets).
- Assign hosts to Team based on secret provided.
- Add API for retrieving secrets by Team.
2021-05-31 09:02:05 -07:00
Zach Wasserman
7971209fed
Implement license key generation (#906)
Adds a Node script for generating JWT license keys.

See the included README.md for details on usage and implementation.
2021-05-30 19:36:12 -07:00
Mike McNeil
6f09fd53f4
Enable freeform issues 2021-05-29 22:22:26 -05:00
Mike McNeil
54af2d2c29
Restore the usefulness of Noah's GitHub notifications 2021-05-29 21:44:41 -05:00
Mike McNeil
09d9a7ce1d
use latest labeling conventions in issue templates (#904)
* Update feature-request.md

* Update feature-request.md

* Update feature-request.md

* Update config.yml
2021-05-29 21:31:47 -05:00
Zach Wasserman
201fde01c0
Clean up simulated hosts in fleetctl preview (#893)
The `reset` and `stop` subcommands will now clean up the simulated
hosts. Previously these were unintentionally left running.
2021-05-28 17:19:31 -07:00
Mike McNeil
7bb202f961
Publish fleetdm.com/queries (#899)
* /sandbox/queries becomes /queries, etc

* Publish fleetdm.com/queries

Expose query library routes the rest of the way, move remediation data sanitization to the point of entry, and update query library to match (pairing w/ @gillespi314)

* Fix accidental commit of sailsrc (again)
2021-05-28 17:51:47 -05:00
gillespi314
0c236fd701
Ship v1 of standard query library (#898)
* Implement detail page for standard query lib

* Add alt text for image

* Replace id with css class

* Implement query-libary page for fleetdm.com

* Remove console.log

* Implement client-side search for query library

* Add responsive breakppoints

* Fix input tag
2021-05-28 16:57:04 -05:00
Mike McNeil
1512089384
add contributors to a query 2021-05-28 16:46:33 -05:00
gillespi314
e27fda73b2
Implement query-library page for fleetdm.com (#891)
* Implement detail page for standard query lib

* Add alt text for image

* Replace id with css class

* Implement query-libary page for fleetdm.com

* Remove console.log
2021-05-28 16:00:40 -05:00
noahtalerman
c450c86749
In 3-Deployment/2-Configuration add note about mitigating DoS attacks (#897) 2021-05-28 16:47:32 -04:00
Zach Wasserman
e6e3b6e5f4
Add robots noindex to frontend HTML head (#892)
Asks Google and other crawlers not to include the page in search
results.

Closes #890
2021-05-28 11:41:24 -07:00
gillespi314
5ec25e461f
Implement query detail page for standard query library (#887)
* Implement detail page for standard query lib

* Add alt text for image

* Replace id with css class
2021-05-28 12:00:54 -05:00
RachelElysia
19dd6e772b
Teams query manage page: Styling (#881)
* Style query manage page including side panel and table
* Conditional side panel rendering

Additional riders:
* Less brittle team e2e test
* Update all search icons across app
2021-05-27 19:39:35 -04: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
noahtalerman
6a72240860
Add link to release blog post in Software inventory documentation (#878)
- Add link to "Fleet 3.11.0 released with software inventory" to location in docs where software inventory is described.
- Change "host details" to "host vitals"
2021-05-27 17:18:41 -04:00
noahtalerman
dcbcc541a6
Move community project links into Example deployment scenario docs (#883)
- Move the community Fleet deployment tools to `docs/3-Deployment/4-Example-deployment-scenarios.md`
2021-05-27 17:14:10 -04:00
Zach Wasserman
8ee47f8b23
Add support for Teams in targets and live queries (#880)
- Accept Teams as a searchable target type for the target selection API.
- Accept Teams for targets in running live queries.
- Refactoring to support these changes.
- Update API documentation.
2021-05-27 13:18:00 -07:00
RachelElysia
c42f150fac
Query Edit/Run Page: Observer view (#820)
* Query Edit/Run page renders based on user role
* Original UI for global admin/ global maintainer
* New UI for global observer / team maintainer / team observer
* New create new query UI for team maintainer
* Styling matches Figma
* Tests modified accordingly

Styling Closes #859

Co-authored by: Sarah Gillespie @gillespi314
Tests co-authored by: @ghernandez345
2021-05-27 12:06:24 -04:00
Gabe Hernandez
184d375e55
fixes for teams bugs (#869)
* add message for transfering hosts to no team

* fix issue where editing user in members page did not update the table properly
2021-05-27 10:45:45 +01:00
Zach Wasserman
cebd4df0f5
Update live query and targets APIs for Teams (#876)
- Take query_id in live query and target APIs.
- Use query_id to determine observer targets.
- Update documentation.
2021-05-26 20:45:06 -07:00
Mike McNeil
a2eb7f3f9c
(guiltily fixes markdown typo) 2021-05-26 21:16:18 -05:00
noahtalerman
a32c277780
Add Release process document to /handbook (#874)
* Add document

* Spell fix in README

* minor word trimming and added a comma or two.  This looks great!

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2021-05-26 21:07:00 -05:00
Zach Wasserman
48c413a254
Split host additional into separate table (#875)
- Move host `additional` into a separate table.
- Join when that data is needed.
- API change: `/api/v1/fleet/hosts` now returns only the requested
  `additional` columns, unless `*` is provided as the sole argument.

Background:

A customer reported that MySQL binlogs grew huge and replication lag
went way up when data was stored in the `additional` column. In this
deployment MySQL was running with ROW replication. This would cause the
entire `additional` data to be copied on each update of the host checkin
time. While switching to STATEMENT or MIXED replication would likely
mitigate the issue, this was not an option in their environment.
2021-05-26 16:24:12 -07:00
noahtalerman
f725a4e7f5
Add check-modified-files-only (#871)
- Set `check-modified-files-only` to `'yes'`
  - This is so we only check modified markdown files instead of checking all markdown files.
2021-05-26 11:07:29 -04:00
Gabe Hernandez
c018823abf
conditionally show add label button (#854) 2021-05-26 13:10:04 +01:00
Gabe Hernandez
d3932d736d
add permission to host page (#852)
* update genreating of available host table headers based on tier

* stoping point for host permissions

* fixed up available headers for teams depending on permissions

* show select column on host table properly
2021-05-26 13:08:42 +01:00
Mike McNeil
5e991899b6
Update deploy-fleet-website.yml (#867) 2021-05-26 03:46:21 -05:00
Mike McNeil
ac220ba6e5
Obviate doc-templater dependency + dynamic sitemap.xml (#827)
* trivial

* Simplify build-static-content script and rip out the old markdown compilation for query library

* improve error msg

* trivial

* move helper

* bring in the skeleton

* Compile handbook as well, and bring more stuff inline

* instead of generating sitemap.xml file, could just serve it as a route

* Serve sitemap.xml on the fly

* add failsafe to prevent search engine accidents

* add remaining hand-coded pages to sitemap

* rearrange routes and get rid of commented-out ones

* Update build-static-content.js

* stub out the remaining pieces

* Add assertion (Which actually helped catch a real duplicate query: get-mac-os-disk-free-space-percentage)

* clean out inadvertently committed stuff in sailsrc

* route and serve data for correct query by slug + fix error message re duplicate query slugs + added assertion for duplicate doc page slugs

* yaml == dev dependency

* remove doc-templater dependency, as promised

* stub out handbook page

* clarify comments & remove unnecessary skipAssets

* Update build-static-content.js

* res.badConfig()

* add missing exit that I left out back in ec95df6a4b

* remove unused file

* update comments before commenting out and moving over to basic-documentation.less

* move example styling of generated HTML over to docs/handbook

* include both links

* Fix sitemap.xml URLs in local dev by fixing baseUrl config for local development (since Fleet itself is on 1337).

* followup to d55c777590

* Include query pages in sitemap.xml (+make urls generated for docs/handbook in build script slightly more real) -- but also don't serve sitemap

* sails.config.builtStaticContent.allPages » sails.config.buildStaticContent.markdownPages  (also remove unnecessary trailing slash trimming)

* trivial

* check config when serving sitemap + smarter error message for contributors

* hook up GitHub link to edit the query

* remove html ids

* Update query-detail.ejs

* somre more setup re https://github.com/fleetdm/fleet/issues/368#issuecomment-848566533
2021-05-26 03:24:38 -05:00
RachelElysia
69501b4727
Website query library styling (#800)
* Style query-details to match Figma

* Add ignored partial content to query-detail comment

* Stlye markdown html elements using CSS

* Render lightbulb icon

* Remove superfluous div

* Remove markdown build from sailsrc

* Remove coding workspace

* Fix bug

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>

* trim trailing whitespace + leave note about stuff living outside page selector

* fix stringQuotes and duplicateProperty lesshint checks

* fix importantRule lesshint check

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2021-05-26 01:16:05 -05:00
Zach Wasserman
a2a7082bd3
Implement add hosts to team by filters API (#866)
- Add hosts to team using label, status, and query filters.
- Documentation (+ docs for regular add hosts to team).
2021-05-25 21:29:52 -07:00
Zach Wasserman
0e9eb920d4
Refactor struct slices for consistent pointer use (#864)
Some datastore and service methods would return slices of structs,
rather than slices to pointers of structs (which most methods used).
Make this more consistent.
2021-05-25 18:53:22 -07:00
Zach Wasserman
76f8d59290
Refactor usage of null values in Teams models (#863)
- Use pointers rather than null package types.
- Use new internal ptr package.
- Improved handling of changing user teams/roles.
2021-05-25 15:46:46 -07:00
Zach Wasserman
fef1ce579e
Fix host count for list teams (#861)
- Add test
2021-05-25 15:30:01 -07:00
gillespi314
15ee1f5358
Add sublabel for enable single sign on checkbox (#834)
- Adds the following text below the "Enable single sign-on" option: "Password authentication will be disabled for this user."
- Adds sentence casing so that "Enable Single Sign On" becomes "Enable single sign-on"
2021-05-25 17:04:00 -04:00
gillespi314
5c23bd0d83
Handle empty states for host details (#833)
- Adds handling for edge cases of empty values for host name and other host details
- Checks for empty values (e.g., `""`, `undefined`, `null`, `NaN`) and normalizes to `"---"` for display in UI for host details page
- Wraps calls to Kolide helper functions that transform timestamps and similar data to human readable form so that the UI will display the empty state instead of calling the helper function when argument is `"---"`
2021-05-25 17:03:38 -04:00
gillespi314
09cd3622da
Fixes to new pack page (#857)
- Fix "Query pack title" and "Description" input fields so they fill the full width of their container
-  Replace "New Pack" with "New pack" in the page header (sentence casing)
-  Input titles should have the font weight set to $bold
-  Remove the folder icon from the title
-  Remove bold sections from paragraphs including the "(interval = 3600s)," "targets," "individual hosts," and "labels."
-  Change bullet and link colors to $fleet-core-vibrant-blue
-  Replace differential and snapshot kolidecons with png images included in the Figma page.
2021-05-25 17:03:03 -04:00
RachelElysia
a6e921c7b8
Query Manage Page: Role based views (#843)
* Removes create new query button from only observers
* Renders CTA ManageQueriesPage side panel
* Renders Observer can run column for non observers
* Fixes integration tests: ManageQueriesPage and SidePanel

UI co-authored by: @gillespi314
Integration tests co-authored by: @ghernandez345
2021-05-25 16:03:32 -04:00
WangXiang
c58a77d2a3
Include more detailed error messages in query result stream (#835) 2021-05-25 09:15:39 -07:00
RachelElysia
0395020b6f
Fix jumping bug dropdown onClick (#856) 2021-05-25 12:03:16 -04:00
RachelElysia
5689dd8b5d
Nav bar: Tabs render by role (#845)
* Nav tabs render based on global role permissions

Co-authored by: @gillespi314
2021-05-25 11:11:05 -04:00
RachelElysia
daa244ee00
Nav bar: Tabs render by role (#845)
* Nav tabs render based on permissionUtils global role

Co-authored by: @gillespi314
2021-05-25 11:10:13 -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
Zach Wasserman
e33391e8d3
Cleanup live query store for orphaned query (#847)
Cleans up a case in which a query could continue to be returned even
after it had been detected orphaned.
2021-05-24 20:36:40 -07:00
noahtalerman
fc4924a321
Add note about user passwords generated by teams script to docs (#844)
- Specify that users generated by the script found in `/tools/api/fleet/teams/create` are assigned the password of `user123#`
2021-05-24 17:50:55 -04:00