mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 08:55:24 +00:00
303 lines
18 KiB
JavaScript
Vendored
303 lines
18 KiB
JavaScript
Vendored
/**
|
|
* Custom configuration
|
|
* (sails.config.custom)
|
|
*
|
|
* One-off settings specific to your application.
|
|
*
|
|
* For more information on custom configuration, visit:
|
|
* https://sailsjs.com/config/custom
|
|
*/
|
|
|
|
module.exports.custom = {
|
|
|
|
/**************************************************************************
|
|
* *
|
|
* The base URL to use during development. *
|
|
* *
|
|
* • No trailing slash at the end *
|
|
* • `http://` or `https://` at the beginning. *
|
|
* *
|
|
* > This is for use in custom logic that builds URLs. *
|
|
* > It is particularly handy for building dynamic links in emails, *
|
|
* > but it can also be used for user-uploaded images, webhooks, etc. *
|
|
* *
|
|
**************************************************************************/
|
|
baseUrl: 'http://localhost:2024',
|
|
|
|
/**************************************************************************
|
|
* *
|
|
* The TTL (time-to-live) for various sorts of tokens before they expire. *
|
|
* *
|
|
**************************************************************************/
|
|
passwordResetTokenTTL: 24*60*60*1000,// 24 hours
|
|
emailProofTokenTTL: 24*60*60*1000,// 24 hours
|
|
|
|
/**************************************************************************
|
|
* *
|
|
* The extended length that browsers should retain the session cookie *
|
|
* if "Remember Me" was checked while logging in. *
|
|
* *
|
|
**************************************************************************/
|
|
rememberMeCookieMaxAge: 30*24*60*60*1000, // 30 days
|
|
|
|
/**************************************************************************
|
|
* *
|
|
* Automated email configuration *
|
|
* *
|
|
* Sandbox Sendgrid credentials for use during development, as well as any *
|
|
* other default settings related to "how" and "where" automated emails *
|
|
* are sent. *
|
|
* *
|
|
* (https://app.sendgrid.com/settings/api_keys) *
|
|
* *
|
|
**************************************************************************/
|
|
// sendgridSecret: 'SG.fake.3e0Bn0qSQVnwb1E4qNPz9JZP5vLZYqjh7sn8S93oSHU',
|
|
//--------------------------------------------------------------------------
|
|
// /\ Configure this to enable support for automated emails.
|
|
// || (Important for password recovery, verification, contact form, etc.)
|
|
//--------------------------------------------------------------------------
|
|
|
|
// The sender that all outgoing emails will appear to come from.
|
|
fromEmailAddress: 'noreply@example.com',
|
|
fromName: 'The NEW_APP_NAME Team',
|
|
|
|
// Email address for receiving support messages & other correspondences.
|
|
// > If you're using the default privacy policy, this will be referenced
|
|
// > as the contact email of your "data protection officer" for the purpose
|
|
// > of compliance with regulations such as GDPR.
|
|
internalEmailAddress: 'support+development@example.com',
|
|
|
|
// Whether to require proof of email address ownership any time a new user
|
|
// signs up, or when an existing user attempts to change their email address.
|
|
verifyEmailAddresses: false,
|
|
|
|
/**************************************************************************
|
|
* *
|
|
* Billing & payments configuration *
|
|
* *
|
|
* (https://dashboard.stripe.com/account/apikeys) *
|
|
* *
|
|
**************************************************************************/
|
|
// stripePublishableKey: 'pk_test_Zzd814nldl91104qor5911gjald',
|
|
// stripeSecret: 'sk_test_Zzd814nldl91104qor5911gjald',
|
|
//--------------------------------------------------------------------------
|
|
// /\ Configure these to enable support for billing features.
|
|
// || (Or if you don't need billing, feel free to remove them.)
|
|
//--------------------------------------------------------------------------
|
|
|
|
// ██████╗ ██████╗ ██╗███████╗
|
|
// ██╔══██╗██╔══██╗██║██╔════╝
|
|
// ██║ ██║██████╔╝██║███████╗
|
|
// ██║ ██║██╔══██╗██║╚════██║
|
|
// ██████╔╝██║ ██║██║███████║
|
|
// ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝
|
|
//
|
|
/***************************************************************************
|
|
* *
|
|
* If a PR contains changes within one of these paths, the DRI is requested *
|
|
* for approval. (If a higher-level path also has a DRI specified, only the *
|
|
* most specific DRI is requested for approval.) *
|
|
* *
|
|
* See also the CODEOWNERS file in fleetdm/fleet for more context / links. *
|
|
* *
|
|
***************************************************************************/
|
|
githubRepoDRIByPath: {// fleetdm/fleet
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
// FUTURE: To avoid repeating structure and comments, consolidate all these configs w/ something like:
|
|
// ````
|
|
// 'articles': { dri: 'jarodreyes', maintainers: ['jarodreyes', 'mike-j-thomas', 'spokanemac', 'mikermcneil'], repo: 'fleetdm/fleet' },
|
|
// ````
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
// Code for core product and integrations
|
|
'ee/tools/puppet': 'georgekarrv',//« Puppet integration (especially useful with macOS MDM turned on) -- FYI: Originally developed by request from "customer-eponym"
|
|
|
|
// Reference, config surface, built-in queries, API, and other documentation
|
|
'docs': 'rachaelshaw', //« Fleet documentation (who is auto-requested as reviewer for changes to docs?)
|
|
|
|
'docs/Using-Fleet/REST-API.md': 'rachaelshaw', //« REST API reference documentation
|
|
'docs/Contributing/API-for-contributors.md': 'rachaelshaw',//« Advanced / contributors-only API reference documentation
|
|
|
|
'schema': 'rachaelshaw', //« Data tables (osquery/fleetd schema) documentation
|
|
|
|
'docs/01-Using-Fleet/standard-query-library/standard-query-library.yml': 'zwass', //« Built-in queries
|
|
'ee/cis': 'sharon-fdm',//« Fleet Premium only: built-in queries (built-in policies for CIS benchmarks) -- FYI: On 2023-07-15, we changed this so that Sharon, Lucas, Marcos, and Rachel are all maintainers, but where there is a single DRI who is automatically requested approval from.
|
|
|
|
// Articles and release notes
|
|
'articles': 'jarodreyes',
|
|
'CHANGELOG.md': 'lukeheath',
|
|
|
|
// Website (fleetdm.com)
|
|
'website': 'mikermcneil',// (catch-all)
|
|
'website/assets': 'eashaw', // « Eric is DRI for website frontend code
|
|
'website/views': 'eashaw',
|
|
'website/views/pages/pricing.ejs': 'mikermcneil',//« But CEO is DRI for pricing
|
|
'website/api': 'mikermcneil',//« Website backend, scripts, deps
|
|
'website/api/controllers/webhooks/receive-from-github.js': 'mikermcneil',// github bot (webhook)
|
|
'website/api/controllers/imagine': 'eashaw',// landing pages
|
|
'website/config': 'mikermcneil',
|
|
'website/config/routes.js': 'eashaw',//« Website redirects and URLs
|
|
'website/scripts': 'mikermcneil',
|
|
'website/package.json': 'eashaw',
|
|
|
|
// Other brandfronts
|
|
'README.md': 'mikermcneil',// « GitHub brandfront
|
|
'tools/fleetctl-npm/README.md': 'mikermcneil',// « NPM brandfront (npmjs.com/package/fleetctl)
|
|
|
|
// Config as code for infrastructure, internal security and IT use cases, and more.
|
|
'infrastructure': 'lukeheath',//« infrastructure and related terraform configuration files
|
|
'charts': 'lukeheath',
|
|
'terraform': 'lukeheath',
|
|
|
|
// Repo automation and change control settings
|
|
'CODEOWNERS': 'mikermcneil',
|
|
|
|
// Handbook
|
|
'handbook/company': 'mikermcneil',
|
|
'handbook/company/ceo-handbook.md': 'sampfluger88',
|
|
'handbook/business-operations': 'mikermcneil',// TODO: Transfer to joanne once the philosophical stuff is deduplicated
|
|
'handbook/engineering': 'lukeheath',
|
|
'handbook/product': 'zhumo',
|
|
'handbook/product/pricing-features-table.yml': 'mikermcneil',//« CEO is current DRI for product marketing (e.g. features table)
|
|
'handbook/customers': 'alexmitchelliii',
|
|
'handbook/marketing': 'jarodreyes',
|
|
'handbook/README.md': 'mikermcneil', // « This is the "Table of contents" landing page
|
|
|
|
// GitHub issue templates
|
|
'.github/ISSUE_TEMPLATE': 'mikermcneil',//« GitHub issue templates
|
|
|
|
},
|
|
|
|
// FUTURE: Support DRIs for confidential and other repos (except see other note above about a consolidated way to do it, to reduce these 4-6 config keys into one)
|
|
|
|
|
|
// ███╗ ███╗ █████╗ ██╗███╗ ██╗████████╗ █████╗ ██╗███╗ ██╗███████╗██████╗ ███████╗
|
|
// ████╗ ████║██╔══██╗██║████╗ ██║╚══██╔══╝██╔══██╗██║████╗ ██║██╔════╝██╔══██╗██╔════╝
|
|
// ██╔████╔██║███████║██║██╔██╗ ██║ ██║ ███████║██║██╔██╗ ██║█████╗ ██████╔╝███████╗
|
|
// ██║╚██╔╝██║██╔══██║██║██║╚██╗██║ ██║ ██╔══██║██║██║╚██╗██║██╔══╝ ██╔══██╗╚════██║
|
|
// ██║ ╚═╝ ██║██║ ██║██║██║ ╚████║ ██║ ██║ ██║██║██║ ╚████║███████╗██║ ██║███████║
|
|
// ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝╚══════╝
|
|
//
|
|
/***************************************************************************
|
|
* *
|
|
* Maintainers whose changes to areas of respositories are auto-approved, *
|
|
* even during code freezes. *
|
|
* *
|
|
* See also the CODEOWNERS file in fleetdm/fleet for more context / links. *
|
|
* *
|
|
***************************************************************************/
|
|
githubRepoMaintainersByPath: {// fleetdm/fleet
|
|
|
|
// Code for core product and integrations
|
|
'ee/tools/puppet': ['roperzh', 'gillespi314', 'mna', 'georgekarrv'],
|
|
|
|
// Reference, config surface, built-in queries, API, and other documentation
|
|
'docs': ['zwass', 'mikermcneil', 'zhumo', 'jarodreyes', 'ksatter', 'rachaelshaw', 'lukeheath', 'eashaw', 'mike-j-thomas', 'noahtalerman'],// (default for docs)
|
|
'docs/01-Using-Fleet/standard-query-library/standard-query-library.yml': ['mikermcneil','zhumo','eashaw','lucasmrod','sharon-fdm','marcosd4h'],// (standard query library)
|
|
'schema': ['zhumo','eashaw','zwass','mikermcneil','lucasmrod','sharon-fdm','marcosd4h','rachaelshaw'],// (Osquery table schema)
|
|
'ee/cis': ['sharon-fdm', 'lucasmrod', 'marcosd4h', 'rachelElysia'],
|
|
|
|
// Articles and release notes
|
|
'CHANGELOG.md': ['zwass', 'mikermcneil', 'spokanemac', 'noahtalerman', 'zhumo', 'lukeheath'],
|
|
'articles': ['jarodreyes', 'mike-j-thomas', 'eashaw', 'zwass', 'mikermcneil'],
|
|
'website/assets/images/articles': ['jarodreyes', 'mike-j-thomas', 'eashaw', 'zwass', 'mikermcneil'],
|
|
|
|
// Website (fleetdm.com)
|
|
'website': 'mikermcneil',// (default for website)
|
|
'website/views': 'eashaw',
|
|
'website/generators': 'eashaw',
|
|
'website/assets': 'eashaw',
|
|
'website/package.json': 'eashaw',
|
|
'website/config/routes.js': ['eashaw', 'mike-j-thomas', 'jarodreyes'],// (for managing website URLs)
|
|
'website/config/policies.js': ['eashaw', 'mikermcneil'],// (for adding new pages and managing permissions)
|
|
'website/api/controllers/imagine': ['eashaw', 'jarodreyes', 'mike-j-thomas'],// landing pages
|
|
|
|
// Other brandfronts
|
|
'README.md': ['mikermcneil', 'jarodreyes', 'mike-j-thomas', 'zwass'],//« github brandfront (github.com/fleetdm/fleet)
|
|
'tools/fleetctl-npm/README.md': ['mikermcneil', 'mike-j-thomas', 'jarodreyes', 'zwass'],//« brandfront for fleetctl package on npm (npmjs.com/package/fleetctl)
|
|
|
|
// Config as code for infrastructure, internal security and IT use cases, and more.
|
|
'infrastructure': ['edwardsb', 'zwinnerman-fleetdm', 'rfairburn', 'lukeheath'],
|
|
'charts': ['edwardsb', 'zwinnerman-fleetdm', 'rfairburn', 'lukeheath'],
|
|
'terraform': ['edwardsb', 'zwinnerman-fleetdm', 'rfairburn', 'lukeheath'],
|
|
'.github/workflows/deploy-fleet-website.yml': ['eashaw','mikermcneil'],// (website deploy script)
|
|
'.github/workflows/test-website.yml': ['eashaw','mikermcneil'],//« website CI test script
|
|
'.github/workflows': ['zwass', 'mikermcneil'],//« CI/CD workflows & misc GitHub Actions. Note that some are also addressed more specifically below in relevant sections)
|
|
|
|
// Repo automation and change control settings
|
|
'CODEOWNERS': ['zwass', 'mikermcneil'],// (« for changing who reviews is automatically requested from for given paths)
|
|
'website/config/custom.js': ['eashaw', 'mikermcneil'],// (« for changing whose changes automatically approve and unfreeze relevant PRs changing given paths)
|
|
|
|
// Handbook
|
|
'handbook': ['mike-j-thomas', 'eashaw', 'mikermcneil', 'zwass'],// (default for handbook)
|
|
'handbook/company': 'mikermcneil',
|
|
'handbook/company/ceo-handbook.md': ['sampfluger88', 'mikermcneil'],
|
|
'handbook/business-operations': ['jostableford', 'hollidayn', 'mikermcneil'],
|
|
'handbook/engineering': ['zwass', 'lukeheath'],
|
|
'handbook/product': ['noahtalerman', 'zhumo'],
|
|
'handbook/customers': ['alexmitchelliii','zayhanlon','dherder'],
|
|
'handbook/marketing': ['jarodreyes', 'mike-j-thomas', 'spokanemac'],
|
|
|
|
// GitHub issue templates
|
|
'.github/ISSUE_TEMPLATE': ['mikermcneil', 'lukeheath', 'hollidayn'],
|
|
'.github/ISSUE_TEMPLATE/bug-report.md': ['xpkoala','zhumo','noahtalerman', 'lukeheath'],
|
|
'.github/ISSUE_TEMPLATE/feature-request.md': ['xpkoala', 'zhumo','noahtalerman', 'lukeheath'],
|
|
'.github/ISSUE_TEMPLATE/smoke-tests.md': ['xpkoala', 'zhumo','lukeheath','noahtalerman', 'lukeheath'],
|
|
},
|
|
|
|
confidentialGithubRepoMaintainersByPath: {// fleetdm/confidential
|
|
|
|
// Config as code for infrastructure, internal security and IT use cases, and more.
|
|
'mdm_profiles': ['lukeheath', 'zwass'],//« for dogfood.fleetdm.com, this is the required OS settings applied to contributor Macs
|
|
'vpn': ['rfairburn', 'zwass'],// « for managing VPN rules for accessing customer and Fleet Sandbox infrastructure
|
|
'.github/workflows': ['mikermcneil', 'zwass', 'hollidayn', 'lukeheath'],//« CI/CD workflows
|
|
|
|
// Repo automation and change control settings
|
|
'CODEOWNERS': ['mikermcneil'],
|
|
'.gitignore': ['mikermcneil', 'zwass', 'hollidayn', 'dherder', 'zayhanlon', 'lukeheath', 'zwinnerman-fleetdm', 'rfairburn'],// « what files should not be checked in?
|
|
'free-for-all': '*',//« Folder that any fleetie (core team member, not consultants) can push to, willy-nilly
|
|
|
|
// "Secret handbook"
|
|
// Standard operating procedures (SOP), etc that would be public handbook content except for that it's confidential.
|
|
'README.md': ['mikermcneil'],// « about this repo
|
|
'cold-outbound-strategy.md': ['mikermcneil','bradmacd'],// « Cold outbound strategy (see fleetdm.com/handbook/company/why-this-way for our vision of a better way to sell)
|
|
|
|
// GitHub issue templates
|
|
'.github/ISSUE_TEMPLATE': ['mikermcneil', 'jostableford'],
|
|
|
|
},
|
|
|
|
fleetMdmGitopsGithubRepoMaintainersByPath: {
|
|
'/': ['lukeheath']
|
|
},
|
|
|
|
// The version of osquery to use when generating schema docs
|
|
// (both in Fleet's query console and on fleetdm.com)
|
|
versionOfOsquerySchemaToUseWhenGeneratingDocumentation: '5.8.1',
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* Any other custom config this Sails app should use during development. *
|
|
* (and possibly in ALL environments, if not overridden in config/env/) *
|
|
* *
|
|
***************************************************************************/
|
|
// Contact form:
|
|
// slackWebhookUrlForContactForm: '…',
|
|
|
|
// GitHub bot:
|
|
// githubAccessToken: '…',
|
|
// githubBotWebhookSecret: '…',
|
|
// slackWebhookUrlForGithubBot: '…',
|
|
// mergeFreezeAccessToken: '…',
|
|
// datadogApiKey: '…',
|
|
|
|
// For receive-from-customer-fleet-instance webhook.
|
|
// customerWorkspaceOneBaseUrl: '…',
|
|
// customerWorkspaceOneOauthId: '…',
|
|
// customerWorkspaceOneOauthSecret: '…',
|
|
// customerMigrationWebhookSecret: '…',
|
|
|
|
//…
|
|
|
|
};
|