2020-12-02 20:48:03 +00:00
/ * *
* Route Mappings
* ( sails . config . routes )
*
* Your routes tell Sails what to do each time it receives a request .
*
* For more information on configuring custom routes , check out :
* https : //sailsjs.com/anatomy/config/routes-js
* /
module . exports . routes = {
// ╦ ╦╔═╗╔╗ ╔═╗╔═╗╔═╗╔═╗╔═╗
// ║║║║╣ ╠╩╗╠═╝╠═╣║ ╦║╣ ╚═╗
// ╚╩╝╚═╝╚═╝╩ ╩ ╩╚═╝╚═╝╚═╝
'GET /' : { action : 'view-homepage-or-redirect' } ,
'/blog' : 'https://medium.com/fleetdm' ,
'/pricing' : ( req , res ) => {
// FUTURE: pricing page explaining commercial support and EE, w/ our subscription terms
res . redirect ( 'mailto:todo@example.com?subject=Pricing question&body=Please do not send this email!\n\nWe are a very young company and still working on our processes. For now, if you have a pricing question or would like to know Fleet\'s latest pricing and support tiers, please create an issue at https://github.com/fleetdm/fleet/issues. Thank you!' ) ;
} ,
'/legal/terms' : ( req , res ) => {
// FUTURE: page w/ our subscription terms
res . redirect ( 'mailto:todo@example.com?subject=Legal question&body=Please do not send this email!\n\nWe are a very young company and still working on our processes. For now, if you have a legal question or would like to review Fleet\'s subscription terms, please send a DM to mikermcneil or Zach Wasserman in the "osquery" Slack workspace. Thank you!' ) ;
} ,
'/security' : ( req , res ) => {
// FUTURE: make a page- check out how Sails does it, and also https://about.gitlab.com/security/
res . redirect ( 'mailto:todo@example.com?subject=Security vulnerability&body=Please do not send this email!\n\nWe are a very young company and still working on our processes. For now, if you have a security vulnerability to report, please send a DM to mikermcneil or Zach Wasserman in the "osquery" Slack workspace. Thank you for letting us know!' ) ;
} ,
'/company/about' : '/blog' , // FUTURE: brief "about" page explaining the origins of the company
'/company/stewardship' : 'https://github.com/fleetdm/fleet' , // FUTURE: page about how we approach open source and our commitments to the community
Add chat to website (#165)
* prevent eslintrc conflicts
* Pricing + chat for website (#124)
* Update manage users styles. Implement table (list) view. (#104)
The goal of this PR is to change the layout of the manage users to a table (list view).
Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
* Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
* Update app settings page and osquery options page styles. (#107)
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
* Fix and clarify API auth documentation (#109)
- Fix header name.
- Add note about SSO auth.
* New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
* Fix JSON in rest-endpoints.md (#110)
* Add host enrollment cooldown period (#112)
This addresses an issue some users experienced in which performance
problems were encountered when hosts were "competing" for enrollment
using the same osquery host identifier. The issue is addressed by adding
a cooldown period for host enrollment, preventing the same (as judged by
osquery host identifier) host from enrolling more than once per minute.
When users end up in the problematic scenario, they will see quite a bit
of error logs due to this issue. For now that's probably a good thing as
users need to be aware of the lack of visibility. We can explore rate
limiting the logging if that becomes an issue for someone.
Fixes #102
* Improve MySQL transaction error logging (#113)
Clarify what exactly happened when logging these errors.
* Migrate remaining URLs to fleetdm.com (#116)
* Clean up unused test/demo SQL data (#117)
* Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
* Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
* CHANGELOG for 3.5.0 (#121)
* Update fleetctl version number. Fix spelling error in changelog. (#122)
* Fix alt tag
* Set up pricing cards
* Match footer to bottom of gradient
* Set up FAQ and stub out chat button click
* Add chat, plus some other tweaks.
* fiddling with Papercups to hopefully get it to recognize who's responding from the Fleet side
* This isn't really a solution but it's the best we've got til Papercups is hacked to allow programmatic opening (or til we switch to something else, or just bring in the traditional contact form)
* trivial
* Temporary workaround using an undocumented API in papercups
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Rachael McNeil <r@rachael.wtf>
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
2021-01-01 02:28:18 +00:00
// 'GET /company/contact': { action: 'view-contact' },
2020-12-02 20:48:03 +00:00
'/company/contact' : ( req , res ) => {
// FUTURE: Page about this. See “Contacting Fleet” in google drive for verbiage (updated holiday hours) - better to just make it all open source and check it in here. For inspiration, see also: https://about.gitlab.com/company/contact/
res . redirect ( 'mailto:todo@example.com?subject=I have a question&body=Please do not send this email!\n\nWe are a very young company and still working on our processes. For now, if you have questions or feedback for us, please create an issue at https://github.com/fleetdm/fleet/issues. Thank you!' ) ;
} ,
// 'GET /welcome/:unused?': { action: 'dashboard/view-welcome' },
// 'GET /faq': { action: 'view-faq' },
// 'GET /legal/terms': { action: 'legal/view-terms' },
// 'GET /legal/privacy': { action: 'legal/view-privacy' },
// 'GET /signup': { action: 'entrance/view-signup' },
// 'GET /email/confirm': { action: 'entrance/confirm-email' },
// 'GET /email/confirmed': { action: 'entrance/view-confirmed-email' },
// 'GET /login': { action: 'entrance/view-login' },
// 'GET /password/forgot': { action: 'entrance/view-forgot-password' },
// 'GET /password/new': { action: 'entrance/view-new-password' },
// 'GET /account': { action: 'account/view-account-overview' },
// 'GET /account/password': { action: 'account/view-edit-password' },
// 'GET /account/profile': { action: 'account/view-edit-profile' },
// ╔╦╗╦╔═╗╔═╗ ╦═╗╔═╗╔╦╗╦╦═╗╔═╗╔═╗╔╦╗╔═╗ ┬ ╔╦╗╔═╗╦ ╦╔╗╔╦ ╔═╗╔═╗╔╦╗╔═╗
// ║║║║╚═╗║ ╠╦╝║╣ ║║║╠╦╝║╣ ║ ║ ╚═╗ ┌┼─ ║║║ ║║║║║║║║ ║ ║╠═╣ ║║╚═╗
// ╩ ╩╩╚═╝╚═╝ ╩╚═╚═╝═╩╝╩╩╚═╚═╝╚═╝ ╩ ╚═╝ └┘ ═╩╝╚═╝╚╩╝╝╚╝╩═╝╚═╝╩ ╩═╩╝╚═╝
// '/logout': '/api/v1/account/logout',
'/company' : '/company/about' ,
'/support' : '/company/contact' ,
'/contact' : '/company/contact' ,
'/legal' : '/legal/terms' ,
'/terms' : '/legal/terms' ,
// ╦ ╦╔═╗╔╗ ╦ ╦╔═╗╔═╗╦╔═╔═╗
// ║║║║╣ ╠╩╗╠═╣║ ║║ ║╠╩╗╚═╗
// ╚╩╝╚═╝╚═╝╩ ╩╚═╝╚═╝╩ ╩╚═╝
// …
// ╔═╗╔═╗╦ ╔═╗╔╗╔╔╦╗╔═╗╔═╗╦╔╗╔╔╦╗╔═╗
// ╠═╣╠═╝║ ║╣ ║║║ ║║╠═╝║ ║║║║║ ║ ╚═╗
// ╩ ╩╩ ╩ ╚═╝╝╚╝═╩╝╩ ╚═╝╩╝╚╝ ╩ ╚═╝
// Note that, in this app, these API endpoints may be accessed using the `Cloud.*()` methods
// from the Parasails library, or by using those method names as the `action` in <ajax-form>.
// '/api/v1/account/logout': { action: 'account/logout' },
// 'PUT /api/v1/account/update-password': { action: 'account/update-password' },
// 'PUT /api/v1/account/update-profile': { action: 'account/update-profile' },
// 'PUT /api/v1/account/update-billing-card': { action: 'account/update-billing-card' },
// 'PUT /api/v1/entrance/login': { action: 'entrance/login' },
// 'POST /api/v1/entrance/signup': { action: 'entrance/signup' },
// 'POST /api/v1/entrance/send-password-recovery-email': { action: 'entrance/send-password-recovery-email' },
// 'POST /api/v1/entrance/update-password-and-login': { action: 'entrance/update-password-and-login' },
// 'POST /api/v1/deliver-contact-form-message': { action: 'deliver-contact-form-message' },
} ;