Commit Graph
237 Commits
Author SHA1 Message Date
EricandMike McNeil 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
EricandSampfluger88 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 BakerandEric 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 ReyesandMike McNeil 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
Sampfluger88andMike McNeil 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
EricandMike Thomas 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
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
d6f57a8e23 Added a Rapid7 landing page for campaign. (#12353)
Created Rapid7 landing page in `/imagine`

From Mike T:

Sorry for the bombardment of commits. 

Here's a breakdown of those
commits and changes:
 

- I increased the max-width of the hero text area for M-size breakpoints
and above to suit the content better.


- During my review, I noticed that the local-preview-generated changes
to `.sailsrc` had been pushed, but in my attempt to fix I deleted the
file rather than the diff.


- Attempted to revert back to my previous commit, but this was my first
attempt at removing a commit, so I wasn’t sure if it was successful.


- In the end, I re-pushed `.sailsrc` from `main`. - 

Crisis averted in
a very roundabout way 🙏🏻

# Checklist for submitter

- [x] Manual QA by Mike T

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2023-06-16 06:57:26 +09:00
Joanne Stableford c3588e4f84 Add teammate to humans on receive from github webhook (#12321)
Added jostableford under humans list
2023-06-13 15:44:30 -04:00
Jin Yi 8a1bac7514 Added username to receive from github webhook (#12320)
Updated list of humans in Github webhook.
2023-06-13 12:21:16 -07:00
Eric 17410ec59f Website: Fix bug in customer migration webhook (#12277)
Changes:
- Updated the `receive-from-customer-fleet-instance` webhook to parse
the JSON response body from the request to the OAuth URL.
.
2023-06-09 19:06:25 -05:00
Eric 37682f2047 Website: Change pricing table based on selected use case (#12148)
Closes #11965

Changes:
- Updated the pricing table on the pricing page to be rendered by the
server.
- Updated the pricing page's view action to create another version of
the pricing table that does not have the "Device management" category
and that has security features sorted to the top of the table.
- Moved two features from the "Device management" category to "Security
and compliance" in `pricing-features-table.yml`.
2023-06-09 16:52:39 -05:00
Eric d713150558 Website: Update customer migration webhook (#12269)
Closes: https://github.com/fleetdm/confidential/issues/2964

Changes:

- Updated the `receive-from-customer-fleet-instance` webhook to send a
request to a Workspace One OAuth URL to get the authorization token used
to send requests to a Workspace one instance.


Before this is merged, we will need to:
- [ ] remove the `sails.custom.config.customerWorkspaceOneTenantId` and
`customerWorkspaceOneAuthorizationToken` config variables.
- [ ] Add two new config variables:
`sails.config.custom.customerWorkspaceOneOauthSecret` and
`sails.config.custom.customerWorkspaceOneOauthId`

.
2023-06-09 16:10:50 -05:00
Mike McNeil 2aa3ee6f92 #g-ea => #g-ceo (#12027) 2023-05-29 23:49:03 -05:00
Eric c77eb13aab Website: Update Fleet Premium price in license dispenser (#11967)
Changes:
- Updated the price of Fleet Premium on
fleetdm.com/customers/new-license to match the price of Fleet premium on
fleetdm.com/pricing ($7.00/host/month)
- Updated the price of Fleet premium in `create-quote.js`

As this is merged, we will need to update the value of
`sails.config.custom.stripeSubscriptionPriceId` to be the id for the new
price in Stripe.
2023-05-29 20:23:19 -05:00
Mike ThomasandEric 044af84c71 Add vulnerability management page (#11957)
Changes:

- Added new page `/vulnerability-management`.
- Updated `routes.js` and `importer.less` for the new page.
- Added nav item "Vulnerability management" under "Platform."

Closes https://github.com/fleetdm/fleet/issues/11577

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-05-30 09:42:21 +09:00
EricandMike McNeil b16db3ec0e Website: Add host migration webhook (#11870)
Closes: https://github.com/fleetdm/confidential/issues/2768

Changes:
- Added `/webhooks/receive-from-customer-fleet-instance.js` - A webhook
that receives requests containing information about a host on a
customers Fleet instance and sends a request to unenroll that host from
a Workspace One instance.

Before this is merged, we will need to add four config variables to the
Fleet website:
- [x] `sails.config.custom.customerWorkspaceOneBaseUrl`
- [x] `sails.config.custom.customerWorkspaceOneTenentId`
- [x] `sails.config.custom.customerWorkspaceOneAuthorizationToken`
- [x] `sails.config.custom.customerMigrationWebhookSecret`

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-05-25 15:58:58 -05:00