Commit graph

445 commits

Author SHA1 Message Date
Eric
b2c57cd424
Website: Move banned email domains to config variables (#18412)
Closes: https://github.com/fleetdm/confidential/issues/6158

Changes:
- Added two new config variables to website/config/custom:
- `bannedEmailDomainsForCSRSigning` An array of email domains that are
not allowed for CSR signing requests
- `bannedEmailDomainsForWebsiteSubmissions` an array of email domains
that are not allowed for website signups and contact form submissions.
- Updated the `deliver-apple-csr`, `deliver-talk-to-us-form-submission`,
`deliver-contact-form-message`, and `signup` actions to use the new
config variables.
2024-04-18 18:35:56 -05:00
Mike McNeil
60ec4be047
update list of email domains (#18397)
Relates to (but does not close):
https://github.com/fleetdm/confidential/issues/6158


## Why is that linked issue not public?
<img width="1083" alt="image"
src="https://github.com/fleetdm/fleet/assets/618009/f10d69ed-e4d9-4206-b95f-e2b407e0ae1c">
2024-04-18 11:39:51 -05:00
Eric
bbc4fd0ebf
Website: Add redirect for users with a Fleet Premium subscription. (#18374)
Closes: #18373

Changes:
- Updated `view-start` to redirect users who have already purchased a
license to their customer dashboard
2024-04-17 13:28:02 -05:00
Sam Pfluger
b747c08f35
Update receive-from-github.js (#18356)
...
2024-04-16 16:32:44 -05:00
Eric
2807bd6b3e
Website: update contact page personalization (#18332)
Related to: #18099
Changes:
- Updated the contact page to show a different message depending on
answers a user provided in the /start questionnaire.
- For users who have Fleet deployed already: "Schedule a personalized
demo for your team and get support or training."
- For users who have tried Fleet and are ready to deploy: "Let us help
you deploy and evaluate Fleet quickly for yourself. We’d love to save
you some time."
  -
2024-04-16 14:55:53 -05:00
Joanne Stableford
9703711c24
Update receive-from-github.js (#18261) 2024-04-15 14:18:04 -05:00
Award Malisi
630b71875e
Added Award to humans (#18156) 2024-04-09 16:35:47 -04:00
Eric
d89af24955
Website: Update /start questionnaire to update leads (#18120)
Changes: 
- Updated the `save-questionnaire-progress` to send a request to Zapier
when a user completes the "What are you using Fleet for" step of the
/start questionnaire.
2024-04-08 10:51:15 -05:00
Eric
a389822f42
Website: Add steps to /start questionnaire (#18074)
Closes: #18047

Changes:
- Added three steps to the /start questionnaire
- Updated the contact page to prefill information for logged-in users by
default
- Updated the layout of the f/leetctl-preview page for users navigating
to it from the /start page.
- Updated the quote for vulnerability management on the /start and
/contact pages to have a logo (There will be a separate PR, to add it to
testimonials.yml)

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-04-08 19:39:19 +09:00
Eric
bb932c4659
Website: remove /imagine pages (#18073)
Changes:
- Removed /imagine pages
2024-04-04 19:18:38 -05:00
Eric
a0d1172f89
Website Update /start signup flow. (#18027)
Closes: #17958

Changes:
- Updated the primary and secondary CTAs site-wide
- Updated the /start page to have a multi-stage form that users can fill
out to personalize their onboarding experience
- Updated the signup action to not set a `primaryBuyingSituation` on new
user records (This will now be set when users progress through the
/start form)
- Added two new attributes to the `User` model:
`currentGetStartedQuestionnarieStep` and
`getStartedQuestionnarieAnswers` that save user's progress in the /start
form.


Before this PR can be merged we will need to:
- [x] Update the Zapier webhook that runs when new users sign up to no
longer expect a `primaryBuyingSituation` value
- [ ] Update the User table in the website's database
- [ ] Migrate the existing user records
2024-04-04 11:13:53 -05:00
Eric
0d8b51a5b3
Website: Remove /upgrade page. (#17754)
Closes: #17477

Changes:
 - Removed the /upgrade page
 - Added a redirect: `/upgrade` » `/pricing`
2024-03-22 11:54:23 -05:00
Eric
b10d1db3f5
Website: Add primaryBuyingSituation attribute to User model. (#17638)
Changes:
- Added a new attribute to the `User` model: `primaryBuyingSituation`
- Updated `signup.js` to set this value on new User accounts


Before this PR can be merged, we will need to:
- [ ] Add the new column to the User table in the website's database
- [ ] Set a default value for existing User records.

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2024-03-19 17:45:20 -05:00
Eric
b1e73387ea
Website: update signup forms and license dispenser (#17572)
Closes: #16697

Changes:
- Updated the managed cloud feature in `pricing-features-table.yml` to
note that is only available for >700 hosts
- Updated `signup.js` to accept one new input `primaryBuyingSituation`
and to throw an error if someone signs up with a personal email address.
- Updated the /customers/register page to ask users signing up what they
will be using Fleet for, and to display an error if a user signs up with
a personal email address.
- Updated the /try-fleet/register page to show an error if a user signs
up with a personal email address
- Updated the /customers/new-license page to:
- only show the quoted price for users creating a quote for >700 hosts
- Add a checkbox to the billing form for users to confirm that they
understand they are buying a license for self-hosted Fleet Premium
2024-03-14 12:28:35 -05:00
Eric
b36256a053
Website: Update /try-fleet (#17608)
Changes:
- Added `/start`, a page where users can choose whether to run a local
demo of Fleet, or purchase a Fleet Premium license
- Updated all "Try it now" links to go to the `/register` page.
- Updated the URL and added redirects:
   - `/customers/new-license` » `/new-license`
   - `/try-fleet/fleetctl-preview` » `/try-fleet`
   - `/customers/register` » `/register`
   - `/customers/login` » `/login`
- Removed the `/try-fleet/login` and `/try-fleet/register` pages
- Updated the /try-fleet/explore-data pages to redirect logged-out-users
to the /register page
- Updated policies, routes, and importer.less

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-03-14 10:28:23 -05:00
Eric
94cd621360
Website: Update signup.js (#17470)
Related to: https://github.com/fleetdm/confidential/issues/5695

Changes:
- Updated `signup.js` to send a request to Zapier.
2024-03-11 10:48:41 -05:00
Eric
4a1e202acb
Website: Update contact page and CTAs (#17450)
Changes:
- Updated the contact page to have a second form that users can fill out
to schedule a Calendly meeting with Fleet.
- Updated CTAs on all landing pages, product category pages, article
pages, pricing page, and license dispenser.
- Updated the CTAs on the landing page generator template
- Removed the function that opens the hubspot chat widget from page
scripts.
- Updated `deliver-contact-form-message` to send a request to a Zapier
webhook
- Created a new action: `deliver-talk-to-us-form-submission` that sends
form submissions to a Zapier webhook.
2024-03-07 10:07:50 +09:00
Jahziel Villasana-Espinoza
babf4e17c8
fix: return bad request error during MDM migration when appropriate (#16551)
> Related issue: https://github.com/fleetdm/confidential/issues/5138

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] 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.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-03-06 15:38:44 -05:00
Mike McNeil
ea5b8f8204
Handbook: Make the website feel more like home (#17317)
Further personalization for folks arriving from ads, so that the site
makes more sense to them

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-03-01 17:47:37 -06:00
Dante Catalfamo
fc2afeb133
Add dantecatalfamo to humans (#17300) 2024-03-01 14:26:36 -06:00
Eric
27544d726a
Website: update Stripe webhook to handle changes to subscriptions made in the Stripe UI. (#17225)
Closes: #16945

Changes:
- Updated the receive-from-stripe` webhook to update the database
records of subscriptions that have been changed in the Stripe UI.
2024-03-01 12:00:19 -06:00
Mike McNeil
fc078d4b41
Website: Add personalization (#17296)
I didn't test it yet
2024-03-01 11:42:46 -06:00
Sam Pfluger
1a26b7f753
Correctly request Mike for review (#16972)
...

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-02-19 16:50:54 -06:00
Eric
5a9f5d86a5
Website: add testimonial (#16689)
Closes: https://github.com/fleetdm/confidential/issues/5182

Changes: 
- Added a quote from Chandra Majumdar to testimonials.yml
- Updated the testimonial sorting in the view actions for the product
category landing pages to sort quotes by the authors full name.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-02-12 16:40:56 -06:00
Sam Pfluger
f8f93e54ae
Add Taylor Hughes to receive-from-github.js (#16731) 2024-02-12 13:01:41 -06:00
Joanne Stableford
c2dc13e771
Update receive-from-github.js list (#16632) 2024-02-06 18:50:44 -06:00
Eric
b7a85fba48
Website: Update usage analytics sent to Datadog (#16572)
Related to: #16458

Changes:
- Updated the receive-usage-analytics webhook not to send metrics to
Datadog.
- Updated the send-aggregated-metrics-to-datadog script to build
aggregated metrics from the JSON values reported by Fleet instances
(stored errors, host count by orbit version, host count by osquery
version, host count by operating system), and updated the script to not
report metrics from Fleet instances using the development premium
license key.
2024-02-02 17:23:33 -06:00
Eric
213baaa258
Website: update testimonials on landing pages (#16318)
Closes: #16246
Closes: https://github.com/fleetdm/fleet/issues/16245

Changes:
- Added a logo for the quote from Harrison Ravazzolo
- Changed the `productCategories` value for the quotes from Nick Fohs
and Erik Gomez
- Updated the order of testimonials on the /endpoint-ops and
/vulnerability-management pages
2024-01-26 15:20:33 -06:00
Mike Thomas
109ffae251
Website update device management (#16312)
Updated messaging on the device management landpage

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-01-24 22:22:24 +09:00
Eric
df239ce401
Website: Update GH webhook to not send requests to Zapier for patch releases. (#16152)
Closes: #16135

Changes:
- Updated the `receive-from-github` webhook to not send requests to
Zapier when a patch version of Fleet is released.

For context: The request to Zapier triggers an automation that updates
Slack channel topics with information about the latest release of Fleet.

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2024-01-18 12:39:32 -06:00
Mike Thomas
223ded6230
Fix left over code that is locking people out of the fleetctl-preview… (#16192) 2024-01-18 12:25:47 +09:00
Mike Thomas
29b7c8e44e
Updated quote content and logos (#16095)
Closes https://github.com/fleetdm/confidential/issues/5015

- Updated testimonials.yml to reflect correct quote content and logos
from wireframes
- Updated logos to be a consistent height
- Adjusted logo min and max height css

# Checklist for submitter

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-01-16 22:27:12 -06:00
Eric
c37f5cfe20
Website: Update testimonials configuration, filter and reorder testimonials on landing pages (#16091)
Closes: #16018

Changes:
- Updated the testimonial configuration in testimonial.yml to add two
new required values:
- `quoteAuthorProfileImageFilename` - The filename of the quote author's
LinkedIn profile picture in the website's `assets/images/` folder
- `productCategories`: An array of product categories that this quote is
relevant to
- Added new quotes to testimonials.yml 
- Updated the testimonial validation in build-static-content to throw an
error if a testimonial is missing one of the new required values
- Updated the `<scrollable-tweets> component to match the latest
wireframes
- Updated the controllers for the product category landing pages to
filter testimonials by product category and sort them by the order
specified in [the
wireframes](https://www.figma.com/file/3he8e72251IEnF6dBafKq1/%F0%9F%9A%A7-fleetdm.com-(scratchpad)?type=design&node-id=9369-4714&mode=dev)
2024-01-12 19:22:36 -06:00
RachelElysia
5ae52b3a0b
Fleet UI: Update page titles (#15983) 2024-01-12 09:27:56 -05:00
Isabell Reedy
0ceaa406ab
Remove Marcos from maintainers (#15971)
...
2024-01-09 04:25:21 -06:00
Eric
a4fdbdd142
Website: Update categories on pricing page features table (#15835)
Changes:
- Added a new (required) key to pricing-features-table.yml:
`pricingTableCategories` - an array of categories that will be used to
categorize the feature on the pricing page.
- Updated build-static-content to validate pricingTableCategories values
- Updated the pricing page features table to be categorized by the
pricingTableCategories value of features.
- Updated the names of tiers on the pricing features table to match the
cards above the table ("Free" » "Community")
2023-12-22 18:35:16 -06:00
Brock Walters
85f0148e2c
Added nonpunctual GitHub User to humans list (#15813) 2023-12-21 14:42:12 -05:00
Eric
39f9c50cda
Website: Update /try-fleet/explore-data redirect (#15739)
Closes: #15728

Changes:
- Updated `view-query-report.js` to redirect non-logged in users who
visit `/try-fleet/explore-data/*` to `/try-fleet/register`
2023-12-19 17:52:38 -06:00
Eric
32580c823d
Website: Build testimonials in <scrollable-tweets> component from YAML. (#15638)
https://github.com/fleetdm/confidential/issues/4533

Changes:
- Added `/handbook/company/testimonials.yml`.
- Updated `build-static-content` to validate each item in
`testimonials.yml` and to add each item to
`sails.config.builtStaticContent.testimonials`
- Updated the scrollable tweets component to build cards of quotes from
`sails.config.builtStaticContent.testimonials`.
- Updated view-actions for pages where the `<scrollable-tweets>`
component is being used to throw an error if the testimonials
configuration is missing and to send the testimonials config to the
page.
- Updated pages where `<scrollable-tweets>` was being used.
- Updated the landing page generator to create new view-actions that
send the testimonials configuration to generated pages and updated the
template .ejs file.
2023-12-18 15:09:58 -06:00
Eric
d79d9f59db
Website: Update receive-from-github webhook. (#15669)
Closes: #14900
Closes: #15666

Changes:
- Updated the receive-from-github webhook to:
  - Log a warning if a label cannot be deleted from a pull request.
- Reset the array of unfrozen PR numbers when the main branch of
fleetdm/fleet is unfrozen

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-12-18 14:42:31 -06:00
Mike Thomas
e80d1ac717
Website update page titles and descriptions (#15645)
Closes https://github.com/fleetdm/fleet/issues/15615

_I'm sorry, I should have split this into separate PRs. I was trying to
move fast, but I didn't consider how awkward to review this PR would
become._

- Updated page titles and descriptions for:
- Homepage (no change to description. Currently set to the default blurb
from "Why Fleet doc."
    - `/pricing`
    - `/integrations`
    - `/vulnerability-management`
    - `/endpoint-ops`
- `/device-management` (I'm not super happy with this one. I tried to
summarize everything, but I think it's too long. I probably need to
rewrite it in a fast follow PR)
- Renamed `/osquery-management` to `/endpoint-ops` and set up redirect
- Removed `/compliance` (Note: I did not remove the compliance feature
images as they are referenced in various /imagine land pages. I need to
confirm whether those imagine pages are used in active ads?)

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-12-15 08:06:31 +09:00
Eric
2db26cd44e
Website: Add "Explore data" (#15400)
Closes: #14847

Changes:
- Added two new pages:
- `/try-fleet/explore-data`: A page where users can select a host, and
be taken to a page where they can see query results for that host.
- `try-fleet/explore-data/:platformName/:tableName`: A page where users
can see the contents of osquery tables on hosts.
     - The view-action for this page will:
- Redirect unauthenticated users to the /try-fleet/login page. (With a
query parameter that will tell the login/register pages to redirect
users back to this page)
        - Get information for hosts on a specified team.
- Build a filtered list of osquery tables that are compatible with the
host and have queries that will run on a specified host.
- Get the latest query results for a specified query/osquery table for
the specified host, and reorder the results to match the order of the
columns in the osquery schema.
- Updated build-static-content to add information about osquery tables
for the /explore-data pages to
`sails.config.builtStaticContent.osqueryTables`.
- Added 5 new config variables:
- `sails.config.custom.fleetBaseUrlForQueryReports`: The URL of the
Fleet instance used for the /explore-data pages
- `sails.config.custom.fleetTokenForQueryReports`: An API token for the
Fleet instance used for the /explore-data pages
- `sails.config.custom.teamApidForQueryReports`: the API ID of the team
that the hosts listed on the explore-data page are in.
- `sails.config.custom.queryIdsByTableName`: A dictionary containing
key:value pairs where each key is the name of an osquery table, and the
value is the API ID of the query that gets results for this table in a
Fleet instance. This is stored in the custom configuration to make it
easily editable (If we ever need to add or remove queries
- `sails.config.custom.hostIdsByHostPlatform`: A dictionary containing
key:value pairs where each key is a type of operating system, and the
value is the API ID of a Host.
- Updated the `/try-fleet` redirect to go to `/try-fleet/explore-data`
- Updated the "try it out" button links to go to `/try-fleet`
- Updated /try-fleet/login and /try-fleet/register to send users who are
redirected to the page via the /explore-data page to the page they had
tried to navigate to when they log in/create an account.


I'm creating this as a PR as a draft. It will be ready to merge when we:
- [x] Add hosts to the "Explore data (fleetdm.com) [DO NOT DELETE]" team
- [x] Create queries for every compatible osquery table for the "Explore
data (fleetdm.com) [DO NOT DELETE]" team.
- [ ] Add a `sails.config.custom.queryIdsByTableName` config variable
with the query IDs for the queries created in the previous step
- [ ] Add `sails.config.custom.hostIdsByHostPlatform` config variable
with the real host IDs/platforms
2023-12-11 15:29:30 -06:00
Eric
f14ab358fe
2023-11-21 Website: Add new usage statistics (#15263)
Closes: #15255

Changes:
- Added the usage statistics added in
https://github.com/fleetdm/fleet/pull/14216 to the inputs of the
`receive-usage-analytics` webhook.
- Updated the `receive-usage-analytics` webhook to send the new usage
statistics to Datadog.
- Added attributes for the new usage statistics to the
`HistoricalUsageSnapshot` model.
- Removed the `columnName` from the `hostsStatusWebHookEnabled`
attribute of the `HistoricalUsageSnapshot` model, the name of this
column will be changed in the database when the new columns are added to
the databse table.
- Updated the usage statistics documentation to have the new statistics.


This PR requires database migrations. When this is approved and ready to
merge, we will need to:
- [ ] Merge this PR
- [ ] Put fleetdm.com into maintenance mode while the "Deploy Fleet
website" GH action runs.
- [ ] Add the new columns to the database table
- [ ] Change the name of the `hostStatusWebhookEnabled` column to
`hostsStatusWebHookEnabled`
- [ ] Set the default values for the new columns on the existing
records.
- [ ] When the website has finished redeploying, take it out of
maintenance mode.
2023-12-01 17:59:41 -06:00
Eric
4feff451da
Website: Update pricing features yaml and pricing page. (#15294)
Closes: #15265

Changes:
- Updated `pricing-features-table.yml`:
- Changed the structure of the file so it is a flat array of features
(previously, features were nested under a category)
   - Added `productCategories` arrays to features that did not have them
   - Added `usualDepartment` values to features.
- Updated the pricing features validation in `build-static-content` to
work with the new file structure and made `productCategories` a required
value for features.
- Updated `view-pricing.js` to:
- categorize features based on the values of the `productCategories`
array
- build a single array of features (previously, it would also build an
array of features for security-focused buyers).
   - sort premium features to the bottom of the pricing table.
- Updated the `pricing.ejs` to:
   - render only the list of all features server-side
- conditionally show features in the pricing table, depending on the
selected pricing mode
2023-11-22 18:33:32 -06:00
Eric
29671f4249
Website: Update receive-usage-analytics webhook to limit size of requests sent to Datadog. (#15245)
Closes: https://github.com/fleetdm/fleet/issues/15243

Changes:
- Updated the `receive-usage analytics` webhook to send multiple
requests to Datadog, depending on the number of metrics built from
reported usage statistics. (Datadog has a request body limit of 512kb)
2023-11-21 10:15:59 -06:00
Eric
6a6f51dce6
Website: Update usage statistics webhook inputs and HistoricalUsageSnapshot model. (#15180)
Closes: #11812

Changes:
- Renamed the `hostStatusWebhookEnabled` attribute of the
`HistoricalUsageSnapshot` model to `hostsStatusWebHookEnabled` and
updated the definition to use the existing database column name.
- Updated the inputs of the `receive-usage-analytics` webhook to accept
a `hostsStatusWebHookEnabled` input.
- Updated the usage statistics documentation to have the [correct
variable
name](36e12d02e3/server/fleet/statistics.go (L21)).
2023-11-20 15:34:19 -06:00
Eric
9984bc6894
Website: Fix object mutation in receive-usage-analytics webhook. (#15185)
Closes: #15182

Changes:
- Updated the receive-usage-analytics webhook to create new database
records with a cloned `inputs` object. This prevents the JSON attributes
from being mutated into strings.
2023-11-20 12:04:03 -06:00
Michael Pinto
c602a1a2d3
Add pintomi1989 to "Humans" list (#15025) 2023-11-08 11:19:31 -05:00
Paul H Tardif
b383888202
Add phtardif1 to list of humans (#14937)
...

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2023-11-03 16:02:04 -05:00
3KindsofFish
efdbf39009
add 3kindsoffish to list of humans (#14705)
...
2023-10-23 15:22:57 -05:00
Eric
4a6bf0d447
2023-10-24 Website: Update /try-fleet (#14638)
Closes: https://github.com/fleetdm/confidential/issues/4015

Changes:
- Changed the url for `/fleetctl-preview` to
`/try-fleet/fleetctl-preview`
- Updated the controller for the `/fleetctl-preview` page to redirect
non-logged-in users to `/try-fleet/login`
- Removed the route for `/try-fleet/sandbox-expired`, and added a
redirect going to `/try-fleet/fleetctl-preview`.
- Updated the controller for `/try-fleet/sandbox` to redirect the users
without a non-expired Sandbox instance to `/try-fleet/fleetctl-preview`.
- Updated `signup.js` to not provision Fleet sandbox instances for
users.
- Updated the `User` model to support a third `signupReason`: "Try
Fleet"
- Updated `/try-fleet/register` to submit "Try Fleet" as a
`signupReason` when users sign up.
- Renamed the files for the `/fleetctl-preview` page (`get-started` »
`fleetctl-preview`)
- Updated/removed Fleet Sandbox related handbook sections.
- Replaced the "Fleet vs Fleet Sandbox" section in the deploying
documentation with a note about `fleetctl preview`.
- Updated links to Fleet Sandbox in articles.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2023-10-20 13:59:18 -05:00
Victor Lyuboslavsky
8d0f37f926
Added getvictor to list of humans (#14548)
...
2023-10-13 16:31:30 -05:00
Joanne Stableford
972b61967f
Update humans list in receive-from-github.js (#14518)
...
2023-10-12 17:58:59 -05:00
Sampfluger88
b43188a671
Offboarding » Mo (#14470)
...
2023-10-11 15:25:51 -05:00
Eric
eafc9ab313
Website: Add two events to stripe webhook, add comments about when events are sent. (#14370)
Changes:
- Added the `invoice.updated` and `invoice.voided` events to the
`STRIPE_EVENTS_SENT_BEFORE_A_SUBSCRIPTION_RECORD_EXISTS` array in the
`receive-from-stripe` webhook.
2023-10-07 10:54:45 -05:00
Eric
e61d91a35e
Website: Update receive-from-stripe webhook to handle failed payments when creating a subscription. (#14348)
Changes:
- Added two events to the
`STRIPE_EVENTS_SENT_BEFORE_A_SUBSCRIPTION_RECORD_EXISTS` array in the
`receive-from-stripe` webhook
2023-10-06 10:07:51 -05:00
Eric
04a3f18a60
Website: Add integrations page (#14128)
Changes:
- Added a new page: /integrations
- Added the page to `config/policies.js`, `config/routes.js`, and
`assets/styles/importer.less`
- Added a link to the page to the "Platform" navigation dropdown.


This PR will be ready for review when:
- [ ] The meta description (in routes.js) is approved
- [ ] The text that replaces the lorum ipsum in the wireframes has been
approved.
2023-10-05 08:52:19 +09:00
Jahziel Villasana-Espinoza
56e5a978d2
adding Jahziel to humans list (#14120)
...
2023-09-25 15:42:47 -04:00
Eric
85fdeb4234
2023-09-16: Website: Update sitemap, set lastModifedAt timestamps for osquery schema pages. (#13725)
Closes: #13728

Changes:
- Added /support to the array of hand-coded HTML pages in
`download-sitemap.js`:
- Updated `get-extended-osquery-schema`:
- Added a new (optional) input: `includeLastModifiedAtValue` if this
input is provided, the helper will:
      - Set a `lastModifiedAt` value on all tables.
- Send a request to the GitHub API to get a lastModifiedAt timestamp for
tables that have no fleet overrides.
- Use `git` to get a lastModifiedAt timestamp of when the tables YAML
file was changed.
- Updated the `build-static-content` script to include a lastModifiedAt
timestamp for table pages, and updated the `lastModifiedAt` value that
is set for pages built from `/handbook/company/open-positions.yml`

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-09-15 18:39:39 -05:00
Anthony Snyder
741ace0515
Added new user to "humans" list (#13951) 2023-09-15 09:58:56 -06:00
Nathanael Holliday
6d6e188ced
Update receive-from-github.js (#13823)
Removed an employee no longer at Fleet.
2023-09-08 20:25:19 -05:00
Eric
2a66915915
Website: remove /overview & unused images (#13840)
Closes: #13769

Changes:
- Removed the /overview page
- Updated routes, importer.less, and policies
- Removed 21 unused images
2023-09-08 20:23:36 -05:00
Eric
ac8150a319
Website: Create Platform model and use platform record to track mergefreeze status. (#13681)
Closes: #11755

Changes:
- Created a new model: `Platform` that has a single attribute:
`currentUnfrozenGitHubPrNumbers`
- Updated bootstrap.js to throw an error if more than one platform
record exists, and to create a platform record when the server is lifted
with the `--drop` flag.
- Updated the receive-from-github webhook to use a Platform record to
track the PRs that are currently unfrozen in the fleetdm/fleet repo.

Before this Pr is merged, we will need to:
- [x] Migrate the Fleet website's database to add the new database
table.
- [x] Create a single platform record.
2023-09-05 16:31:40 -05:00
Eric
2708933529
Website: build handbook pages for open positions from YAML. (#13672)
Closes: #13536

Changes:
- Deleted all handbook pages for current open positions.
- Created `/handbook/company/open-positions.yml`, and created entries
for the deleted handbook pages.
- Updated the build script to generate handbook pages for every entry in
`open-positions.yml`, and add information about each open position to
`sails.config.builtStaticContent.openPositions`
- Created a new component: `<open-positions>` - A component that takes a
single prop (named `openPositions`) that renders links to open position
handbook pages.
- Updated the "Creating a new position" section of the handbook to have
updated instructions for adding a new position to `open-positions.yml`
.
2023-09-04 21:20:57 -05:00
Eric
eb680a3cd3
Website: Update GH webhook to handle draft PRs that have been marked as ready for review (#13693)
Closes: #13477

Changes:
- Updated the receive-from-github webhook to handle draft pull requests
that have been marked as ready for review...
2023-09-04 21:06:57 -05:00
pacamaster
a02b8b140d
adding Grant to list of humans (#13641)
...
2023-08-31 14:51:34 -06:00
Mike McNeil
35834c12e0
Automation: Only attach #g-ceo label if not draft (#13383)
Why? So it doesn't show up in the #g-ceo board until it's time to review
it
2023-08-19 19:58:00 -05:00
Eric
944be6d876
Website: Update error handling in Stripe webhook. (#13369)
Closes: https://github.com/fleetdm/confidential/issues/3356

Changes:
- Updated the `receive-from-stripe` webhook not to throw an error if it
receives an event that stripe sends before we create a subscription
record in the website's database. It will now check if the Stripe
customer referenced in the event matches a User record in the database
and throws an error if it no matching user is found.
2023-08-18 18:16:03 -05:00
Sampfluger88
e8c88399f0
removing DRI (#13354)
.
.
2023-08-16 22:22:22 -05:00
Will Mayhone
f5649513a4
Adding willmayhone88 to humans (#13331)
.
2023-08-15 23:31:37 -05:00
Mike McNeil
d92e5df64c
Automation: Draft PRs now get #g-ceo label if appropriate (#13325)
Closes #13324

Previously, `expectedReviewers` were not built for draft PRs, (they were
left empty) which meant the code for determining whether a PR should get
the #g-ceo label didn't work for PRs that began their life as draft PRs.
2023-08-14 23:00:47 -05:00
Tim Lee
1a0186e0fd
Add mostlikelee to maintainers (#13185) 2023-08-07 12:47:20 -06:00
Eric
46802ee56a
Website: Add admin page to manage the Fleet Sandbox waitlist (#13111)
Closes: #12954

Changes:
- Added an admin page that displays a table containing all of the users
that are currently on the Fleet Sandbox waitlist where admins can
approve waitlisted users.
- Added a new email template that tells users that their Fleet Sandbox
instance is ready.
- Added a new action:
`admin/provision-sandbox-instance-and-deliver-email.js`, an action that
provisions a Fleet sandbox instance for a single user and sends them an
email telling them that their Fleet Sandbox Instance is ready.
- Added a script that provisions a Fleet Sandbox instance for the user
who has been on the waitlist the longest and sends them an email telling
them that their Sandbox instance is ready.
2023-08-04 18:32:00 -05:00
Eric
ab504d766a
Website: Update admin license generator (#13101)
Closes: https://github.com/fleetdm/confidential/issues/3230

Changes:
- Added a new (optional) input to the admin license key generator:
`partnerName`.
- Renamed `admin/generate-license-key.js` to
`admin/build-license-key.js`, updated routes and regenerated
`cloud.setup.js`
- Updated the create license key helper to add a `partner` field to the
generated license key if `partnerName` is provided.
2023-08-04 14:48:29 -05:00
Eric
3e1936d9c7
Website: add <rituals> component, add ritualsTables (parsed from YAML) to website configuration (#13084)
Changes:
- Updated the `build-static-content` script to parse files named
`rituals.yml` in the handbook folder, and add the contents to the
website's configuration as
`sails.config.builtStaticContent.ritualsTables`, and to throw errors if
a `rituals.yml` file contains a ritual that is missing a required value.
- Created the `<rituals>` component, a component that takes a single
prop (`ritualsTable`) and renders a table containing a row for each
ritual.
- Added a new property to `handbook/company/rituals.yml` - moreInfoUrl.
If this value is present, the description in the rendered HTML table (of
the `<rituals>` component) will link to the URL provided.
- updated view-basic-handbook to send
`sails.config.builtStaticContent.ritualsTables` in `SAILS_LOCALS`

---------

Co-authored-by: Sampfluger88 <108141731+Sampfluger88@users.noreply.github.com>
2023-08-03 21:58:02 -05:00
Isabell Reedy
ed121fcda8
Update received from github to add ireedy to new humans 2023-08-03 07:17:41 +09:30
Andrew Baker
864b8dd44c
Create jamf alternative landing page (#13066)
# 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)).

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-08-01 18:03:10 -04:00
Eric
47227d7bd3
Website: add Fleet Sandbox waitlist (#13028)
Changes:
- Added a new config variable:
`sails.config.custom.fleetSandboxWaitlistEnabled`
- Added a new attribute to the website's `user` model:
`inSandboxWaitlist`
- Updated `signup.js` to create user accounts without a Fleet sandbox
instance and `inSandboxWaitlist` set to true if
`sails.config.custom.fleetSandboxWaitlistEnabled` is true.
- Added /try-fleet/waitlist, a page that shows a message to users who
have been added to the Fleet sandbox waitlist.
- renamed`view-sandbox-teleporter-or-redirect-because-expired.js` to
`view-sandbox-teleporter-or-redirect-because-expired-or-waitlist.js` and
updated it to redirect users who are on the Fleet Sandbox waitlist to
/try-fleet/waitlist

Before this PR can be merged, we need to:
- [x] Add `sails.config.custom.fleetSandboxWaitlistEnabled` config
variable in Heroku.
- [x] Add the new attribute to the user table in the website's database
- [x] Update existing `user` records to have the new attribute (set to
false)
..
2023-07-28 18:56:54 -05:00
Eric
081e0e432a
Website: Update self-service license dispenser (#12987)
Related to: https://github.com/fleetdm/confidential/issues/3219

Changes:
- Updated `save-billing-info-and-continue.js` to check a new
subscription's invoice before completing the order.
- Added a new error message to the self-service license dispenser to
tell users signing up if a card provided requires additional
verification.
...
...
2023-07-27 21:11:23 -05:00
Jarod Reyes
5cc3ef3e8e
Adding defcon landing page to /imagine (#12867)
# 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)).

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-07-24 14:42:46 -05:00
Mike McNeil
b660c5a222
GitHub automation: Reduce logging (#12920)
- Smile at the log retention gods
- Plus fix a bug
2023-07-22 16:16:17 -05:00
Mike McNeil
55f6f8300b
Fix #g-ceo label attachment and simplify DRI auto-review-request logic (#12919)
- Fix #g-ceo label attachment
- Simplify DRI auto-review-request logic
2023-07-22 15:47:36 -05:00
Mike McNeil
6305cb18f8
Fix #g-ceo label management (#12918) 2023-07-22 14:57:45 -05:00
Mike McNeil
6460893a5c
Deduplicate config, auto-remove #g-ceo and #handbook labels when appropriate, improve comments (#12915)
- Deduplicate config for DRI vs CODEOWNERS (this eliminates extra
notifications folks were receiving)
- auto-remove #g-ceo and #handbook labels when appropriate
- improve comments
2023-07-22 14:07:54 -05:00
Mike McNeil
199dbf9211
Update logging in GitHub webhook (ensure we're reducing notifications) (#12913) 2023-07-22 11:50:26 -05:00
Mike McNeil
e591744b32
Remove accidental escalation of approval requests (#12911)
This fix reduces the extra approval requests that started appearing
recently for stuff like /imagine pages
2023-07-21 22:37:29 -05:00
Mike McNeil
5cfd2db4e2
GitHub automation: Listen for "synchronize" events (#12804) 2023-07-15 23:19:32 -05:00
Mike McNeil
33ae2dbc4a
Fix one more bug in github automation (#12801) 2023-07-15 22:49:32 -05:00
Mike McNeil
24d45c3316
Add in logs to see what's going on with ancestral paths (#12800) 2023-07-15 22:34:11 -05:00
Mike McNeil
9c11b43bce
GitHub automation: Correctly check author using lowercased version of… (#12795)
GitHub automation: Correctly check author using lowercased version of
github username
2023-07-15 22:06:06 -05:00
Mike McNeil
6aa57951f9
Properly handle PR edits even when the original PR author is the DRI (#12793) 2023-07-15 21:43:55 -05:00
Mike McNeil
9badb14d98
Fix flipped conditional in DRI auto-request logic (#12792) 2023-07-15 21:17:30 -05:00
Mike McNeil
bfb5fcc1ee
reevaluate and potentially request review from others when PR is edited (#12787)
- reevaluate and potentially request review from others when PR is
edit…ed
- plus two optimizations to avoid tricking/testing the github api with
duplicate reviewers and empty reviewers
2023-07-15 20:35:12 -05:00
Sampfluger88
0d93b9687b
Request review automatically for non-codeowners (#12786)
https://github.com/fleetdm/confidential/issues/3146

To test this works:
- sam should be able to change ceo handbook and be autoapproved
- mike submitting a PR to the ceo handbook should request review from
Sam but auto-approve for mike
- Jarod's use case of creating an article should now work, even if his
PR contains images

.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-07-15 19:56:30 -05:00
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
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
Charlie Chance
54294b7879
MAINTAINERS: offboarding (#8513)
offboarding Tim and Juan.
2022-10-31 23:09:19 -05:00
Eric
6db419001f
Update receive-usage-analytics.js (#8239) 2022-10-14 18:37:31 -05:00
gillespi314
5603ee8114
Add more usage stats to Sails app (#8230) 2022-10-14 13:54:23 -05:00
Zay Hanlon
dca77054c5
Onboarding: Add 'zayhanlon' to Humans (#8166)
As part of onboarding issue, add 'zayhanlon' to Humans within receive-from-github.js
2022-10-11 11:35:23 -05:00
Eric
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
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
15ac7ac189
Update save-billing-info-and-subscribe.js (#7897) 2022-09-22 11:58:31 -05:00
wclithero
eac6134b79
Request to add wclithero as a maintainer (#7087)
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
2022-09-21 17:08:14 -07:00
Eric
2f00e528dc
Website: Move docsearch public api key to config variable (#7771)
* move docsearch api key to a config variable, update styles to disable outline on input

* Update basic-handbook.less

* Update basic-handbook.less

* update config variable name & update comment
2022-09-21 18:13:47 -05:00
Eric
a5d2d7e390
Website: add support for description meta tags in markdown articles (#7887)
* add support for meta description tags on markdown articles

* Add description meta tag section to article formatting guide
2022-09-21 17:14:58 -05:00
Mike McNeil
e5ab039e2b
GitHub bot: Separate bots and humans for clarity, remove old bot username, etc (#7846) 2022-09-19 22:09:02 -05:00
Marcos Oviedo
dd50d0c889
Add myself as maintainer in receive-from-github.js webhook (#7824) 2022-09-19 19:13:10 -03:00
Frank Sievertsen
5614ab2501
Add fx5 to list of GitHub usernames (#7683) 2022-09-12 17:14:06 +02:00
Eric
e381c3fe52
Website: Add Newsletter banner and NewsletterSubscription model (#7370)
* create NewsletterSubscription Model

* create subscribe and unsubcribe actions, update cloud-sdk, policies & routes

* Add newsletter email layout

* add newsletter form, update styles and page script

* Update cloud.setup.js

* lint fixes

* Update homepage.less

* unsubscribe-from-newsletter » unsubscribe-from-all-newsletters

* remove unused exit

* comment out unused attributes, update assets/.eslintrc

* update layout

* update layout after updating from main

* Update actions and routes

* lint fix
2022-09-02 17:38:34 -05:00
Charlie Chance
fe69cc7da8
Update: removed offboarded fleeties (#7427)
* Update: removed offboarded fleeties

* Update receive-from-github.js

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-08-29 13:56:16 -05:00
Eric
c1f2e8a810
Update sails.helpers.http.del usage (#7340)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-08-22 13:11:54 -05:00
Eric
e2022c67db
Website: send request to Zapier when a subscription is created (#7273)
* Website: send request to Zapier when a license is purchased

* Update error message/lint fix

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-08-17 18:46:24 -05:00
Eric
7974bdfa80
Website: Fleet Sandbox (#6380)
* create pages, add routes, update policies

* add new pages to importer

* sandbox page

* login -> sandbox-login

* Update login.less

* psuedo-code/code comments

* remove sandbox page

* Revert "remove sandbox page"

This reverts commit d5a1280759.

* view action drafts

* delete forgot-password page

* two new actions + draft code

* change action name

* Draft view actions and page scripts

* Update signup.js

* update comments

* update signup & sandbox-login page script

* update helper comments

* update helper usage in comments

* view-sandbox » view-sandbox-or-redirect

* Update helpers, actions, and routes

* login » sandbox-login

* update attributes on user model

* update signup action

* update page scripts and importer

* Update view-register.js

* html + css

* update signup and view-sandbox-or-redirect

* Password reset

Update user's sandbox password when they have a sandbox instance

* add new-sandbox, update sandbox page

- `/try-fleet/new-sandbox` added for users who don't have an existing Fleet Sandbox instance,
- `/sandbox` updated to redirect users to the `/demologin` endpoint of their Fleet Sandbox instance if it is still valid, or display the sandbox expired state
-  updated policies & routes

* layout and importer updates

* update sandbox-login links & page script

* update signup action

* change logout redirect location to homepage

* lint fixes

* lint fixes

* Update sandbox & sandbox-expired

* Comment updates

* update password requirements for existing pages

* remove /get-started route

* lint fixes

* replace env variable with url

* remove `required: false` from organization attribute on user model

* send redirectToSandbox from view instead of routes

* changes sandbox page name

* add 10 second timeout to /healthz check, add authorization header to cloud provisioner request

* update environment variable name

* update authorization header

* remove /new-sandbox

* update unauthorized response to redirect to correct login screen

* update comments

* update layout

* replace new-sandbox redirects with consistency violation errors

* Provision Fleet sandbox for users logging in

* Revert "Provision Fleet sandbox for users logging in"

This reverts commit 6297c33892.

* Revert "Revert "Provision Fleet sandbox for users logging in""

This reverts commit c2a2567b68.

* Revert "Revert "Revert "Provision Fleet sandbox for users logging in"""

This reverts commit acc178ea76.

* update sandbox-login mobile styles

* update sandbox-expired page to match latest wireframes

* remove required: false and planned changes comments, update signup errors and behavior

* update error

* lint fix on updated error

* Update error's indentation

* remove added forgot-password flow, add redirect for sandbox users changing their password

* Use fleetSandboxDemoKey to login to Fleet Sandbox, remove password changing flow

* update bootstrap to give admin user an expired sandbox

* Update signup.js

* remove unused exits, revert password recovery email changes

* required:false is implied if unspecified, so can be omitted

* Remove defaultsTo: '', since it is not needed

This applies the changes discussed in https://github.com/fleetdm/fleet/pull/6380#discussion_r929538495

It also makes two other trivial changes.

* Eliminate another unnecessary require:false

I think this one is actually baked into the sails-generate template.

* remove custom password validation

* update page name (sandbox-teleporter) and view action name

* revert minor changes to existing files

* update sandbox login friendlyName

* Update unauthorized response to redirect to /login

* Delete new-sandbox.less

* update layouts and importer

* add /fleetctl-preview route for old get-started page, update sandbox route

* update signup action with changes from review, add retry() to cloud provisioner request

* Update routes.js

* add missing comma to route

* update layout, fix typo in signup

* Update sandbox-expired.ejs

* lint fixes

* Update download-sitemap.js

* small whitespace changes, regenerate cloud-sdk

* remove placeholder text in password inputs

* add loading spinner to sandbox teleporter

* add logout button to header nav

* hide header on sandbox-teleporter

* update errors, check if a user already exists before cloud provisioner request

* Update sandbox-teleporter.page.js

* Update sandbox-teleporter.page.js

* Update signup.js

* resize loading spinner, history.pushState() » history.replaceState()

* send users who reset their password back to the fleetdm.com homepage

* Add Zapier webhook request for sandbox signups

* rebuild-scloud-sdk after resolving merge conflict

* update zapier request error

* Add comment w/ context about how Zapier responds with a 2xx even if there was a problem

* Update links to /get-started to go to /try-fleet/register, change /get-started redirect

* Revert changes to links

* add /test-fleet-sandbox redirect, revert /try-fleet redirect

* send logged out users to the sandbox login page when they go to /try-fleet/sandbox

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-08-12 17:31:01 -05:00
Eric
7fe9a27590
Website: update sitemap (#7107)
* Website: update hand coded html pages in sitmap

* add /podcasts
2022-08-12 11:54:01 +09:00
Eric
edcf09febd
Website: add Zapier webhook to signup.js (#7177)
* Add Zapier webhook request to signup form, add signupReason input

* webhook-secret » webhookSecret
2022-08-11 21:05:24 -05:00
Eric
667c566b28
Website: Remove machinepack-github dependency (#7101)
* Remove machinepack-github dependency, update recieve-from-github

* remove unused variable, update headers in delete request
2022-08-08 16:58:48 -05:00
Martin Angers
012869f971
Fleet Premium: de-anonymize usage stats (#7013) 2022-08-03 14:44:34 -04:00
Artemis Tosini
e6e1a0fa02
Add artemist-work as maintainer in receive-from-github.js webhook (#7034) 2022-08-03 10:39:13 -05:00
Eric
abadf8efe3
Website: pricing update (#7018)
* pricing update

* change env variable name
2022-08-02 13:57:48 -05:00
Mike McNeil
0276640630
Bot: Fix GitHub API integration for adding "#handbook" label (#7011)
Closes https://github.com/fleetdm/confidential/issues/1574

This is a follow-up to fix a couple of issues introduced in https://github.com/fleetdm/fleet/pull/6967
2022-08-01 23:14:56 -05:00
Eric
20afcb8f29
Add #handbook label to handbook only PRs (#6967)
* add #handbook label to handbook PRs

* Update get-is-pr-only-handbook-changes.js

* remove while loop from _.all()

* revert changes to github token name

* Simplifications

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-08-01 22:27:54 -05:00
Eric
f4c2b62fd5
Website: Conditionally show swag CTA (#6964)
* conditionally hide fleet swag form

* Check cp-ipcountry and cp-iplongitude

* update comment

* use req.get(), update comment
2022-08-01 15:58:05 -05:00