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>
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.
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
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.
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.
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>
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>
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.
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>
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.
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>
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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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