Commit graph

445 commits

Author SHA1 Message Date
Eric
ceec0e4cdd
Website: Update stripe webhook (#27241)
Changes:
- updated the stripe webhook to support `invoice.paid` events when a
subscription's host count is not increased.
2025-03-18 13:09:21 -05:00
Eric
7e678509be
Website: update /releases, /announcements, and /guides article category pages (#27048)
Closes: #26203 

Changes:
- Updated the article category page for release posts, announcements,
and guides to match the latest wireframes
2025-03-13 17:52:36 -05:00
Sam Pfluger
3f39450959
Add Luis Madrigal testimonial (#26973)
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-03-07 18:08:59 -06:00
Eric
5748facb0a
Website: update query generator (#26926)
Related to: https://github.com/fleetdm/confidential/issues/9884

Changes:
- Updated the prompt in the `get-llm-generated-sql` action to include a
note about using wildcard characters when generating queries that use
the LIKE operator.
- Improved error handling in the `get-llm-generated-sql` action
2025-03-07 09:49:07 -06:00
Eric
d04ae6cee1
Website: update query generator page (#26738)
Changes:
- Updated the has-query-generator-access policy to allow the policy to
be bypassed when a `sails.config.custom.enablePublicQueryGenerator`
value is set
- Updated the query generator to match the latest wireframes
- Updated `get-llm-generated-sql` to pass a system prompt to the schema
filtration prompt.
2025-02-28 20:04:00 -06:00
Eric
c4e8f83a70
Website: update Zapier webhook (#26741)
ChangeS:
- updated the `receive-from-zapier` webhook's expected inputs when
receiving a `receive-new-customer-data` event
2025-02-28 19:44:32 -06:00
Eric
044e59c7e7
Website: improve speed of query generator (#26701)
Changes:
- Updated the prompt helper to accept a new input: `systemPrompt`, if
provided and a supported baseModel is selected, the system prompt will
be included in the Open AI API request along with the prompt.
- Updated the models used by the query generator to improve the speed of
query generation.
2025-02-28 12:28:15 -06:00
Eric
40aeaf7c76
Website: Update generated campaign names in receive-from-zapier webhook (#26678)
Closes: #26637

Changes:
- Updated timestamps in names of generated campaign names.
2025-02-27 17:17:42 -06:00
Mike McNeil
e336cdebba
Website: Add Zapier webhook (#26372)
relates to https://github.com/fleetdm/confidential/pull/9650

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-02-26 11:18:20 -06:00
Sam Pfluger
1fe9b537de
Remove Onasis from contact form messages (#26480) 2025-02-20 11:39:31 -06:00
Eric
5251309302
Website: Update OS settings page (#26398)
Changes:
- Updated the content of the /os-settings page to match the latest
wireframes and commented out the profile generator experiment on that
page.
- Added the os-settings page to the "Docs" navigation menu and
navigation component
2025-02-18 07:40:27 +09:00
Eric
9fdb2d0511
Website: update contact form for Fleet premium subscribers (#26361)
Changes:
- Updated the contact page to only display the "Send a message" form for
users who have a Fleet premium subscription
- Updated the deliver-contact-form-message action to include details
about a user's subscription if the user has purchased a Fleet premium
license, and to also send an email to our support email address (in
addition to sending a message to our Slack)
2025-02-17 13:35:53 -06:00
Eric
df13a20b88
Website: add note to deliver-talk-to-us-form-submission.js (#26368)
Added a comment about future behavior
2025-02-14 17:51:15 -06:00
Eric
01c95370b0
Website: Add support for promotional codes on the self-service license dispenser (#26280)
Changes:
- Added the ability to use coupons on the Fleet premium license
dispenser
- Updated the stripe webhook to support coupons on Fleet premium
subscriptions
- Updated the customer dashboard on the website to show decimal places
in subscription/host prices.
2025-02-11 17:11:53 -06:00
Eric
360c23d75e
Website: add configuration profile generator (#26244)
Changes:
- Added /os-settings, a page where users can generate configuration
profiles
- Updated the docs navigation component to have a link to the os
settings page
- Added a new action: `get-llm-generated-configuration-profile` that
generates a configuration profile in either .mobileconfig, DDM, or CSP
formats.
- Added a new website dependency: ace editor.
2025-02-11 12:33:54 +09:00
Eric
84d222d16d
Website: add navigation and search bar to documentation pages (#25795)
Closes #25655

Changes:
- Created a new component: `<docs-nav-and-search>`, a component that
displays links to documentation pages and a search bar.
- Added the `<docs-nav-and-search>` component to documentation pages,
query pages, policy pages, vitals pages, app library pages, and osquery
schema documentation pages.
- Updated the documentation template page to match the latest
wireframes.
- Updated the osquery schema documentation pages to match the latest
wireframes.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-02-03 21:13:26 +09:00
Eric
2d5784e49d
Website: Follow up changes from website code review. (#25844)
Changes:
- Updated the website's sitemap to include pages for app-library pages,
the correct URL for the software management page, and the meetups page.
- Updated save-questionnaire-progress to not log warnings related to
duplicate CRM records if the user submitted one of the first three steps
of the get started questionnaire.
- Cleaned up comments in build-static-content.
2025-01-28 18:47:32 -06:00
Eric
7fd9d8a3e9
Website: Update policies and vitals page URLs in download-sitemap (#25719)
Related to: https://github.com/fleetdm/fleet/issues/25718

Changes:
- Updated `download-sitemap.js` to add the correct URLS of vitals and
policies pages.
2025-01-22 22:38:36 -06:00
Eric
e81f0f82f2
Website: Update query-detail page view action. (#25717)
Closes: #25716

Changes:
- updated `view-query-detail` to return a `notFound` response if the
slug of a vital is provided.
2025-01-22 22:10:43 -06:00
Eric
11d9f56b95
Website: Update query page view action, vital page styles and platform filters. (#25714)
Changes:
- Updated the modal styles on vitals/ pages
- Updated the platform filter behavior on the vitals page to take users
to a different vital query if the currently viewed vital is not
available on the platform they switch to.
2025-01-22 21:41:16 -06:00
Eric
5c0894ce0a
Website: Create queries.yml, add vitals and query pages, move policies. (#25701)
Related to: https://github.com/fleetdm/confidential/issues/9096

Changes:
- Created docs/queries.yml. A YAML file that contains the queries from
the standard query library (`kind: query`) and the host vitals queries
(`kind: built-in`).
- Added the `vitals/*` page, a page that displays details about host
vital queries used to gather information about.
- Updated the /queries page to show queries from the new
`docs/queries.yml` file, and moved policies to a new page (/policies)
- Updated the view action for the query-detail page to look for/redirect
to a policy page with a matching slug before returning a 404 response if
a matching query is not found. This behavior will make it so all of the
old URLs for policy pages will redirect users to the new URL.
- Updated the website's "Docs" navigation menu to have links to the new
vitals and policies pages.
2025-01-22 21:10:17 -06:00
Eric
cefabf9954
Website: update contact form @mentions (#25475)
Closes: https://github.com/fleetdm/confidential/issues/9361

Changes:
- Updated the Slack users who are @mentioned when users submit a contact
form message.
2025-01-15 17:01:29 -06:00
Eric
bf182bed3e
Website: update query generator to use socket requests. (#25472)
Closes: #25465 

Changes:
- Updated the query generator page to use socket requests to call the
`get-llm-generated-sql` action to bypass Heroku's 30-second request
timeout.
2025-01-15 16:31:37 -06:00
Eric
0e72c5daeb
Website: Move query generator out of Admin section (#25301)
Changes:
- Updated the User model to have a new attribute: `canUseQueryGenerator`
a boolean attribute that will grant users access to the query generator
page on the website.
- Added a new policy: `has-query-generate-access`
- Moved the query generator page from the admin section of the website.

Note: before this change can be merged, the website's database will need
to be migrated to add the new column to the User table
2025-01-14 18:09:17 -06:00
Eric
4ad16cc46f
Website: Update admin query generator to work in production. (#25363)
Changes:
- Updated the `build-static-content` script to add the merged osquery
schema JSON to the website's `builtStaticContent` configuration
- Updated view-query-generator to have a badConfig exit that is used if
the website has an invalid `builtStaticContent.schemaTables`
configuration
- Updated `get-llm-generated-sql` to use the
`builtStaticContent.schemaTables` instead of attempting to use
`sails.helpers.getExtendedOsquerySchema()` (Which does not work as
intended when run in a production environment.)
2025-01-10 17:51:03 -06:00
Eric
0620d7e580
Website: Add admin query generator (#25205)
Changes:
- Added /admin/query-generator, a page that admins can use to generate
queries from natural language questions.
- Added `/admin/get-llm-generated-sql.js` an action that uses the same
method in the `test-llm-generated-sql` script to generate queries from a
natural language question.
2025-01-08 13:47:17 -06:00
Eric
1eae4f6e1b
Website split article page routes (#25149)
Closes: #23904

Changes:
- Replaced the regex routes that handle articles and article category
pages to have a separate route for each category
- Updated the build-static-content script to transform periods in
article filenames into dashes
- Added redirects for articles that have a changed URL
2025-01-07 11:43:36 -06:00
Eric
94f85b9259
Website: Add /meetups page (#24882)
Closes: https://github.com/fleetdm/confidential/issues/8983

Changes:
- Added /meetups, a page that shows a list of upcoming meetups
2024-12-18 14:12:52 -06:00
Eric
82ec1d8e16
Website: update article links on /testimonials page (#24850)
Closes: #24746

Changes:
- Replaced the hard-coded links to articles on the /testimonials page
with server-side rendered generated links to articles. These links are
now built using the website's markdown articles configuration.
- Added support for a new meta tag on articles:
`showOnTestimonialsPageWithEmoji` If provided and set to one of the four
supported emoji (🥀, 🔌, 🚪, or 🪟), a link to the article will be added to
the /testimonials page. Example: `<meta
name="showOnTestimonialsPageWithEmoji" value="🥀">`.
- Updated the build-static-content script to throw an error if an
article has an invalid `showOnTestimonialsPageWithEmoji` meta tag value.
- Updated recent case study articles to have a
`showOnTestimonialsPageWithEmoji` meta tag.


@Drew-P-drawers When this PR is merged, you can add links to the new
case studies articles to the /testimonials page with a
`showOnTestimonialsPageWithEmoji` meta tag. The definitions for each of
the supported emoji are in this [google
doc](https://docs.google.com/document/d/1-KWQa3uMIJzeitzDRmzT3SnUoFCfcFCb6K2lyVt-Gy0/edit?tab=t.0#heading=h.oskipmb8530l)
2024-12-17 18:08:25 -05:00
Eric
02b0a97ac8
Website: add support for new usage statistics (#24511)
Changes:
- Updated the receive-usage-analytics webhook to support a new input:
`numQueries`
- Added a new attribute to the HistoricalUsageSnapshot model
`numQueries`
- Added a commented-out section to the
send-aggregated-metrics-to-datadog script.
2024-12-13 15:00:30 -06:00
Mike Thomas
82e000a758
Name change (Observability => Orchestration) (#24747)
- made the text changes to the page, page title, site navigation
---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-12-13 13:24:42 -06:00
Eric
a3e0704fc0
Website: update quotes and sort order on /testimonials page and landing pages (#24441)
Changes:
- Updated the product categories used in testimonials.yml and updated
the build-static-content script to add support for the changed values
(`Endpoint operations` » `Observability` & `Vulnerability management` »
`Software management`)
- Updated the testimonial cards on landing pages to only show the
testimonials that have an explicit sort order set for them.
- Updated the order of testimonials on landing pages and the
/testimonials page.
- Updated the styles of the `<scrollable-tweets>` component.
- Updated the layout of the CTA buttons on the /device-management page
on smaller screen sizes
2024-12-06 09:03:44 +09:00
Eric
f67ff80e4d
Website: Update stripe webhook to send confirmation emails. (#24378)
Closes: #24345

Changes:
- Updated the receive-from-stripe webhook to send confirmation emails to
users who purchase a Fleet Premium license subscription.
2024-12-04 14:22:09 -06:00
Eric
0654172fa2
Website: Add app library & app details page (#24205)
Related to: #23792

Changes:
- Added /app-library, a page that displays information about
Fleet-maintained apps
- Added the app details page (/app-library/{app identifier}), a page
that gives users detailed information about a single Fleet-maintained
app
- Updated the build-static-content script to add information about
Fleet-maintained apps to the website's configuration.
2024-11-27 13:43:23 -06:00
Eric
da13fb15fa
Website: /endpoint-ops » /observability (#24111)
Closes: #24106

Changes:
- Changed the /endpoint-ops page to be at /observability
- Added a redirect for /ednpoint-ops that redirects users to the
/observability page with original query parameters intact.
2024-11-25 14:20:19 -06:00
Eric
c53332259f
Website: Update license dispenser form (#23838)
Closes: https://github.com/fleetdm/confidential/issues/7696

Changes:
- Added `stripe` as a dependency
- Updated the license dispenser form to take users to a stripe hosted
checkout page where they can provide their billing address and Tax ID
depending on their location.
- Updated the receive-from-stripe webhook to fulfill license dispenser
purchases made via stripe checkout
- Added a new action: get-stripe-checkout-session-url. This action
creates a Stripe Checkout session and returns the URL
- Updated the customer dashboard to have a link that users can visit to
update their billing information, add more hosts to their Fleet premium
license, or cancel their subscription.
- Added a new action: redirect-to-stripe-billing-portal. An action that
redirects users to a Stripe-hosted billing portal.
2024-11-25 13:55:56 -06:00
Eric
e8a0092d9f
Website: Update endpoint-ops landing page view action (#24052)
Changes:
- Updated the endpoint ops view action to use the user's
primaryBuyingSituation for personalization if it is set, and to default
to the IT view if not (Note: this behavior is overridden with a purpose
query string. e.g., ?purpose=security.
2024-11-21 17:43:58 -06:00
Eric
948a790410
Website: update default personalization on endpoint ops page. (#24000)
Closes: #23987

Changes:
- Updated the endpoint ops page to default to the IT personalization if
no primaryBuyingSituation or `purpose` query string is provided/set
2024-11-21 17:26:57 -06:00
Eric
70d01d9a48
Website: Update testimonial sort order on /customer-stories, render testimonials server-side (#23996)
Changes:
- Updated the sort order of cards on the /customer-stories page
- Updated the cards on the /customer-stories page to be rendered
server-side.
- Updated styles for testimonial cards.
2024-11-21 08:55:47 +09:00
Zach Wasserman
31c8edbd9f
Fix JSON parsing for fleetdm.com EST certificate issuance (#23977)
Missed a JSON.parse after refactoring the HTTP request code. This was
missed because we had to comment out some of the code for testing in
order to skip authentication.
2024-11-20 09:50:18 -08:00
Eric
8658e4f1ec
Website: Software management landing page (#23961)
Closes: #23890

Changes:
- Updated the styles, layout and content of the
/vulnerability-management page to match the latest wireframes
- Renamed the /vulnerability-management page to /software-management
- Added a redirect for the /vulnerability-management page that takes
users to the /software-management page with all query parameters.
2024-11-20 18:54:36 +09:00
Eric
4f03956c72
Website: add /customer-stories (#23837)
For: #23721 

Changes:
- Added /customer-stories, a page that displays the testimonials from
testimonials.yml
- Changed the /testimonials redirect to go to the /customer-stories
page.
- Updated the "What people are saying" link on the homepage and the
header navigation.



@mike-j-thomas FYI: To make this PR quickly, I did not implement the
sort order in the wireframes or change the testimonials yaml.
2024-11-15 14:52:36 +09:00
Sam Pfluger
9bf9c263c3
Remove HOF position (#23815) 2024-11-14 14:38:23 -06:00
Zach Wasserman
667e0fc996
Add website support to issue device certificates via EST (#23637)
For https://github.com/fleetdm/confidential/issues/8785

New fleetdm.com endpoint that validates an IdP auth token and then
requests a certificate using the provided CSR.

This is a customer hackathon result.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-11-14 09:00:55 -08:00
Eric
2d8ebb4388
Website: Update CRM helper and usage (#23670)
Changes:
- Updated the update-or-create-contact-and-account helper to update
created contact records with a psychological stage
- Updated places where we were using the
update-or-create-contact-and-account helper to set a contact source on
new records.
2024-11-11 12:35:49 -06:00
Eric
c1ed73a8b4
Website: Update links in query library and syntax highlighting on policy pages. (#23591)
Closes: #23516
Closes: #23517

Changes:
- Updated the headings on the /queries page to be clickable links
- Updated the query detail page to highlight osquery tables/columns in
queries
- Updated code blocks on the query details page to prevent the copy
button from covering the content in the code block.
2024-11-07 15:49:16 -06:00
Eric
6065fa5d77
Website: Set psychologicalStageChangeReason and intentSingals on contacts created from newsletter submissions (#23544)
Closes: https://github.com/fleetdm/confidential/issues/8690
Closes: https://github.com/fleetdm/confidential/issues/8691

Changes:
- Updated the update-or-create-contact-and-account to set intentSignals
on contacts
- Updated create-or-update-one-newsletter-subscription to set
psychologicalStageChangeReason and intentSignal on contacts.
2024-11-05 16:02:34 -06:00
Eric
900298f638
Website: Update contacts created by talk to us form submissions (#23498)
Closes: #23277

Changes:
- Added the submitted number of hosts to the description of contacts
created by "talk to us" form submissions
2024-11-04 15:59:39 -06:00
Eric
16e3161dd7
Website: Enable Docsearch on query pages. (#23496)
Changes:
- enabled Algolia Docsearch on the /queries pages.
2024-11-04 13:31:36 -06:00
Eric
f623eed47b
Website: Update /queries page (#23472)
Changes:
- Standard query library:
- Added three policies to the Standard query library (tagged as premium)
- Changed the `kind` of the "Identify Apple development secrets (macOS)"
query to `policy` because it is an informational query (It returns rows
of results rather than 1 or 0) and removed its `resolution` value
- Updated the build-static-content script to remove platform names from
the end of query names (e.g., (macOS)). This is done to keep the URLs
for queries the same while hiding them in the UI
- Updated the layout of the queries page to match the latest wireframes
and updated the page to only show policies
 - Updated the styles and layout of the queries-details page.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2024-11-04 10:58:08 -06:00