2020-12-02 20:48:03 +00:00
/ * *
* 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 . *
* *
2022-05-06 05:12:50 +00:00
* • No trailing slash at the end *
2020-12-02 20:48:03 +00:00
* • ` 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 . *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-05-26 08:24:38 +00:00
baseUrl : 'http://localhost:2024' ,
2020-12-02 20:48:03 +00:00
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* 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.)
//--------------------------------------------------------------------------
2023-07-16 00:56:30 +00:00
// ██████╗ ██████╗ ██╗███████╗
// ██╔══██╗██╔══██╗██║██╔════╝
// ██║ ██║██████╔╝██║███████╗
// ██║ ██║██╔══██╗██║╚════██║
// ██████╔╝██║ ██║██║███████║
// ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝
//
2022-05-06 05:12:50 +00:00
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
2023-07-16 00:56:30 +00:00
* 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 . ) *
2022-05-06 05:12:50 +00:00
* *
2023-07-16 00:56:30 +00:00
* See also the CODEOWNERS file in fleetdm / fleet for more context / links . *
2022-05-06 05:12:50 +00:00
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2023-07-16 01:35:12 +00:00
githubRepoDRIByPath : { // fleetdm/fleet
2023-07-16 00:56:30 +00:00
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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' },
// ````
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2022-05-06 05:12:50 +00:00
2023-07-16 00:56:30 +00:00
// 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"
2023-03-18 00:32:34 +00:00
2023-07-16 00:56:30 +00:00
// 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' ,
2023-07-16 01:54:24 +00:00
'handbook/company/ceo-handbook.md' : 'sampfluger88' ,
2023-07-16 00:56:30 +00:00
'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
2023-02-21 08:19:55 +00:00
// GitHub issue templates
2023-07-16 00:56:30 +00:00
'.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)
2022-08-11 17:39:53 +00:00
2023-07-16 00:56:30 +00:00
// ███╗ ███╗ █████╗ ██╗███╗ ██╗████████╗ █████╗ ██╗███╗ ██╗███████╗██████╗ ███████╗
// ████╗ ████║██╔══██╗██║████╗ ██║╚══██╔══╝██╔══██╗██║████╗ ██║██╔════╝██╔══██╗██╔════╝
// ██╔████╔██║███████║██║██╔██╗ ██║ ██║ ███████║██║██╔██╗ ██║█████╗ ██████╔╝███████╗
// ██║╚██╔╝██║██╔══██║██║██║╚██╗██║ ██║ ██╔══██║██║██║╚██╗██║██╔══╝ ██╔══██╗╚════██║
// ██║ ╚═╝ ██║██║ ██║██║██║ ╚████║ ██║ ██║ ██║██║██║ ╚████║███████╗██║ ██║███████║
// ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝╚══════╝
//
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* 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' ] ,
2023-01-13 19:42:01 +00:00
'articles' : [ 'jarodreyes' , 'mike-j-thomas' , 'eashaw' , 'zwass' , 'mikermcneil' ] ,
2023-07-06 20:08:04 +00:00
'website/assets/images/articles' : [ 'jarodreyes' , 'mike-j-thomas' , 'eashaw' , 'zwass' , 'mikermcneil' ] ,
2022-08-11 17:38:00 +00:00
2023-07-16 00:56:30 +00:00
// Website (fleetdm.com)
2022-05-06 05:12:50 +00:00
'website' : 'mikermcneil' , // (default for website)
'website/views' : 'eashaw' ,
2023-05-03 23:51:01 +00:00
'website/generators' : 'eashaw' ,
2022-05-06 05:12:50 +00:00
'website/assets' : 'eashaw' ,
2022-09-02 02:31:15 +00:00
'website/package.json' : 'eashaw' ,
2023-02-18 01:38:25 +00:00
'website/config/routes.js' : [ 'eashaw' , 'mike-j-thomas' , 'jarodreyes' ] , // (for managing website URLs)
2023-02-27 22:49:38 +00:00
'website/config/policies.js' : [ 'eashaw' , 'mikermcneil' ] , // (for adding new pages and managing permissions)
2023-07-16 00:56:30 +00:00
'website/api/controllers/imagine' : [ 'eashaw' , 'jarodreyes' , 'mike-j-thomas' ] , // landing pages
2023-02-18 01:38:25 +00:00
2023-07-16 00:56:30 +00:00
// 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)
2022-05-06 05:12:50 +00:00
2023-07-16 00:56:30 +00:00
// 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)
2023-02-16 13:38:04 +00:00
2023-07-16 00:56:30 +00:00
// 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)
2023-02-16 13:38:04 +00:00
2023-07-16 00:56:30 +00:00
// Handbook
'handbook' : [ 'mike-j-thomas' , 'eashaw' , 'mikermcneil' , 'zwass' ] , // (default for handbook)
'handbook/company' : 'mikermcneil' ,
2023-07-16 01:56:32 +00:00
'handbook/company/ceo-handbook.md' : [ 'sampfluger88' , 'mikermcneil' ] ,
2023-07-16 00:56:30 +00:00
'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' ] ,
} ,
2023-02-16 13:38:04 +00:00
2023-07-16 00:56:30 +00:00
confidentialGithubRepoMaintainersByPath : { // fleetdm/confidential
2023-02-16 13:38:04 +00:00
2023-07-16 00:56:30 +00:00
// 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
2023-03-23 03:57:31 +00:00
2023-07-16 00:56:30 +00:00
// Repo automation and change control settings
2023-03-23 03:57:31 +00:00
'CODEOWNERS' : [ 'mikermcneil' ] ,
2023-07-16 00:56:30 +00:00
'.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
2023-02-16 13:38:04 +00:00
2023-07-16 00:56:30 +00:00
// "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)
2023-02-16 12:01:06 +00:00
2022-12-05 19:58:21 +00:00
// GitHub issue templates
2023-05-24 22:00:09 +00:00
'.github/ISSUE_TEMPLATE' : [ 'mikermcneil' , 'jostableford' ] ,
2023-02-16 12:01:06 +00:00
2022-12-05 19:58:21 +00:00
} ,
2022-05-06 05:12:50 +00:00
2023-07-16 00:56:30 +00:00
fleetMdmGitopsGithubRepoMaintainersByPath : {
2023-05-30 16:27:39 +00:00
'/' : [ 'lukeheath' ]
} ,
2023-03-18 00:32:34 +00:00
// The version of osquery to use when generating schema docs
// (both in Fleet's query console and on fleetdm.com)
versionOfOsquerySchemaToUseWhenGeneratingDocumentation : '5.8.1' ,
2022-05-06 05:12:50 +00:00
2020-12-02 20:48:03 +00:00
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Any other custom config this Sails app should use during development . *
2021-05-06 18:46:52 +00:00
* ( and possibly in ALL environments , if not overridden in config / env / ) *
2020-12-02 20:48:03 +00:00
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-08-06 07:52:02 +00:00
// Contact form:
// slackWebhookUrlForContactForm: '…',
// GitHub bot:
// githubAccessToken: '…',
// githubBotWebhookSecret: '…',
// slackWebhookUrlForGithubBot: '…',
2022-04-16 00:20:13 +00:00
// mergeFreezeAccessToken: '…',
2023-04-27 21:45:35 +00:00
// datadogApiKey: '…',
2021-08-06 07:52:02 +00:00
2023-06-09 21:10:50 +00:00
// For receive-from-customer-fleet-instance webhook.
// customerWorkspaceOneBaseUrl: '…',
// customerWorkspaceOneOauthId: '…',
// customerWorkspaceOneOauthSecret: '…',
// customerMigrationWebhookSecret: '…',
2021-05-06 18:46:52 +00:00
//…
2020-12-02 20:48:03 +00:00
} ;