Commit graph

175 commits

Author SHA1 Message Date
Eric
bc5e19c252
Website: Update GitHub webhook (#9432)
Changes:
- Updated the conditional statement that determines if we will be
notified in Slack to filter out commit comments and deleted comments
from Fleet team members with uppercase letters in their GitHub
usernames.
2023-01-20 15:06:35 -06:00
Eric
4fd1efe98a
Website: Add API to send signed CSR emails (#8408)
This pull request relies on the `mdm-gen-cert` command from
https://github.com/fleetdm/fleet/pull/8884.
Closes: https://github.com/fleetdm/fleet/issues/8223

Changes:
- Updated the deploy Fleet website workflow to:
   - Add Go as a dependency
   - Build the mdm-gen-cert binary in `/website/.tools/`
   - add the `/.tools/` folder to the Heroku app
- Added `deliver-apple-csr.js` -  an API that:
- can be called by making a `POST` request to
`/api/v1/deliver-apple-csr`
   - accepts `csr` as an input
- runs the `mdm-gen-cert` command with the `csr` set as an environment
variable
- returns an `invalidEmailDomain` response if the user's email domain is
in the array of banned email domains.
- saves the users organization and email address to the website's
database
- Sends an email to the requesting user's email address with the signed
CSR attached as a text file named `apple-apns-request.txt`
   - Posts a message to a channel in the Fleet Slack.
- Added a new model: `CertificateSigningRequests` that contains two
required attributes: `emailAddress` and `organization`
- Added a new email template `email-signed-csr-for-apns`
- Updated routes, policies, eslintrc, and rebuilt cloud-sdk


Before this can be merged, we will need to:
- [x] Add new config variables in Heroku
   - [x] `sails.config.custom.mdmVendorCertPem` 
   - [x] `sails.config.custom.mdmVendorKeyPem`
   - [x] `sails.config.custom.mdmVendorKeyPassphrase`
   - [x] `sails.config.custom.slackWebhookUrlForMDMSignups`
- [x] Add the `CertificateSigningRequests` model to the website's
database
2023-01-19 14:43:14 -06:00
Charlie Chance
8e35500f21
offboarding Guillaume (#9420) 2023-01-18 17:36:00 -07:00
Mike McNeil
dfef4c4924
Fix prefix trimming (#9341)
Improve https://github.com/fleetdm/fleet/pull/9336 to fix prefix
trimming.
2023-01-14 18:45:52 -06:00
Mike McNeil
173b898bed
GH automations: Improve #9336 (#9340)
Improve https://github.com/fleetdm/fleet/pull/9336 providing default
settings similar to the OpenAI playground, including a higher
temperature and number of maximum tokens. Also fixes prefix trimming.
2023-01-14 18:28:52 -06:00
Mike McNeil
ffa5dc36dd
Improve #9336 (#9339)
This improves https://github.com/fleetdm/fleet/pull/9336 by eliminating
junk text and encouraging better replies. Uses an h1 to emphasize the
issue title, so that short issues don't get weird and truncated, and the
bot reply stays focused on the main point of the issue.
2023-01-14 17:55:29 -06:00
Mike McNeil
bc874cdd1d
GH automation: Add missing user-agent header for GitHub api (#9338)
Fixes https://github.com/fleetdm/fleet/pull/9336
2023-01-14 17:25:37 -06:00
Mike McNeil
7b65368920
GH automation: fix #9336 (#9337)
GH automation: Fix copy/paste error in
https://github.com/fleetdm/fleet/pull/9336
2023-01-14 17:10:30 -06:00
Mike McNeil
88d4dcad3d
Haikus (#9336)
When an issue is closed, post a comment with a Fleet-themed haiku about
it.
2023-01-14 16:56:16 -06:00
Eric
1a6ba352ce
Website: Update MDM beta signup form (#9306)
Changes:
- Added a "Number of devices" input to the MDM beta signup form on the
`/device-management` page.
- Updated `website/api/controllers/deliver-mdm-beta-signup.js` to accept
a `numberOfHosts` input, and to include that value in the request to the
Zapier webhook.
2023-01-13 13:48:05 -06:00
Charlie Chance
2599c1c40c
Offboarding: Chris (#9324)
.
2023-01-13 13:39:45 -06:00
Eric
07f8ec14e6
Update YAML schema table validation (#9302)
Changes:
- Added three errors to
`website/api/helpers/get-extended-osquery-schema.js` that are thrown if
a YAML schema table has:
   - A `platforms` value that is not an array
   - A `description` value that is not a string
   - A `columns` value that is not an array
- Updated the `platforms` of YAML schema tables in `schema/tables/` that
had string `platforms` values
- Regenerated `/schema/osquery_fleet_schema.json`
 
.
2023-01-13 10:16:36 -06:00
Eric
c28056e36c
Update osquery schema version and regenerate merged schema JSON (#9292)
Changes:
- Updated the version of the osquery schema we merge with Fleet's
overrides (`5.6.0` » `5.7.0`)
- Ran the `generate-merged-schema` script to regenerate
`schema/osquery_fleet_schema.json`
 . .
2023-01-12 10:06:15 -06:00
Eric
16eb5ef1ea
Website: Update required Fleet Sandbox registration form inputs (#9293)
Changes:
- Updated the Fleet sandbox registration page to make a first name, last
name, and organization required.
- Removed the "REQUIRED" label from the email address input on the Fleet
Sandbox registration page and removed styles for it from the page's
stylesheet.
- Updated the `organization` input of `signup.js` to be required.
- Changed the POST request to Zapier in `signup.js` to always use the
information provided.
2023-01-11 19:35:12 -06:00
Eric
9ddd5f2ede
Website: Add MDM page (#9264)
Changes:
- Added a new page: `/device-management`
- Added a new action: `deliver-mdm-beta-signup.js` - This action sends a
post request to a Zapier webhook when a user submits a form on the
`/device-managment` page.
- Added a new component: `<scrollable-tweets>`
- Updated routes, importer, policies, cloud-sdk, and
`download-sitemap.js`
- Updated the route for our success story articles to live at
`fleetdm.com/success-stories/*` (Previously at
`fleetdm.com/device-management/*`) and updated `config/routes.js` to
have redirects for each article in that category
- Updated the "Use cases" navigation item to "Platform" and changed the
platform link to "How it works"

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-11 11:29:38 -06:00
Eric
112dffbd1e
Website: Update license key generator action and helper inputs (#9265)
Changes:
- Updated the `expiresAt` input description in
`api/controllers/admin/generate-license-key.js` and
`api/helpers/create-license-key.js`
- Updated timestamps sent to `generate-license-key` and
`create-license-key` to be in seconds.

 . .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-11 11:11:43 -06:00
Eric
b5d2d0c4b4
Increase Fleet Sandbox time to five days (#9251)
Changes:
- Updated the expiration timestamp of new Fleet Sandbox instances to be
five days from when a user signs up. (Previously 24 hours)
2023-01-10 17:48:36 -06:00
Roberto Dip
5919931a4c
fix conflicts in docs about unified_logs vs macadmins_unified_logs (#9214)
As raised by a community member in
[Slack](https://osquery.slack.com/archives/C01DXJL16D8/p1672751794862639),
this updates our documentation to account for both `unified_log` and
`macadmins_unified_log`.

Per my testing, it should also help with the #9158 bug in Fleet's UI.

I have updated the columns of `macadmins_unified_log` according to
what's in the [source
code](50f94d0d70/tables/unifiedlog/unified_log.go (L47-L69)),
and modified the example to work.

Since I was there I have also updated the osquery version we use to pull
the JSON to `5.6.0` and fixed a small bug related to the examples we
pull from there.

. . . . . . .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-10 17:45:53 -06:00
Eric
9bd023dbbf
Website: Add optional inputs to Fleet Sandbox registration form. (#9203)
cc: @alexmitchellii

Changes:
- Added optional inputs to the Fleet Sandbox signup page:
   - First name
   - Last name
   - Organization
- Updated signup.js to send the optional inputs to the Zapier webhook

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-06 18:37:10 -06:00
Eric
896918bc79
Website: Fleet Premium subscription renewals (#9200)
https://github.com/fleetdm/fleet/issues/9172

Changes:
- Added
`website/api/controllers/webhooks/recieve-stripe-subscription-events.js`
a webhook for receiving Stripe events.
- If the stripe event received is from a user's subscription
automatically renewing, A new license key is generated, the subscription
record is updated, and a renewal confirmation email is sent.
- If the stripe event received is from a user's subscription's upcoming
renewal, a renewal notification email is sent.
- If any other event type is received from Stripe, the webhook returns a
200 response.
- Added new email templates:
   - `email-subscription-renewal-confirmation`
   - `email-upcoming-subscription-renewal`
- Updated `website/api/controllers/admin/view-email-template-preview.js`
to have fake data for the added email templates.
- Updated `website/api/controllers/customers/view-dashboard.js` to set
two boolean variables: `subscriptionExpiresSoon` and
`subscriptionHasBeenRecentlyRenewed`
- Updated the customer dashboard to display notifications on the top of
the page if a user's subscription will renew in the next 30 days, or if
the user's subscription has been renewed in the past 30 days.
- `website/views/layouts/layout-email.ejs` - Updated the font, padding,
and text color to match wireframes.
2023-01-06 18:36:29 -06:00
Eric
379f61a39f
Update Github URL for tables that have Fleet overrides (#9213)
Changes:
- Updated the fleetRepoUrl value for osquery schema tables that have
Fleet overrides to use the correct URL.
2023-01-06 17:14:04 -06:00
Nathanael Holliday
56d54e8cd1
Offboarding (#9174)
Removed Frank.

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-04 08:51:50 -06:00
Nathanael Holliday
7affb67540
Offboarding (#9153)
Removed some offboarded folks.
2023-01-02 19:20:48 -06:00
Eric
ace1fa0d37
Website: Add Vanta integration (#9072)
* stubing out required pages

* Add Vanta authorization action, create externalAuthorization(name will most likely change) Model

* rebuild cloud sdk

* Draft script

* update importer, update connect-vanta page

* layout updates

* update action

* change model name

* update model name

* update script

* Update vanta callback page

* add new model to lint config

* update model attributes

* update vanta connection page to require url protocol, fix lint error in routes

* rename page, vanta-callback » vanta-authorization

* Update errors, handle incomplete connections

* Update model attribute names

* Remove console.log(), add error message for non-Fleet Premium users

* update importer, fix lint error

* update send-data-to-vanta script

* Update create-vanta-authorization-request.js

* update page name

* update comments and error messages

* layout changes

* update status codes used in exits

* Add comment

* Update .eslintrc

* Update create-vanta-authorization-request.js

* Update view-vanta-authorization.js

* Update VantaConnection.js

* Update send-data-to-vanta.js

* Update create-vanta-authorization-request.js

* Update mobile styles

* update text

* update error text, show sucess message if account has already been authorized

* lint fix

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-21 23:39:39 -06:00
Charlie Chance
9ca5e67bed
Offboarding: wclithero (#9055) 2022-12-16 17:12:29 -07:00
Eric
f5b60b9667
update hostsEnrolledByOrbitVersion and hostsEnrolledByOsqueryVersion types (#9041) 2022-12-15 18:13:14 -06:00
Zach Wasserman
fce4bae018
Fix typos in website code (#9015) 2022-12-13 15:33:23 -08:00
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
0853d338f8
Website: Update table pages (#8410)
* add link to "defaults to root" text and evented table labels

* override requires_user_context value in merged schema

* update link styles on table pages

* Update get-extended-osquery-schema.js

* encodeURIComponent

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-11-10 17:12:24 -06: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
7406797d5c
move acpi_tables.yml & update get-extended-osquery-schema (#8364)
* move acpi_tables.yml & comment out unused fields, update get-extended-osquery-schema

* add '/tables/' to filename in fleetRepoUrl
2022-10-25 15:19:11 -05:00
Eric
9dc5d4f53e
fix fleetRepoUrl (#8325)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-10-19 10:21:05 -05:00
Eric
e82962e4a7
Add Fleet override schema files (#8278)
* create schema/tables, add yaml schema tables

* Update osquery-table-details.ejs

* Generate schema from schema/tables/ folder

* Create generate-yaml-tables-from-json.js

* update created table files

* update fleet override validation

* update error messages, add fleetRepoUrl

* Delete generate-yaml-tables-from-json.js

* Update osquery-table-details.ejs

* Update whitespace in table examples

* Revert "Update osquery-table-details.ejs"

This reverts commit 2e9d63208f.

* add YAML tables generated from updated Fleet schema

* lint fixes

* update arp_cache and docker_containers tables
2022-10-18 14:13:42 -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
8fecef3ed5
Update merged schema helper and script. (#8092)
* update helper to use the osquery schema from the osquery/osquery-site repo

* update script description and generated json filename

* Add ritual to digital experience handbook

* add merged schema

* Update README.md

* Update get-extended-osquery-schema.js
2022-10-05 15:10:08 -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
ddb074996c
Website: Move schema table merging into helper, update build script (#7980)
* move table schema merging into helper

* update helper name, add evented value to table configuration

* update indentation

* update error messages for readability

* typo

* update helper name, exits and description

* Add missing columns to osquery_tables.json

* add merge schema script

* rename script to `generate-merged-schema`

* Update generate-merged-schema.js

* Add error messages

* update error messages

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-29 16:38:10 -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