Commit Graph
362 Commits
Author SHA1 Message Date
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
Eric d5663b25ed Website: Update /connect-vanta form (#9421)
Changes: 
- Added a "Try again" button to the form on the `connect-vanta` page,
allowing users to update the form and resubmit without refreshing the
page.
2023-01-18 19:14:12 -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
EricandMike McNeil 09b88d0341 Website: Add "Requires MDM" badge to /queries page (#9296)
Changes:
- Added a "MDM required" tag to the queries in the standard query
library that use the `managed_policies` table.
- Updated the build script to add a `requiresMdm` value to queries added
to `builtStaticContent.queries`, and to set it to true if a query has
the "MDM required" tags
- Updated the `/queries` page to add a "Requires MDM" badge to queries
that have `requiresMdm: true`
 . . .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-12 10:05:03 -06:00
EricandMike Thomas f9dc7ce216 Website: /device-management updates (#9295)
Related to: https://github.com/fleetdm/fleet/issues/9266

Changes:
- Updated the width of the modal form on the `/device-management` page.
- Updated the form inputs on the `/device-management` page to clear
errors when a user changes the input.
- Updated button styles to match wireframes.
- Updated the page indicator in the scrollable-tweets component.

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2023-01-11 19:36:00 -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
Eric 9c7b9ee1eb Website: Articles - Fix page script bug (#9288)
Changes:
- Added a `parasails-has-no-page-script` attribute to the parent div of
articles built from Markdown.
2023-01-11 14:28:46 -06:00
Eric a5b66b7b07 Website: update /device-management page id (#9287)
Changes:
- Changed the id of the `/device-management` page to `device-management`
(previously `fleet-mdm`)
2023-01-11 14:12:32 -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
Eric 3072f34c1b Website: update copyright year in page footers (#9280) 2023-01-11 10:56:52 -06:00
Mike McNeil 5183e2c4c9 "Why open source?" (#9233)
In the footer, instead of https://fleetdm.com/transparency, include a
link to ["Why open
source?"](https://fleetdm.com/handbook/company/why-this-way#why-open-source)
(in "Why this way?", in the handbook)

Why? "Transparency" is a page designed especially for end users, and
linked to already from within Fleet Desktop. Let's use this footer link
to help communicate some of the same ideas, but with additional context
for IT and security folks within customer and contributor organizations.
2023-01-10 11:24:09 -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
Chris McGillicuddyandMike McNeil c887679387 Proposed depuffery revisions (#9138)
* Proposed depuffery revisions

@mikermcneil I proposed some revisions to simplify the content, add consistency, and improve readability. I like the extra detail. I just want to make sure it flows and feels focused.

The "living, breathing API" line trips me up a bit, but I don't know if that's just a personal reaction.

* Update homepage.ejs

* Update homepage.ejs

Thanks for the feedback, @mikermcneil! I've addressed your notes. Is it okay to merge these changes?

* Update homepage.ejs

* surprise »» "shock"

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-04 11:51:42 -06:00
Mike McNeil 2bc21a0486 Some ideas + depuffery (#9134)
* Some ideas + depuffery

* Update homepage.ejs

* Update homepage.ejs

* Update homepage.ejs
2022-12-29 17:32:46 -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
Zach Wasserman fce4bae018 Fix typos in website code (#9015) 2022-12-13 15:33:23 -08:00
Mike ThomasandEric 499e0a2890 Fleet Cloud beta ribbon (#8990)
* Fleet Cloud beta ribbon

I added the ribbon back to the top of fleetdm.com pages to promote the beta campaign.

@eashaw, please can you take over when you're back online? There's a repeated class headerCTAHidden that I'm not sure whether to keep or not.

* remove unused css class

Co-authored-by: Eric <eashaw@sailsjs.com>
2022-12-12 14:19:11 -06:00
Eric 70bf6b3344 Website: add Fleet Cloud banner to homepage (#8988) 2022-12-09 19:29:41 -06:00
Mike McNeil 45643b5468 Update pricing.ejs (#8985)
* Update pricing.ejs

* Update pricing-features-table.yml
2022-12-09 15:04:29 -06:00
Eric cddf7953e6 Update Fleet Premium pricing (#8966)
* update Fleet Premium price

* Update new-license.ejs
2022-12-08 13:01:24 -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
Eric dfefe64b3b Website: update edit button on table pages (#8807) 2022-11-23 16:31:07 -06:00
Eric b0c8c451a2 Website: Keep platform filter when navigating to another table page. (#8465) 2022-11-02 17:33:17 -05:00
Mike Thomas 425c642e5e Updates messaging on "Try Fleet" (#8514)
Improved readability of the messaging on Try Fleet.
2022-11-01 15:59:57 -05:00
Mike ThomasandEric 155d3ef6a6 Handbook - update navigation on Marketing page (#8418)
* update navigation

## The problem

After consolidating Growth, Community, and Digital Experience (Brand) under "Marketing", the side navigation has become overwhelming and unclear what sections falls into each category.

## How to fix

Since the navigation can only display top-level sections, I propose splitting the navigation as follows:

- Marketing
- Community
- Brand
- Rituals
- Slack channels

Navigating to each of these sections will then display a content table for each, labeled "In this section" (as currently exists).

To do this, I made the following changes:

- Changed heading hierarchy throughout page
- added styling to h3 to include border-top

## Caveat

Since h2 is used to define the three categories on this page (Marketing, Community, Brand), h3 tag is now utilized to define sub-sections for each of the main categories. However, this styling is specific to the Marketing page of the handbook, and should not be applied to the other pages – which I do not know how to achieve.

* add page title to purpose, add marketing page-specific styles

Co-authored-by: Eric <eashaw@sailsjs.com>
2022-10-26 13:45:13 -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
Mike Thomas a4c628963b Update evented table badge (#8283)
I updated the styling of the evented table badge and label.
Fixes https://github.com/fleetdm/fleet/issues/8270
2022-10-18 10:07:36 -05:00
Eric 831155eb9c Website: update osquery schema pages - add evented table icons to sidenav, update code highlighting (#8168)
* Add evented table labels, update code syntax highlighting

* update styles, lint fix

* update comment

* Update osquery-table-details.page.js
2022-10-11 14:40:08 -05:00
Eric 2408dc0298 remove platforms attribute, update query library to use platform (#8116) 2022-10-07 12:10:30 -05:00
Eric 8f304f8d0e Website: Update sticky header behavior (#8115)
* Update sticky header behavior

* update sticky header function
2022-10-06 18:49:11 -05:00
Eric 8c18446762 Update bullet point list on homepage (#8083) 2022-10-04 17:09:42 -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
Eric 742de5354d move swag CTA, update stylesheet (#8037) 2022-09-30 13:35:42 -05:00
EricandMike McNeil 963297aab8 Website: Update meta titles and Twitter previews (#7772)
* update meta titles on pages built from markdown

* switch to summary_large_image for twitter previews

* Revert "update meta titles on pages built from markdown"

This reverts commit 8ac41e48a88b7f0a95819045b801ab00346acc76.

* Fleet device managment » Fleet for osquery

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-29 16:41:00 -05:00
Eric 82e7671f96 add Schema tables to documentation nav item (#7978) 2022-09-27 15:40:59 -05:00
Eric 2eb24b974a Website: Osquery schema tables updates (#7964)
* update syntax highlighting, fix scrollbars on safari and firefox, expand mobile nav when searching

* use purpose="" instead of css class

* Update osquery-table-details.ejs

* make type column uppercase
2022-09-27 14:34:37 -05:00
Eric a79a249d81 Website: Hide vue templates on osquery table pages (#7977)
* update layout to hide vue templates

* Update osquery-table-details.ejs
2022-09-27 13:47:19 -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 6ded99c789 Website: Update homepage logos (#7932)
* add segment logo

* update homepage logo layout
2022-09-23 18:39:44 -05:00
Chris McGillicuddy dac6e67fdd Update Free CTA.ejs (#7792)
Changing "Sign up for Sandbox" to "See Fleet in Sandbox" as "sign up" could give the impression users will be billed when the trial is over.
2022-09-16 11:09:23 -05:00
Mike Thomas 2a99beb2dd Update messaging on Sandbox sign-up (#7793)
Updated Sandbox signup page messaging for improved clarity.
2022-09-15 21:11:26 -05:00
Mike Thomas 0d16974fd6 Update pricing.ejs (#7777)
* Update pricing.ejs

Chris and I worked on changes to pricing.ejs. Changes include:

- Changed plan descriptions to provide more context for users to identify which plan is the best for their organization.
- Fixed up styles to match Figma.

Theory being that if we present features to users for which they have little context, it's more difficult to make an informed decision. Therefore a brief summary provides more context than a few bullets.

* Update pricing.ejs

* Update pricing.ejs

* Update pricing.ejs

fixed up a line height.

* Update pricing.ejs

repositioned summary text.
2022-09-15 10:22:41 -05:00
Mike Thomas 1bb11db6df Update layout.ejs (#7707)
Capitalized "Slack", as it's a proper noun, in "Osquery Slack."
2022-09-13 17:19:10 -05:00
Mike Thomas 70566ece5f Update pricing.ejs (#7708)
I removed customer promise information as requested in https://github.com/fleetdm/confidential/issues/1679
2022-09-13 17:18:57 -05:00
21b038df0d Website: updating pricing FAQ (#7444)
* Website: updating pricing FAQ

- I added support contact info to the the FAQ at the bottom of the Pricing page
- I updated the FAQ numbering
- Requires successful merge of https://github.com/fleetdm/fleet/pull/7443

* update link to handbook

Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Tim Kern <tim@fleetdm.com>
2022-09-09 08:12:53 +09:00
Tim Kern 93912f62b2 Replaced "Hall of fame" link in Footer (#7618)
Replaced with "Osquery slack" and a link to https://osquery.fleetdm.com/

This will allow us to still link to this subdomain in the main nav while also changing Fleetdm.com/slack redirects to the osquery/#fleet invite link
2022-09-08 16:28:55 +00:00
Tim Kern f25ed7371a Updated schedule demo links (#7575)
Added "top" to new one, and "bottom" to old utm_source
2022-09-03 21:24:02 +09:00