Commit graph

198 commits

Author SHA1 Message Date
Eric
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
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
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`
ee0d93a80f/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
Eric
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
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
Roberto Dip
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](50f94d0d70/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
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
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 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