Commit graph

445 commits

Author SHA1 Message Date
Eric
2e19e37a0a
Website: Update leads created from "Talk to us" form submissions. (#20140)
Related to: #20107


Changes:
- Updated the description of leads created from "Talk to us" form
submissions to include the name of the Calendly event.
2024-07-02 16:25:54 -05:00
Eric
74fdf7a29d
Website: update username in authorGitHubUsername meta tags & list of maintainers (#19999)
Changes:
- Updated the `authorGitHubUsername` meta tag for three articles
- Updated a GitHub username in the list of maintainers in the
receive-from-github webhook.
2024-06-25 16:42:41 -05:00
Eric
e2ab9a2fe8
Website: Update Vanta authorization URL when a redirect URL is specified (#19798)
Closes: https://github.com/fleetdm/confidential/issues/6069

Changes:
- Added a new route going to the create-vanta-authorization-request
action: `/api/v1/create-external-vanta-authorization-request`
- Added a new input to the create-vanta-authorization-request action:
`sharedSecret` - A secret that must match
`sails.config.custom.sharedSecretForExternalVantaRequests` when an
external request is made to the
`/api/v1/create-external-vanta-authorization-request` endpoint
- Updated the authorization URL returned by the
create-vanta-authorization-request endpoint
- Updated the redirect in the view-vanta-authorization endpoint (if a
redirect URL is provided) to not use res.redirect() (it causes 500
errors) when redirecting users.
2024-06-17 13:28:39 -05:00
Eric
30f90c8216
Website: Remove "explore data" pages (#19777)
Related to: https://github.com/fleetdm/confidential/issues/5573

Changes:
- Deleted /explore-data pages and related files
- Added redirects for removed pages.
- Removed all explore data related website configuration in the
build-static-content script.
- Removed the explore data section of the custom configuration.
2024-06-14 17:50:07 -05:00
Eric
9cd452e8d5
Website: Update Vanta integration (#19349)
Closes: https://github.com/fleetdm/confidential/issues/6069

Changes:
- Added a new action to add support for the Vanta integration to be set
up from a partners website. This action sets the required cookies
provided via queryString and redirects users to the Vanta authorization
page.
- Updated the `create-vanta-authorization-request` action to redirect
users who provide a `redirectToExternalPageAfterAuthorization` value the
new endpoint instead of returning a vanta authorization URL.
- Updated `view-vanta-authorization` to redirect users to the URL
provided to the `create-vanta-authorization-request` endpoint (if one
was provided)
2024-06-14 07:40:49 -04:00
Eric
80a9ffeb69
Website: add step to the /start questionnaire for users who don't want to use Fleet (#19514)
Closes: https://github.com/fleetdm/confidential/issues/6287

Changes:
- Added a new page to the /start questionnaire where users can let us
know they're not interested in using Fleet.
2024-06-05 10:52:25 +09:00
Eric
9ea69df576
Website: add new usage statistics (#19315)
Closes: https://github.com/fleetdm/fleet/issues/19308

Changes:
- Added six new attributes to the `HistoricalUsageSnapshot` model (
`numSoftwareVersions`, `numHostSoftwares`, `numSoftwareTitles`,
`numHostSoftwareInstalledPaths`, `numSoftwareCPEs` and
`numSoftwareCVEs`)
- Added inputs to the receive-usage-analytics webhook for the new usage
statistics.


When this PR is merged, we will need to migrate the Fleet website's
database to add the new columns, to do this:
- [x] Make an announcement in Slack to let people know the website will
be offline for ~8 minutes
- [ ] Merge this PR
- [ ] As the deploy action runs, put the website into maintenance mode
- [ ] Add the new columns for the added attributes
- [ ] Set the default value for the new attributes on existing database
records
- [ ] After the deploy workflow is complete, take the website out of
maintenance mode.
2024-06-04 18:36:25 -05:00
Eric
f546ebe102
Website: uncomment MergeFreeze requests in GitHub webhook (#19449)
Closes: #19369

Changes:
- Re-enabled the requests to MergeFreeze in the receive-from-github
webhook
2024-06-03 10:44:02 -05:00
Eric
bf239ecc78
Website: Add site-wide CTA to bring users back to the /start questionnaire (#19393)
Closes: #18530

Changes: 
- Added a collapsable sitewide CTA to bring users who have not completed
the get started questionnaire back to the /start page.
- Added a new action (`account/updateStartCtaVisibility`) to set a
timestamp of when the CTA will be visible (not collapsed) in a user's
session when they close the CTA

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-05-31 18:44:13 -05:00
Eric
a28f0a9422
Website: disable MergeFreeze requests in receive-from-github webhook. (#19371)
Related to: https://github.com/fleetdm/fleet/issues/19369

Changes:
- Disabled the requests to MergeFreeze that unfreeze auto-approved PRs
when the main branch of the Fleet repo is frozen.
2024-05-30 11:19:55 -05:00
Roberto Dip
d98e1ecf27
allow to customize the signed CSR return type (#19213)
for #19027, this modifies the website to accept an `deliveryMethod` parameter to
respond with the signed CSR instead of delivering an email.

The current approach also maintains backwards compatibility:

**Response without `deliveryMethod` (unchanged except for custom headers)**

```
$ curl --insecure -v -H 'content-type: application/json' http://localhost:2024/api/v1/deliver-apple-csr -d '{"unsignedCsrData": "foo"}'
*   Trying [::1]:2024...
* Connected to localhost (::1) port 2024
> POST /api/v1/deliver-apple-csr HTTP/1.1
> Host: localhost:2024
> User-Agent: curl/8.4.0
> Accept: */*
> content-type: application/json
> Content-Length: 26
>
< HTTP/1.1 200 OK
< X-Powered-By: Sails <sailsjs.com>
< Cache-Control: no-cache, no-store
< X-Exit: success
< X-Exit-Description: Delivered email to specified email address with certificate signing request attached.
< Content-Type: text/plain; charset=utf-8
< Content-Length: 2
< ETag: W/"2-nOO9QiTIwXgNtWtBJezz8kv3SLc"
< Set-Cookie: sails.sid=s%3AqOZoNKY2CCZ6PFb9fIKaAjtiTKjB7Gum.9jodWIUG6DCNnXu%2Bn%2BF8cJmI%2Fn19Tk%2FdIkDPBl%2BILbI; Path=/; HttpOnly
< Date: Wed, 22 May 2024 18:23:16 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
OK
```

**Response with `deliveryMethod=json`**

```
$ curl --insecure -v -H 'content-type: application/json' http://localhost:2024/api/v1/deliver-apple-csr?deliveryMethod=json -d '{"unsignedCsrData": "foo"}'
*   Trying [::1]:2024...
* Connected to localhost (::1) port 2024
> POST /api/v1/deliver-apple-csr?alt=json HTTP/1.1
> Host: localhost:2024
> User-Agent: curl/8.4.0
> Accept: */*
> content-type: application/json
> Content-Length: 26
>
< HTTP/1.1 200 OK
< X-Powered-By: Sails <sailsjs.com>
< Cache-Control: no-cache, no-store
< Content-Type: application/json; charset=utf-8
< X-Exit: success
< X-Exit-Description: Delivered email to specified email address with certificate signing request attached.
< X-Exit-Output-Friendly-Name: RSS feed XML
< Content-Length: 26
< ETag: W/"1a-NnuclRv86ZEKA9WB967iUGlz84s"
< Set-Cookie: sails.sid=s%3AbpaKOTbNe4E911qH4z1-12ABGd_z2d2I.mAimDARoZgnq8zpJHcF95y8qFJXX0iky4Suj0HUKjpI; Path=/; HttpOnly
< Date: Wed, 22 May 2024 18:22:07 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
{"csr":"UEQ5NGJXdy4uLg=="}
```

# Checklist for submitter

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

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-05-28 10:08:03 -03:00
Eric
2af2c41572
Website: Update round robin in salesforce helpers & move lead creation to save-questionnaire-progress. (#19209)
Closes: #18932

Changes:
- Updated `update-or-create-contact-and-account.js` to not round robin
new account records created.
- Updated create-lead to reassign accounts owned by the integrations
admin user when a new lead is created.
- Updated logged warnings in signup, deliver-contact-form-message and
deliver-talk-to-us-form-submission.
- Updated signup.js to not create salesforce leads (only account and
contact records)
- Updated save-questionnaire-progress to create Salesforce leads when we
know the user has a use case for Fleet.
2024-05-27 16:43:40 -05:00
Nathanael Holliday
b1a18bc4a5
Remove former employee from receive-from-github.js (#19189)
Removed departed employee

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
Co-authored-by: Sampfluger88 <sampfluger88@gmail.com>
2024-05-24 19:29:00 -05:00
Dale Ribeiro
21a6f3bfdb
Updated to include Dale (#19202)
Co-authored-by: Isabell Reedy <113355639+ireedy@users.noreply.github.com>
2024-05-22 12:41:58 -04:00
Eric
31f8c7e548
Website: Create new Salesforce helper, update contact form actions and signup action. (#19082)
Changes:
- Added a new helper:
`salesforce/update-or-create-contact-and-account-and-create-lead`, a
wrapper for the `update-or-create-contact-and-account` and `create-lead`
helpers that is intended to be run in the background.
- Updated the `signup`, `deliver-contact-form-message`, and
`deliver-talk-to-us-form-submission` actions to use the new helper
2024-05-16 15:38:09 -05:00
Savannah Friend
997d9c60b8
Added Username to receive-from-github.js (#18956)
.
2024-05-14 17:01:14 -05:00
Eric
cde4a61bd3
Website: requested changes from website review (#18923)
Changes:
- Moved the logic for redirecting users to the license dispenser after
they login/sign up into the page scripts for the login and register
pages.
- Updated error messages in the create lead helper
2024-05-10 16:33:45 -05:00
Eric
4ee1d0b736
Website: update receive-usage-analytics webhook (#18864)
Related to: https://github.com/fleetdm/fleet/issues/18863

Changes:
- Updated the receive-usage-analytics webhook to set a default value for
organization if a Fleet instance reports an empty string as its
organization.
2024-05-09 08:39:49 -05:00
Eric
6e1bb1b85b
Website: Fix assertion error in save-questionnaire-progress (#18818)
Related to: https://github.com/fleetdm/fleet/issues/18817

Changes:
- Updated a conditional statement in save-questionnaire-progress to
check the correct variable for a user's previous answer to the "Have you
ever used Fleet?" question
2024-05-07 16:46:00 -05:00
Mike McNeil
507ac65f8b
Website: Add missing pages to sitemap (#18762) 2024-05-06 07:16:36 -05:00
Mike McNeil
57b52204a9
Website: Update view-device-management.js (#18752)
Prioritize quotes that are directly about MDM on the MDM page.
2024-05-03 17:31:30 -05:00
Eric
b8793ee776
Website: Update save-questionnaire-progress (#18753)
Follow up PR to https://github.com/fleetdm/fleet/pull/18721.
2024-05-03 17:29:56 -05:00
Eric
7c3f029f78
Website: reduce time to submit steps of the /start questionnaire. (#18721)
Related to: https://github.com/fleetdm/confidential/issues/6357

Changes:
- wrapped the `updateOrCreateContactAndAccount` helper call in
`save-questionnaire-progress` in `setImmediate()` to allow users to
progress through the form without waiting for CRM updates.
2024-05-03 17:23:05 -05:00
Rachael Shaw
5f442a8002
Tiny tweak to a comment (#18709)
Just making it a touch clearer why we're changing a key name/deleting a
key from the Open API response.
2024-05-02 17:39:39 -05:00
Mike McNeil
671ad9bf6a
Website: Update save-questionnaire-progress.js (#18697)
Eric, I did not test this (coded live w/ mike T). Relying on your eyes.
Also, remember remember the old legacy data that might need to be
migrated, especially since I added some assertions? (whuh ohhh)
2024-05-02 11:25:48 -05:00
Eric
ba229a153c
Website: Update save-billing-info-and-subscribe.js (#18708)
Closes: #18702

Changes:
- Removed the request to Zapier in save-billing-info-and-subscribe
2024-05-02 10:55:36 -05:00
Rachael Shaw
81a98ec54b
Update prompt for API endpoint to get human interpretation of osquery SQL (#18695)
When using this API many times in a row to try and populate real policy
descriptions/resolutions, I discovered a problem: the inferred
resolution (“What we’ll do”) almost never used decisive language, so
you'd get a lot of “probably”, etc., when we really want it to sound
more confident about what will happen during the maintenance window.
(The calendar events say what WILL happen to your device, not what
should probably happen.)

After several attempts to tweak the prompt, I ended up getting the best
results by just removing "probably" from
`whatWillProbablyHappenDuringMaintenance`. I made this change to the
prompt without changing the data that this API returns.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-05-01 19:18:12 -05:00
Eric
f486abdf56
Website: Update /start questionnaire to add additional steps for users who don't want to self-host Fleet. (#18580)
Closes: https://github.com/fleetdm/confidential/issues/6268


Changes:
- Updated the questionnaire on the /start page to take users who answer
"I'd like you to host Fleet for me" on the "What did you think?" step to
the host count question.
- Updated the /start page script to handle this new behavior.
- Updated how psychologicalStage is set for users who answer the host
count question in `save-questionnaire-progress`.
- Updated `save-questionnaire-progress` to only call the salesforce
helper if the user's `psychologicalStage` changes.
2024-05-01 19:01:56 -05:00
Eric
806c88f006
Website: Add steps for users who deploy Fleet to /start questionnaire (#18661)
Changes:
- Added two steps to the /start questionnaire for users who select "I
want to deploy Fleet in my environment" on the "What did you think"
question.
- Updated save-questionnaire-progress to set psychologicalStage based on
selected answers to the new questions
2024-05-02 08:22:47 +09:00
Eric
63f8850877
Website: replace zapier request in signup.js with createLead() (#18688)
Closes: https://github.com/fleetdm/confidential/issues/6355

Changes:
- Replaced the reqeust to zapier in `signup.js` with
`sails.helpers.salesforce.createLead()`.
- Updated signup.js to only call the salesforce helpers when the website
is running in a production environment.
- Updated the `createLead` to handle errors when retrieving or creating
salesforce records, and to set a provided `numberOfHosts` and
`primaryBuyingSituation` on created lead records.
2024-05-01 16:25:12 -05:00
Gabe Lopez
d2ceb980fe
Update receive-from-github.js to add Gabe Lopez (PezHub) (#18685)
New hire!
2024-05-01 14:42:29 -04:00
Mike McNeil
c3f77aa116
Website: Clear personalization on logout (#18630) 2024-05-01 12:10:27 -05:00
Eric
a9f79eacd4
Website: Update zapier webhook request in signup action. (#18648)
Closes: #18643

Changes:
- Updated the response from the `updateOrCreateAccountAndContact` helper
when running the website in a development environment.
- Updated the Zapier webhook request in the signup action to send the
contact and account IDs returned from the
`updateOrCreateAccountAndContact` helper.
2024-04-30 13:38:38 -05:00
Eric
47362020ed
Website: reduce number of helper calls in save-questionnaire-progress (#18647)
Changes:
- Updated the conditional that decides whether or not to create/update
Salesforce records to check if a psychological stage changes.
2024-04-30 13:27:42 -05:00
Eric
7259ec6473
Website: Update save-questionnaire-progress (#18625)
Related to https://github.com/fleetdm/confidential/issues/6357

Changes:
- Updated `save-questionnaire-progress` to only call
`sails.helpers.salesforce.updateOrCreateContactAndAccount` is called
when a user's `psychologicalStage` changes.
2024-04-29 19:20:00 -05:00
Eric
2ba0f01502
Website: update personalization on homepage and endpoint ops (#18616)
Closes: https://github.com/fleetdm/confidential/issues/6336

Changes:
- Updated personalization on the homepage and the endpoint ops page
2024-04-29 16:40:57 -05:00
Eric
d74f5cd6ea
Website: Update psychologicalStage changes in save-questionnaire-progress.js (#18498)
Closes: https://github.com/fleetdm/confidential/issues/6215

Changes:
- Updated how psychological stages are set when a user completes a step
of the get started questionnaire

> Note: I'm creating this as a draft PR until I review these changes to
make sure this is what we want to do.
2024-04-26 12:42:48 -05:00
Eric
75511b3d26
Website: update values passed into helper & don't run the Salesforce helper in development environment. (#18560)
Changes:
- Updated the default value that is being sent as a
primaryBuyingSituation
- Updated the updateOrCreateContactAndAccount Salesforce helper to do
nothing in development.
2024-04-26 03:33:26 -05:00
Mike McNeil
e4f1339d6e
Website: sails.helpers.iq.getEnriched() and use code instead of nocode (#18538)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-04-26 01:50:31 -05:00
Rachael Shaw
850e429b80
Better error handling in "Get human interpretation from osquery sql" (#18529)
+ Use the same "Failed to generate human interpretation using generative
AI." message if you send it something weird like "asdf" (so you don't
get a vague 500 error).
+ Simplify the code a bit

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-04-25 10:19:16 -05:00
Eric
78fbcb8f28
Website: Update personalization on endpoint ops page. (#18502)
Closes: https://github.com/fleetdm/confidential/issues/6255

Changes:
- Updated view-endpoint-ops to sort and exclude quotes based on a user's
`primaryBuyingSituation`.
- Updated the quote by Brendan Shaklovitz in testimonials.yml
- Updated the endpoint ops page to hide/show videos based on a user's
`primaryBuyingSituation`
-
2024-04-25 07:47:35 +09:00
Rachael Shaw
3e37b1b625
Stub out basis for AI-generated employee experience tips and risk register (#18501)
Add new fleetdm.com API endpoint for #18187

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2024-04-24 14:54:50 -05:00
Eric
70745dcf24
Website: update "Get your license" link & login/register pages. (#18489)
Closes: https://github.com/fleetdm/confidential/issues/6199

Changes:
- Updated view-new-license to redirect non-logged-in users to the
/register page (it was previously doing this, but had a policy applied,
so non-logged-in users were always redirected to the signup page.)
- Updated the /register page to support a new input: `purchaseLicense`.
If this query string is provided, the register page will redirect users
who sign up to the /new-license page.
- Updated the /login page to support a new input: `purchaseLicense`. If
this query string is provided, the login page will redirect users who
log in to the /new-license page.
- Updated policies to bypass the is-logged-in policy for the
/new-license page.
- Updated the "get your license" link in the website nav menu to go to
the /new-license page.
2024-04-23 12:25:29 -05:00
Eric
d00e8eb9ac
Website: Update request to Zapier in save-questionnaire-progress.js (#18478)
Related to https://github.com/fleetdm/confidential/issues/6216

Changes:
- Updated the request to Zapier in save-questionnaire-progress to send
the name of the step the user submitted.
2024-04-22 18:52:15 -05:00
Eric
edccff6536
Website: Update error handling in create-vanta-authorization-request (#18462)
Closes: https://github.com/fleetdm/fleet/issues/18448

Changes:
- Updated `create-vanta-authorization-request` to return an
`invalidResponseFromFleetInstance ` response when a response from a
Fleet instance does not contain the expected values (A `user` object for
a request to the `/me` endpoint and a `license` object for the request
to the `/config` endpoint.)
- Updated the /connect-vanta page to show an error message to users
asking them to verify the URL of their Fleet instance if the API
response is invalid.
2024-04-22 16:58:08 -05:00
Sam Pfluger
c936e453a0
Update save-questionnaire-progress.js (#18438)
.
2024-04-20 19:02:06 -05:00
Sam Pfluger
4155734a88
Website: Fix bug where incorrect buying situation was sent to other tool (#18437)
.
2024-04-20 18:27:17 -05:00
Eric
3436c68138
Website: Send request to Zapier when a user completes a step of the /start questionnaire (#18434)
Changes:
- Updated `save-questionnaire-progress.js` to send a request to Zapier
when a user completes a step of the /start questionnaire.
2024-04-19 17:47:17 -05:00
Eric
ba1bea992d
Website: redirect admins to the license key generator (#18417)
Closes: https://github.com/fleetdm/confidential/issues/6151

Changes:
- Updated `view-start.js` to redirect website admins to the admin
license key generator page.
2024-04-19 10:10:41 -05:00
Eric
cb035d873d
Website: add psychologicalStage to User model (#18408)
Related to: https://github.com/fleetdm/confidential/issues/6155

Changes:
- Added a new attribute to the `User` model: `psychologicalStage`
- Updated `save-questionnaire-progress` to update a user's
`psychologicalStage` based on their current answers/progress on the
/start questionnaire
- Updated the personalization on the /contact page to use the
`psychologicalStage` from the user model
- Updated the value of a unselectable form option on the /start page
2024-04-18 21:18:36 -05:00
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