Commit graph

201 commits

Author SHA1 Message Date
Eric
5de5bfb02c
Website: update meta descriptions (#12537)
Closes: #12492
closes: #12494

Changes:
- Added meta descriptions and titles to our article category pages
(e.g., fleetdm.com/releases)
- Added meta description and title to the /support, /try-fleet/register,
and /try-fleet/login
- Updated the meta description on /device-management

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2023-06-29 10:28:04 -05:00
Sampfluger88
37884f2d0e
Added new user under humans for receive-from-github webhook (#12468)
# 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-06-26 20:43:53 -05:00
Eric
11587ef9e2
Website: add /support page (#12457)
Closes: #12183
Changes:
- Added a /support page.
- Updated routes, policies, and importer
- Updated the header navigation to have a link to the support page.
- Updated docs pages to link to the support page.

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2023-06-23 18:06:04 -05:00
Eric
7942b9008b
Website: Add MDM demo video modal to /device-management (#12380)
Changes:
- Added a modal to the /device-management page where users can fill out
a form to see an MDM demo video.
- Added a new email template: `email-mdm-video`, that is sent to users
who submit the form on the device management page.
- Added a new action: `deliver-mdm-demo-email.js`, that sends an MDM
demo video email.
- Updated the modal component to allow the default styling to be
overridden on a page-by-page basis (Moved inline styles into the
component's stylesheet)
- Updated `website/config/routes.js`, `website/config/policies.js`, and
ran the `rebuild-cloud-sdk` script.
2023-06-16 15:08:24 -05:00
Jarod Reyes
d6f57a8e23
Added a Rapid7 landing page for campaign. (#12353)
Created Rapid7 landing page in `/imagine`

From Mike T:

Sorry for the bombardment of commits. 

Here's a breakdown of those
commits and changes:
 

- I increased the max-width of the hero text area for M-size breakpoints
and above to suit the content better.


- During my review, I noticed that the local-preview-generated changes
to `.sailsrc` had been pushed, but in my attempt to fix I deleted the
file rather than the diff.


- Attempted to revert back to my previous commit, but this was my first
attempt at removing a commit, so I wasn’t sure if it was successful.


- In the end, I re-pushed `.sailsrc` from `main`. - 

Crisis averted in
a very roundabout way 🙏🏻

# Checklist for submitter

- [x] Manual QA by Mike T

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2023-06-16 06:57:26 +09:00
Joanne Stableford
c3588e4f84
Add teammate to humans on receive from github webhook (#12321)
Added jostableford under humans list
2023-06-13 15:44:30 -04:00
Jin Yi
8a1bac7514
Added username to receive from github webhook (#12320)
Updated list of humans in Github webhook.
2023-06-13 12:21:16 -07:00
Eric
17410ec59f
Website: Fix bug in customer migration webhook (#12277)
Changes:
- Updated the `receive-from-customer-fleet-instance` webhook to parse
the JSON response body from the request to the OAuth URL.
.
2023-06-09 19:06:25 -05:00
Eric
37682f2047
Website: Change pricing table based on selected use case (#12148)
Closes #11965

Changes:
- Updated the pricing table on the pricing page to be rendered by the
server.
- Updated the pricing page's view action to create another version of
the pricing table that does not have the "Device management" category
and that has security features sorted to the top of the table.
- Moved two features from the "Device management" category to "Security
and compliance" in `pricing-features-table.yml`.
2023-06-09 16:52:39 -05:00
Eric
d713150558
Website: Update customer migration webhook (#12269)
Closes: https://github.com/fleetdm/confidential/issues/2964

Changes:

- Updated the `receive-from-customer-fleet-instance` webhook to send a
request to a Workspace One OAuth URL to get the authorization token used
to send requests to a Workspace one instance.


Before this is merged, we will need to:
- [ ] remove the `sails.custom.config.customerWorkspaceOneTenantId` and
`customerWorkspaceOneAuthorizationToken` config variables.
- [ ] Add two new config variables:
`sails.config.custom.customerWorkspaceOneOauthSecret` and
`sails.config.custom.customerWorkspaceOneOauthId`

.
2023-06-09 16:10:50 -05:00
Mike McNeil
2aa3ee6f92
#g-ea => #g-ceo (#12027) 2023-05-29 23:49:03 -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 Thomas
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
Eric
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
Eric
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
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
Eric
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
Eric
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
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
Eric
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 Thomas
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
Eric
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 Thomas
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
Eric
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 McNeil
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
Eric
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
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
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