Commit Graph
222 Commits
Author SHA1 Message Date
Eric d18db8f9ee Website: Add support for ChromeOS to query library and osquery schema pages. (#12013)
Closes https://github.com/fleetdm/fleet/issues/11837

Changes:
- Changed the OS icons used on tables/ and queries/ pages.
- updated `get-extended-osquery-schema` to change the `platform` value
of osquery table columns to be the normalized platform name (`chromeos`
» `ChromeOS`)
- updated `build-static-content` to support three `platforms` values
when adding platform compatibility notes to generated Markdown tables
(e.g., "**Only available on macOS, Linux, and Windows.**" )
- Added dropdown options and icons for ChromeOS on osquery schema table
pages, query details pages, and the query library.
2023-05-31 11:48:00 -05:00
Luke Heath 78d4b04f04 Add fleet-release approval for new gitops action repo (#11818) 2023-05-30 11:27:39 -05:00
Mike McNeil 2aa3ee6f92 #g-ea => #g-ceo (#12027) 2023-05-29 23:49:03 -05:00
Eric 989a265e75 Website: Change bootstrap class added to tables on pages built from Markdown (#12024)
Closes: #11989
Changes:
- Changed the Bootstrap 4 class that is added to every table in content
built from Markdown so our tables are responsive at all widths
(`table-responsive-xl` » `table-responsive`)
2023-05-29 20:25:24 -05:00
Eric c77eb13aab Website: Update Fleet Premium price in license dispenser (#11967)
Changes:
- Updated the price of Fleet Premium on
fleetdm.com/customers/new-license to match the price of Fleet premium on
fleetdm.com/pricing ($7.00/host/month)
- Updated the price of Fleet premium in `create-quote.js`

As this is merged, we will need to update the value of
`sails.config.custom.stripeSubscriptionPriceId` to be the id for the new
price in Stripe.
2023-05-29 20:23:19 -05:00
Mike ThomasandEric 044af84c71 Add vulnerability management page (#11957)
Changes:

- Added new page `/vulnerability-management`.
- Updated `routes.js` and `importer.less` for the new page.
- Added nav item "Vulnerability management" under "Platform."

Closes https://github.com/fleetdm/fleet/issues/11577

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-05-30 09:42:21 +09:00
EricandMike McNeil b16db3ec0e Website: Add host migration webhook (#11870)
Closes: https://github.com/fleetdm/confidential/issues/2768

Changes:
- Added `/webhooks/receive-from-customer-fleet-instance.js` - A webhook
that receives requests containing information about a host on a
customers Fleet instance and sends a request to unenroll that host from
a Workspace One instance.

Before this is merged, we will need to add four config variables to the
Fleet website:
- [x] `sails.config.custom.customerWorkspaceOneBaseUrl`
- [x] `sails.config.custom.customerWorkspaceOneTenentId`
- [x] `sails.config.custom.customerWorkspaceOneAuthorizationToken`
- [x] `sails.config.custom.customerMigrationWebhookSecret`

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-05-25 15:58:58 -05:00
Andrew Baker 34feef4c58 Education page via landing page builder (#11698)
# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [ ] Documented any API changes (docs/Using-Fleet/REST-API.md or
docs/Contributing/API-for-contributors.md)
- [ ] Documented any permissions changes
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2023-05-15 16:15:59 -04:00
Mike McNeil c1b7953f8c Auto-tag PRs awaiting CEO approval (#11603)
Experiment w/ kanban board for CEO signature reviews and pending PR
reviews

cc @MissTeeLucas
2023-05-09 23:13:40 -05:00
2c4dc043cb Website: Add landing page generator (#11308)
Changes:
- Added a new Sails generator, `landing-page`, that generates a page
with our current landing page layout with lorum ipsum and placeholder
images. New pages created by this generator will live in the `/imagine/`
subfolder and can be created by running (from the `website/` folder) `.
- Added a handbook entry about using the landing page generator.
- Removed the `experimental/okta-webflow` page.

---------

Co-authored-by: Jarod Reyes <jarodreyes@gmail.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-05-03 18:51:01 -05:00
Nathanael Holliday b275c7e0ab Removed departed team member (#11433)
# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [ ] Documented any API changes (docs/Using-Fleet/REST-API.md or
docs/Contributing/API-for-contributors.md)
- [ ] Documented any permissions changes
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md))
2023-04-28 16:03:30 -05:00
Eric 1d022e76b6 Website: Fix storedError metric reporting in receive-usage-analytics.js (#11404)
Changes:
- updated `receive-usage-analytics.js` to only try to send metrics for
`storedErrors` if the error objects are in [the format we
expect.](https://fleetdm.com/docs/using-fleet/usage-statistics#what-is-included-in-usage-statistics-in-fleet)
2023-04-27 17:40:10 -05:00
Eric fe07c39f22 Website: Send custom metrics from anonymous usage statistics to Datadog (#11362)
. 
Closes: #10848 
Changes:
- Updated the `receive-usage-analytics` webhook to send custom metrics
to our Datadog account, where we can create graphs and dashboards to
track Fleet feature adoption, Fleet/osquery/orbit versions in use,
reported host counts, and stored errors.
- Added a new config variable: `sails.config.custom.datadogApiKey`
2023-04-27 16:45:35 -05:00
Eric a684d42f67 Website: Add override sails.LOOKS_LIKE_ASSET_RX value (#11021)
Closes: #10984 

Changes:
- Added an override `sails.LOOKS_LIKE_ASSET_RX` value to the custom hook
that does not match paths that start with `/releases/`.
2023-04-12 11:10:46 -05:00
EricandMike Thomas 3217a9ed39 Website: Update Fleet website for MDM launch (#11123)
Changes:
- Updated the layout and content of the fleetdm.com homepage.
- Added two new fonts, `Inter` and `Roboto Mono`.
- Updated `typography.less` to switch the default `font-family` to
`Inter` side-wide.
- Changed the "Platform" header navigation dropdown to link to
/compliance, /osquery-management, and the homepage
- Updated the website footer
- Added bottom gradients and calls to action to /osquery-management and
/compliance
- Removed the /platform page, and set up a temporary redirect to the
homepage.

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2023-04-11 06:50:58 -07:00
Eric 4bfd886667 Website: Pre-fill launch-party form from personalized email links (#10907)
https://fleetdm.slack.com/archives/C01ALP02RB5/p1680103400723359

Changes:
- Updated `imagine/view-launch-party.js` to accept optional inputs
provided via a query string parameter and send two variables to the
page: `showFormOnPageLoad` and `formDataToPrefill`.
- Updated the launch-party page script to use the variables sent from
the view action to show the form when the page loads and pre-fill the
form inputs.
- Updated the launch-party waitlist form's submit button to say "RSVP"
if form inputs are pre-filled.
2023-03-31 15:58:49 -05:00
Eric 2e2469cc9c Website: Update GitHub webhook to trigger Zapier automation (#10807)
Closes: #10247

Changes:
- Updated `receive-from-github.js` to send a POST request to Zapier when
there is a new version of Fleet published.
2023-03-30 14:50:44 -05:00
Eric 6bce17976d Website: Update GitHub webhook to use gpt-4 for generated haikus (#10854)
Changes:
- Changed the model used to generate haikus for closed issues.
2023-03-30 10:05:03 -05:00
24aa8e6732 Website: add MDM launch party page (#10731)
Changes:
- Added `/imagine/launch-party` a page advertising our MDM launch
party/RSA happy hour where users can join the launch party waitlist. If
a user visits fleetdm.com/imagine/launch-party?showForm, a modal with a
waitlist signup form opens when the page loads.
- Added a new action, `deliver-launch-party-signup.js`. This action
sends a POST request to a Zapier webhook.
- Updated routes, policies, and cloud-SDK

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Jarod Reyes <jarodreyes@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2023-03-28 12:20:00 -05:00
Eric 92e079ea03 Website: Update request to generate Haikus for closed issues. (#10793)
Changes:
- Updated the request to the OpenAI API in `receive-from-github.js` to
send a request to the `chat/completions/` API and updated the request
body to be compatible with the `/chat/` API.
(https://platform.openai.com/docs/api-reference/chat/create)
2023-03-28 10:11:06 -05:00
Mike McNeil 92e52ca59c Update receive-from-github.js (#10755)
I tried to use gpt4 in https://github.com/fleetdm/fleet/pull/10736, but
we're actually still on the waitlist. That's why it broke. Thanks Eric.
2023-03-24 15:07:24 -05:00
Mike McNeil 3c20efd74b ⛮ Upgrade haiku dynamos (#10736)
Upgrade to GPT-4. Increase max tokens 4x up to 8000 (aka the maximum
character length of issue description that it can pontificate about in
the form of a short haiku)
.
2023-03-24 10:02:25 -05:00
EricandMike McNeil f970f6fb8d Website: Remove extra dashes from markdown links (#10657)
Closes: #10458

Changes:
- Updated the generated id's for headings in Markdown content to remove
extra dashes in words that have multiple letter casings (e.g., `#my-sql`
» `#mysql`, `#git-hub-security` » `#github-security`)
- Updated links to Markdown headings that have changed.
.  ..

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-03-22 19:34:59 -05:00
EricandMike McNeil c40e780a8d Website: Change APNS CSR email attachment filename (#10682)
Closes: #10417

Changes:
- Changed the filename of the APNS CSR attachment:
`apple-apns-request.txt` » `apple-apns-csr.txt`

.

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-03-22 19:30:39 -05:00
EricandMike McNeil 767fc39387 Update osquery schema version & regenerate merged schema (#10471)
Changes:
- Changed the version of osquery schema we merge with Fleet's overrides
from `5.7.0` to `5.8.1`
- Rand the `generate-merged-schema` script to regenerate
`osquery_fleet_schema.json` .


## EDIT
Mike: Hi Eric, if my changes look good to you, and if it's passing CI,
would you merge?

.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-03-17 19:32:34 -05:00
Eric 4cc7709675 Website: Update expiration timestamp sent to create-license-key helper (#10375)
Changes:
- Updated the `expiresAt` value sent to the `create-license-key` helper
in `save-billing-info-and-subscribe` action to be a JS timestamp
2023-03-08 09:07:10 -06:00
EricandMike McNeil 4770a780b4 Website: Add /demo/okta-webflow (#10238)
Related to: https://github.com/fleetdm/fleet/issues/10210

Changes:
- Added `/experimental/okta-webflow`
- This page has a login form that accepts any input. When the login form
is submitted, the page shows the user a EULA.
- Updated policies, importer.less and routes
- Updated `layouts/layout-sandbox` to hide the website's header and
footer, and disable the Papercups chat widget when a variable named
`optimizeForAppleWebview` is set to `true`.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-03-01 19:08:47 -06:00
Eric e7476c6a9d Website: Remove /osquery-management from download-sitemap.js (#10239)
https://github.com/fleetdm/fleet/pull/10207#issuecomment-1451073086
Changes:
- Removed the `/osquery-management` landing page from
`download-sitemap.js`
2023-03-01 18:55:37 -06:00
Mike ThomasandEric 732780a259 created-osquery-management-landpage (#10207)
In this PR, I have:
- created an osquery management landing page for our upcoming ad
campaign.
 
~The WIP content is where we ended up after our review session.~

~For reference, the original content can be found on Figma:

https://www.figma.com/file/Jzo81K6E4jC0mcjD4JsWM8/%F0%9F%9A%A7-fleetdm.com-(scratchpad)?node-id=389%3A0~

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-03-01 16:09:07 -08:00
Charlie Chance 07b5c15a14 offboarding charlie (#10143)
.
2023-02-27 16:45:04 -06:00
Eric a860328c04 Website: Update Github webhook to ignore Mergefreeze status for PRs outside of the Fleet repo (#10123)
Changes:
- Updated `receive-from-github.js` to only send requests to freeze and
unfreeze the Fleet repo when the PR it is checking is from the
fleetdm/fleet repo.
2023-02-27 12:29:32 -06:00
Eric a6551e43d7 Website: Update signup error handling when there is a Stripe related error. (#10042)
Closes: https://github.com/fleetdm/confidential/issues/1748

Changes:
- Added an error that is thrown if a Stripe customer cannot be created
for a new user.
- Updated `signup.js` to create Stripe customers for new users before
the new record is saved in the database. This helps prevent situations
where users are shown an error message when they submit the signup form,
but their account was actually created (without a `stripeCustomerId`).
2023-02-24 17:00:15 -06:00
EricandMike McNeil 49c694e676 Website: update GitHub webhook to tolerate failed Merge Freeze requests (#9934)
Changes:
- Updated the `receive-from-github` webhook to tolerate failed requests
to the Merge Freeze API. If a request fails, the webhook logs a warning
and continues as if the main branch is not frozen.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-02-17 19:37:58 -06:00
Mike McNeil f1c3aca5e3 /imagine/unused-software (#9893)
Stub for landing page.

@jarodreyes will take it from here (but i'll go ahead and merge)
2023-02-16 18:11:56 -06:00
Eric 9a8024d5c9 Website: Update signup.js error handling and increase timeout in Sandbox provisioner request (#9818)
Changes:
- Updated `signup.js` to:
   - Add a new exit: `requestToSandboxTimedOut`
- Increased the timeout on the request to the Fleet Sandbox provisioner
from 5000ms to 10000ms
- Changed the error thrown when a request times out to a logged warning.
- return the `requestToSandboxTimedOut` exit when a request to the Fleet
Sandbox provisioner times out.
- Added an error message to the Sandbox registration page for when
requests time out
2023-02-14 11:58:12 -06:00
Mike ThomasandEric 8b99dc9943 create new landing page called /compliance (#9787)
- created a new page on fleetdm.com called /compliance
- updated the main nav to include this page under 'Platform'

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-02-14 08:06:02 +09:00
EricandMike McNeil 874ca7bc8a Website: Update masthead (#9782)
Closes: https://github.com/fleetdm/fleet/issues/9762

Changes:
- `routes.js`: Changed the `currentPage` local variable to
`currentSection` and updated the value based each on the dropdown
navigation menus in the website header. This variable is used to make a
section "active" in the header.
- `view-basic-article` & `view-articles`: Updated these view actions to
set a `currentSection` variable based on the Markdown article category.
- `Layout.less`: Updated styles to match wireframes
- `layout.ejs`: Updated the styles and layout of the website header to
match wireframes.
- `layout-landing.ejs`, `layout-sandbox.ejs` & `layout-customer.ejs`:
Updated to match wireframes and stylesheet changes.
- `basic-documentation.less`: adjusted the position of the sticky right
sidebar.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-02-10 18:33:12 -06:00
Mike McNeilandEric d80101924f Tolerate haiku failures (#9738)
Co-authored-by: Eric <eashaw@sailsjs.com>
2023-02-07 16:07:54 -06:00
Eric cb5b220989 Website: Disable bot comments on closed issues. (#9696)
Changes:
- Disabled the Open AI API request in the `receive-from-github` webhook.
It is currently returning a `429` response and causing `500` errors.
<img width="753" alt="image"
src="https://user-images.githubusercontent.com/7445991/217028846-77e75d98-a595-46e7-aefa-7a76811b32d4.png">
2023-02-06 10:45:29 -06:00
EricandMike Thomas fc130d9ab3 Website: Add Fleet Premium landing page (#9572)
Changes:
- Added a new page: `/upgrade-to-fleet-premium`
- Added a new action `deliver-premium-upgrade-form.js`
- Updated policies, routes, importer.less, and regenerated
cloud.setup.js

.

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2023-02-01 08:53:09 +09:00
Eric 08dadaa45e Update CertificateSigningRequest model (#9585)
- Updated the emailAddress attribute of the Certificate Signing Request
model to fix the email address validation in `deliver-apple-csr.js`
https://github.com/fleetdm/fleet/blob/ee0d93a80ffb0b0448fdb61141bb6bd7690ff27d/website/api/controllers/deliver-apple-csr.js#L108-L117
2023-01-31 13:47:57 -06:00
Mike McNeil 73b8f96f71 Make it so chrome_extensions shows up in a search for "browser plugins", same for firefox/ie/safari (#9540)
.
2023-01-27 17:44:05 -06:00
Eric c238b90ecc Website: Add RSS feeds for articles (#9526)
Closes: https://github.com/fleetdm/fleet/issues/6493

Changes:
- Added a new action, `get-one-rss-feed.js`. This action generates and
returns RSS feeds for article categories on fleetdm.com.
    - This action has one required input: `categoryName`.
- Lives at `/rss/[Article Category Name]` e.g.,
`fleetdm.com/rss/releases`
- If `articles` is provided as the category, it returns an RSS feed of
all articles published on our blog.
- Updated `view-basic-article.js` to set an `articleCategorySlug`
variable, that is used to link to the RSS feed for an article category
from an article page.
- Added a "subscribe" button to articles and article category pages that
links to an RSS feed for that category.
2023-01-27 16:58:53 -06:00
Roberto Dip 090e9a17c3 doubly encode the CSR in base64 (#9532)
When the file is provided as an attachment to the Sails helper, it gets
decoded, since we need for the signed CSR to be delivered in base64
format, we doubly encode the contents before sending the email.
2023-01-27 10:54:40 -08:00
Eric d006f1205d Website: Add Docsearch to /tables pages (#9517)
Changes:
- Added Algolia DocSearch to osquery schema table pages.
2023-01-26 14:48:39 -06:00
Martin Angers d0e6891d10 Add endpoint to trigger CSR request for APNs on fleetdm.com (#9494) 2023-01-25 14:44:29 -05:00
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