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
noahtalermanandMike McNeil 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 https://github.com/fleetdm/fleet/commit/ec95df6a4b8b0344fcbdb71f892d1185ec094f6e

* 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 https://github.com/fleetdm/fleet/commit/d55c777590f4b1dac4b7500cce1bf8f70b652fd9

* 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
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