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
2022-12-05 09:13:50 -06:00
2023-01-17 12:25:01 -05:00
2023-01-13 16:26:22 -08:00
2023-01-18 23:00:01 -05:00
2023-01-13 16:26:22 -08:00
2023-01-13 16:26:22 -08:00
2023-01-18 17:35:40 -07:00
2023-01-17 15:33:27 -05:00
2023-01-17 15:33:27 -05:00

Fleet logo, landscape, dark text, transparent background

Website   News   Report a bug

Run Tests   Go Report Card   CII Best Practices   Twitter Follow  

Fleet is the lightweight, open source telemetry platform for servers and workstations. Deploy osquery with Fleet to get comprehensive, customizable data from all your devices and operating systems without the downtime risk.

Try Fleet

Head to fleetdm.com/try-fleet to fire up a one-off cloud instance for quickly trying out Fleet.

Now what?

Check out the Learn how to use Fleet doc to learn how to add your device to Fleet and how to ask questions about your devices by running queries.

Team

Fleet is independently backed and actively maintained with the help of many amazing contributors.

📖 In keeping with our value of openness, Fleet Device Management's company handbook is public and open source. You can read about the history of Fleet and osquery and our commitment to improving the product. To upgrade from Fleet ≤3.2.0, just follow the upgrading steps for the latest release from this repository (it'll work out of the box).

Documentation

Documentation for Fleet can be found here.

Community

Chat

Please join us in the #fleet channel on osquery Slack.

Contributing

Contributions are welcome, whether you answer questions on Slack/GitHub/StackOverflow/Twitter, improve the documentation or website, write a tutorial, give a talk, start a local osquery meetup, troubleshoot reported issues, or submit a patch. The Fleet code of conduct is on GitHub.

Banner featuring a futuristic cloud city with the Fleet logo

S
Description
No description provided
Readme MIT
1.6 GiB
Languages
Go 52.5%
TypeScript 37.5%
JavaScript 4.3%
PowerShell 1.4%
Augeas 0.9%
Other 3%