Commit graph

172 commits

Author SHA1 Message Date
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
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
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
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
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
Eric
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
Nathanael Holliday
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
Eric
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
Eric
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
Eric
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
Eric
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
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 Macdowall
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
Eric
e9b550206f
update error handling (#8548)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-11-07 12:16:51 -06:00