Commit Graph
176 Commits
Author SHA1 Message Date
EricandMike McNeil 5fabe6ce2d Website: Update Fleet website search index when website server starts. (#9480)
Changes:
- Updated the custom hook to include a POST request to Algolia to
refresh the Fleetdm.com search index.

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-25 10:09:41 -06:00
Eric bc5e19c252 Website: Update GitHub webhook (#9432)
Changes:
- Updated the conditional statement that determines if we will be
notified in Slack to filter out commit comments and deleted comments
from Fleet team members with uppercase letters in their GitHub
usernames.
2023-01-20 15:06:35 -06:00
Eric 4fd1efe98a Website: Add API to send signed CSR emails (#8408)
This pull request relies on the `mdm-gen-cert` command from
https://github.com/fleetdm/fleet/pull/8884.
Closes: https://github.com/fleetdm/fleet/issues/8223

Changes:
- Updated the deploy Fleet website workflow to:
   - Add Go as a dependency
   - Build the mdm-gen-cert binary in `/website/.tools/`
   - add the `/.tools/` folder to the Heroku app
- Added `deliver-apple-csr.js` -  an API that:
- can be called by making a `POST` request to
`/api/v1/deliver-apple-csr`
   - accepts `csr` as an input
- runs the `mdm-gen-cert` command with the `csr` set as an environment
variable
- returns an `invalidEmailDomain` response if the user's email domain is
in the array of banned email domains.
- saves the users organization and email address to the website's
database
- Sends an email to the requesting user's email address with the signed
CSR attached as a text file named `apple-apns-request.txt`
   - Posts a message to a channel in the Fleet Slack.
- Added a new model: `CertificateSigningRequests` that contains two
required attributes: `emailAddress` and `organization`
- Added a new email template `email-signed-csr-for-apns`
- Updated routes, policies, eslintrc, and rebuilt cloud-sdk


Before this can be merged, we will need to:
- [x] Add new config variables in Heroku
   - [x] `sails.config.custom.mdmVendorCertPem` 
   - [x] `sails.config.custom.mdmVendorKeyPem`
   - [x] `sails.config.custom.mdmVendorKeyPassphrase`
   - [x] `sails.config.custom.slackWebhookUrlForMDMSignups`
- [x] Add the `CertificateSigningRequests` model to the website's
database
2023-01-19 14:43:14 -06:00
Charlie Chance 8e35500f21 offboarding Guillaume (#9420) 2023-01-18 17:36:00 -07:00
Mike McNeil dfef4c4924 Fix prefix trimming (#9341)
Improve https://github.com/fleetdm/fleet/pull/9336 to fix prefix
trimming.
2023-01-14 18:45:52 -06:00
Mike McNeil 173b898bed GH automations: Improve #9336 (#9340)
Improve https://github.com/fleetdm/fleet/pull/9336 providing default
settings similar to the OpenAI playground, including a higher
temperature and number of maximum tokens. Also fixes prefix trimming.
2023-01-14 18:28:52 -06:00
Mike McNeil ffa5dc36dd Improve #9336 (#9339)
This improves https://github.com/fleetdm/fleet/pull/9336 by eliminating
junk text and encouraging better replies. Uses an h1 to emphasize the
issue title, so that short issues don't get weird and truncated, and the
bot reply stays focused on the main point of the issue.
2023-01-14 17:55:29 -06:00
Mike McNeil bc874cdd1d GH automation: Add missing user-agent header for GitHub api (#9338)
Fixes https://github.com/fleetdm/fleet/pull/9336
2023-01-14 17:25:37 -06:00
Mike McNeil 7b65368920 GH automation: fix #9336 (#9337)
GH automation: Fix copy/paste error in
https://github.com/fleetdm/fleet/pull/9336
2023-01-14 17:10:30 -06:00
Mike McNeil 88d4dcad3d Haikus (#9336)
When an issue is closed, post a comment with a Fleet-themed haiku about
it.
2023-01-14 16:56:16 -06:00
Eric 1a6ba352ce Website: Update MDM beta signup form (#9306)
Changes:
- Added a "Number of devices" input to the MDM beta signup form on the
`/device-management` page.
- Updated `website/api/controllers/deliver-mdm-beta-signup.js` to accept
a `numberOfHosts` input, and to include that value in the request to the
Zapier webhook.
2023-01-13 13:48:05 -06:00
Charlie Chance 2599c1c40c Offboarding: Chris (#9324)
.
2023-01-13 13:39:45 -06:00
Eric 07f8ec14e6 Update YAML schema table validation (#9302)
Changes:
- Added three errors to
`website/api/helpers/get-extended-osquery-schema.js` that are thrown if
a YAML schema table has:
   - A `platforms` value that is not an array
   - A `description` value that is not a string
   - A `columns` value that is not an array
- Updated the `platforms` of YAML schema tables in `schema/tables/` that
had string `platforms` values
- Regenerated `/schema/osquery_fleet_schema.json`
 
.
2023-01-13 10:16:36 -06:00
Eric c28056e36c Update osquery schema version and regenerate merged schema JSON (#9292)
Changes:
- Updated the version of the osquery schema we merge with Fleet's
overrides (`5.6.0` » `5.7.0`)
- Ran the `generate-merged-schema` script to regenerate
`schema/osquery_fleet_schema.json`
 . .
2023-01-12 10:06:15 -06:00
Eric 16eb5ef1ea Website: Update required Fleet Sandbox registration form inputs (#9293)
Changes:
- Updated the Fleet sandbox registration page to make a first name, last
name, and organization required.
- Removed the "REQUIRED" label from the email address input on the Fleet
Sandbox registration page and removed styles for it from the page's
stylesheet.
- Updated the `organization` input of `signup.js` to be required.
- Changed the POST request to Zapier in `signup.js` to always use the
information provided.
2023-01-11 19:35:12 -06:00
9ddd5f2ede Website: Add MDM page (#9264)
Changes:
- Added a new page: `/device-management`
- Added a new action: `deliver-mdm-beta-signup.js` - This action sends a
post request to a Zapier webhook when a user submits a form on the
`/device-managment` page.
- Added a new component: `<scrollable-tweets>`
- Updated routes, importer, policies, cloud-sdk, and
`download-sitemap.js`
- Updated the route for our success story articles to live at
`fleetdm.com/success-stories/*` (Previously at
`fleetdm.com/device-management/*`) and updated `config/routes.js` to
have redirects for each article in that category
- Updated the "Use cases" navigation item to "Platform" and changed the
platform link to "How it works"

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-11 11:29:38 -06:00
EricandMike McNeil 112dffbd1e Website: Update license key generator action and helper inputs (#9265)
Changes:
- Updated the `expiresAt` input description in
`api/controllers/admin/generate-license-key.js` and
`api/helpers/create-license-key.js`
- Updated timestamps sent to `generate-license-key` and
`create-license-key` to be in seconds.

 . .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-11 11:11:43 -06:00
Eric b5d2d0c4b4 Increase Fleet Sandbox time to five days (#9251)
Changes:
- Updated the expiration timestamp of new Fleet Sandbox instances to be
five days from when a user signs up. (Previously 24 hours)
2023-01-10 17:48:36 -06:00
Roberto DipandMike McNeil 5919931a4c fix conflicts in docs about unified_logs vs macadmins_unified_logs (#9214)
As raised by a community member in
[Slack](https://osquery.slack.com/archives/C01DXJL16D8/p1672751794862639),
this updates our documentation to account for both `unified_log` and
`macadmins_unified_log`.

Per my testing, it should also help with the #9158 bug in Fleet's UI.

I have updated the columns of `macadmins_unified_log` according to
what's in the [source
code](https://github.com/macadmins/osquery-extension/blob/50f94d0d7001c048e0a5564911e46d1952420a80/tables/unifiedlog/unified_log.go#L47-L69),
and modified the example to work.

Since I was there I have also updated the osquery version we use to pull
the JSON to `5.6.0` and fixed a small bug related to the examples we
pull from there.

. . . . . . .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-10 17:45:53 -06:00
EricandMike McNeil 9bd023dbbf Website: Add optional inputs to Fleet Sandbox registration form. (#9203)
cc: @alexmitchellii

Changes:
- Added optional inputs to the Fleet Sandbox signup page:
   - First name
   - Last name
   - Organization
- Updated signup.js to send the optional inputs to the Zapier webhook

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-06 18:37:10 -06:00
Eric 896918bc79 Website: Fleet Premium subscription renewals (#9200)
https://github.com/fleetdm/fleet/issues/9172

Changes:
- Added
`website/api/controllers/webhooks/recieve-stripe-subscription-events.js`
a webhook for receiving Stripe events.
- If the stripe event received is from a user's subscription
automatically renewing, A new license key is generated, the subscription
record is updated, and a renewal confirmation email is sent.
- If the stripe event received is from a user's subscription's upcoming
renewal, a renewal notification email is sent.
- If any other event type is received from Stripe, the webhook returns a
200 response.
- Added new email templates:
   - `email-subscription-renewal-confirmation`
   - `email-upcoming-subscription-renewal`
- Updated `website/api/controllers/admin/view-email-template-preview.js`
to have fake data for the added email templates.
- Updated `website/api/controllers/customers/view-dashboard.js` to set
two boolean variables: `subscriptionExpiresSoon` and
`subscriptionHasBeenRecentlyRenewed`
- Updated the customer dashboard to display notifications on the top of
the page if a user's subscription will renew in the next 30 days, or if
the user's subscription has been renewed in the past 30 days.
- `website/views/layouts/layout-email.ejs` - Updated the font, padding,
and text color to match wireframes.
2023-01-06 18:36:29 -06:00
Eric 379f61a39f Update Github URL for tables that have Fleet overrides (#9213)
Changes:
- Updated the fleetRepoUrl value for osquery schema tables that have
Fleet overrides to use the correct URL.
2023-01-06 17:14:04 -06:00
Nathanael HollidayandMike McNeil 56d54e8cd1 Offboarding (#9174)
Removed Frank.

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-04 08:51:50 -06:00
Nathanael Holliday 7affb67540 Offboarding (#9153)
Removed some offboarded folks.
2023-01-02 19:20:48 -06:00
EricandMike McNeil ace1fa0d37 Website: Add Vanta integration (#9072)
* stubing out required pages

* Add Vanta authorization action, create externalAuthorization(name will most likely change) Model

* rebuild cloud sdk

* Draft script

* update importer, update connect-vanta page

* layout updates

* update action

* change model name

* update model name

* update script

* Update vanta callback page

* add new model to lint config

* update model attributes

* update vanta connection page to require url protocol, fix lint error in routes

* rename page, vanta-callback » vanta-authorization

* Update errors, handle incomplete connections

* Update model attribute names

* Remove console.log(), add error message for non-Fleet Premium users

* update importer, fix lint error

* update send-data-to-vanta script

* Update create-vanta-authorization-request.js

* update page name

* update comments and error messages

* layout changes

* update status codes used in exits

* Add comment

* Update .eslintrc

* Update create-vanta-authorization-request.js

* Update view-vanta-authorization.js

* Update VantaConnection.js

* Update send-data-to-vanta.js

* Update create-vanta-authorization-request.js

* Update mobile styles

* update text

* update error text, show sucess message if account has already been authorized

* lint fix

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-21 23:39:39 -06:00
Charlie Chance 9ca5e67bed Offboarding: wclithero (#9055) 2022-12-16 17:12:29 -07:00
Eric f5b60b9667 update hostsEnrolledByOrbitVersion and hostsEnrolledByOsqueryVersion types (#9041) 2022-12-15 18:13:14 -06:00
Zach Wasserman fce4bae018 Fix typos in website code (#9015) 2022-12-13 15:33:23 -08:00
Eric cddf7953e6 Update Fleet Premium pricing (#8966)
* update Fleet Premium price

* Update new-license.ejs
2022-12-08 13:01:24 -06:00
Jarod Reyes 231de42a88 Update receive-from-github.js (#8918)
Added 'jarodreyes' to list of humans.
2022-12-07 08:23:38 -06:00
2d0f33f369 Website: Add script for creating HTML email partials from Markdown articles (#7574)
* add to-html-email

* email-preview

* add build-html-email script, update .gitignore

* email preview and email-templates pages, update routes, importer and policies

* add newsletter email layout, build-html-email script, to-html-email updates

* Update .gitignore

* add newsletter emails section to growth handbook

* update scripts

* update fonts in emails

* Update README.md

* Update build-html-email.js

* update comments, add page scripts to layouts

* revert change to build-static-content

* update script

* update email layout and helper

* update handbook entry

* update template data and helper

* update email layout

* update fake data and unsubscribe link

* move added handbook section to the marketing handbook

* rename script

* update colors in unused email template

* update capitalization in helper

* view-email-preview » view-email-template-preview

* Hide emails generated from markdown if they don't exist

* update preview page

* update markdown email directory, create sample article email

* lint fixes, add target="_blank" to links in emails

* update page layouts & styles

* update sample newsletter email, code font, newsletter layout

* Update README.md

* Update view-email-template-preview.js

Co-authored-by: Tim Kern <tim@fleetdm.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 16:30:24 -06:00
EricandMike McNeil 48f86b21b1 Website: Add admin tool for generating Fleet Premium licenses. (#8478)
* create admin/generate-license page

* create generate-license-key action, update routes, policies, importer, regenerate cloud-sdk

* update layouts

* use moment

* Update view-generate-license.js

* Fixing lint errors

* Update generate-license-key.js

* Update redirects in is-super-admin policy

* redirect super admins to the license generator

* Update login form

* requested changes from mike-j-thomas

* Update generate-license.page.js

* Update is-super-admin.js

* Update view-login.js

* Update generate-license-key.js

* Update generate-license-key.js

* use naming convention for js timestamps

* validTo » expiresAt

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 14:53:16 -06:00
EricandMike McNeil d92d9980ce Website: Build pricing page from yaml file (#8549)
* Create pricing-features-table.yml

* update built-static-content to add the pricing table configuration to builtStaticContent

* Update pricing page to use builtStaticContent.pricingTable

* Update view-pricing.js

* update pricing table, lint fix

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 14:11:46 -06:00
EricandMike McNeil a59e1cce80 Website: Add support for confidential repo to Github webhook (#8654)
* add confidentialGithubRepoDRIByPath to custom config

* Add support for the confidential repo to receive-from-github & get-is-pr-preapproved

* Update confidential repo DRIs

* remove no longer relevant folder

* Fix lint

* repository » repo

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 13:58:21 -06:00
Brad MacdowallandZach Wasserman 4edc9659fe Add Brad and Alex to github maintainers list (#6943)
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2022-11-21 10:59:57 -08:00
EricandMike McNeil 0853d338f8 Website: Update table pages (#8410)
* add link to "defaults to root" text and evented table labels

* override requires_user_context value in merged schema

* update link styles on table pages

* Update get-extended-osquery-schema.js

* encodeURIComponent

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-11-10 17:12:24 -06:00
EricandMike McNeil e9b550206f update error handling (#8548)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-11-07 12:16:51 -06:00
Charlie Chance 54294b7879 MAINTAINERS: offboarding (#8513)
offboarding Tim and Juan.
2022-10-31 23:09:19 -05:00
Eric 7406797d5c move acpi_tables.yml & update get-extended-osquery-schema (#8364)
* move acpi_tables.yml & comment out unused fields, update get-extended-osquery-schema

* add '/tables/' to filename in fleetRepoUrl
2022-10-25 15:19:11 -05:00
EricandMike McNeil 9dc5d4f53e fix fleetRepoUrl (#8325)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-10-19 10:21:05 -05:00
Eric e82962e4a7 Add Fleet override schema files (#8278)
* create schema/tables, add yaml schema tables

* Update osquery-table-details.ejs

* Generate schema from schema/tables/ folder

* Create generate-yaml-tables-from-json.js

* update created table files

* update fleet override validation

* update error messages, add fleetRepoUrl

* Delete generate-yaml-tables-from-json.js

* Update osquery-table-details.ejs

* Update whitespace in table examples

* Revert "Update osquery-table-details.ejs"

This reverts commit 2e9d63208f59997d492375ebaf1d0ec7e4afe468.

* add YAML tables generated from updated Fleet schema

* lint fixes

* update arp_cache and docker_containers tables
2022-10-18 14:13:42 -05:00
Eric 6db419001f Update receive-usage-analytics.js (#8239) 2022-10-14 18:37:31 -05:00
gillespi314 5603ee8114 Add more usage stats to Sails app (#8230) 2022-10-14 13:54:23 -05:00
Zay Hanlon dca77054c5 Onboarding: Add 'zayhanlon' to Humans (#8166)
As part of onboarding issue, add 'zayhanlon' to Humans within receive-from-github.js
2022-10-11 11:35:23 -05:00
Eric 8fecef3ed5 Update merged schema helper and script. (#8092)
* update helper to use the osquery schema from the osquery/osquery-site repo

* update script description and generated json filename

* Add ritual to digital experience handbook

* add merged schema

* Update README.md

* Update get-extended-osquery-schema.js
2022-10-05 15:10:08 -05:00
EricandMike Thomas 53939e7858 Website: update billing info form for Fleet Sandbox users purchasing a license (#7748)
* add additional inputs to billing info form

* adjust layout, update labels to match wireframes

* update inputs

* rebuild cloud-sdk with new inputs

* Remove focus from billing info form

* update updateOne inputs

* Add signupReason to the User model, update new-license page script and signup action

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2022-10-04 14:35:09 -05:00
EricandMike McNeil ddb074996c Website: Move schema table merging into helper, update build script (#7980)
* move table schema merging into helper

* update helper name, add evented value to table configuration

* update indentation

* update error messages for readability

* typo

* update helper name, exits and description

* Add missing columns to osquery_tables.json

* add merge schema script

* rename script to `generate-merged-schema`

* Update generate-merged-schema.js

* Add error messages

* update error messages

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-29 16:38:10 -05:00
9dbf84fb4b Website: Add pages for schema tables (#7679)
* add osquery tables page

* update build script, add fleet schema folder

* update layout and page script

* add edit-page button, search, remove test attribute from fleet schema

* update styles

* syntax highlighting, update highlight.js, adjust layout

* lint fixes

* Update view-osquery-tables.js

* requested changes from 1:1

* requested changes

- Rename osquery-tables to osquery-table-details & update routes and policies
- Update wildcard input and tables details route
- Fix lint error
- adjust self-calling functions in page script
- rename function and adjust the order of functions in page script

* add osquery tables to builtStaticContent.markdownPages

* update schema folder readme

* add redirect for /tables

* update table input

* remove comment from stylesheet, update syntax highlighting, use variable names from colors.less

* update inputs in view action

* Updates from PR review

* fix lint error

* update syntax highlighting, table page styles

* Update build-static-content.js

* requested changes from code review

* Update build-static-content.js

* fix build script error

* remove string.replaceAll()

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-23 19:06:55 -05:00
Eric 15ac7ac189 Update save-billing-info-and-subscribe.js (#7897) 2022-09-22 11:58:31 -05:00
wclitheroandZach Wasserman eac6134b79 Request to add wclithero as a maintainer (#7087)
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2022-09-21 17:08:14 -07:00