key: privacyPassword

description: SNMP v3 only - Sets the password associated to the privacy protocol.


key: timeout

description: Sets how long until the SNMP request times out (Default: 120s).


key: username

description: SNMP v3 only - Sets the username to use for performing the SNMP query.

type: string


key: version

description: Sets the version of the SNMP protocol (Default: v1).


key: ssh

description: Configures the SSH protocol to access the host.

type: object

default: sudo

type: boolean

type: array


key: password

description: Sets the password to use for performing the SSH query.


key: privateKey

description: Sets the private Key File to use to establish the connection to the host through the SSH protocol.


key: sudoCommand

description: Sets the sudo command to be used.


description: Sets how long until the command times out (Default: 120s).


key: useSudo

description: Sets if sudo needs to be used for the SSH Command (Default: false).


key: useSudoCommands

description: Sets the list of commands for which sudo is required.


description: Sets the username to use for performing the SSH query.


key: wbem

description: Configures the WBEM protocol to access the host.

type: integer

default: https


description: Sets the password used to establish the connection with the host through the WBEM protocol.


key: port

description: Sets the HTTPS port number used to perform WBEM queries (Default: 5989 for HTTPS or 5988 for HTTP).


key: protocol

description: Sets the protocol used to access the host (Default: https).


description: Sets how long until the WBEM request times out (Default: 120s).


description: Sets the username used to establish the connection with the host through the WBEM protocol.


key: winrm

description: Configures the WinRM protocol to access the host.

enum: ntlm kerberos

default: http


key: authentications

description: Sets an ordered list of authentication schemes (Default: ["ntlm"]).


description: Sets the password used to establish the connection with the host through the WinRM protocol.


description: Sets the port number used to perform WQL queries and commands (Default: 5985 for HTTP or 5986 for HTTPS).


description: Sets the protocol used to access the host (Default: http).


description: Sets how long until the WinRM request times out (Default: 120s).


description: Sets the username used to establish the connection with the host through the WinRM protocol.


key: wmi

description: Configures the WMI protocol to access the host.


description: Sets the password used to establish the connection with the host through the WMI protocol.


description: Sets how long until the WMI request times out (Default: 120s).


description: Sets the username used to establish the connection with the host through the WMI protocol.


key: jobPoolSize

description: Sets the number of jobs that Hardware Sentry can run simultaneously (Default: 20).


key: loggerLevel

description: Enables the debug mode of the core engine (Default: off).


key: otelCollector

description: Customizes the OpenTelemetry Collector sub-process.


key: commandLine

description: Overrides the OpenTelemetry Collector command line.


key: environment

description: Configures the OpenTelemetry Collector environment variables.


key: output

description: Configures where to print the OpenTelemetry Collector's output (Default: log).

enum: log console silent

default: log


key: workingDir

description: Configures the working directory of the OpenTelemetry Collector.


key: disabled

description: Disables the OpenTelemetry Collector (Default: false).


key: outputDirectory

description: Sets the debug output directory for all the monitored hosts. By default, the debug output files are saved in the `logs` directory under the Hardware Sentry's home directory.


key: resolveHostnameToFqdn

description: Displays the configured hostname in the Host Resource `host.name` attribute instead of the resolved FQDN (Default: false).


key: sequential

description: Forces all the network calls to be executed in sequential order for all the monitored hosts - NOT RECOMMENDED (Default: false).


description: The event horizons configuration

format: uri-reference

required: application boundedContext url events

type: number

required: id generation


key: eventHorizonConfiguration

description: The configuration of an event horizon


key: application

description: The application id of the application which the bounded context you want to communicate belongs to


key: boundedContext

description: The bounded context id you wish to penetrate to


key: url

description: The url where the other bounded context's event horizon lives


key: events

description: An array of event artifacts that this bounded context is interested in


key: artifact

description: The configuration of an artifact


key: id

description: The artifact id


key: generation

description: The artifact generation


key: excludeFiles

description: An array of globs which indicate the files that should be completely unavailable to guests when you share (e.g. secrets).


key: gitignore

description: Indicates how .gitignore files should be treated with respects to excluding/hiding files from guests.

default: hide

enum: none hide exclude


key: hideFiles

description: An array of globs which indicate the files that should be hidden from guest's file trees, but still accessible (e.g. when following the host).


description: Configuration file as an alternative for configuring your repository in the settings page.

format: uri


key: version

description: Required to adjust maintainability checks.


key: plugins

description: To add a plugin to your analysis. You can find the complete list of available plugins here: https://docs.codeclimate.com/docs/list-of-engines


key: script

description:
A command line script or scripts.

Available variables:
%project:Directory% - The project directory
%project:Name% - The project name
%project:Version% - The project version

type: string array


key: bundleExclude

description: List of files to exclude from publish output (kpm bundle).


key: code

description: Glob pattern to specify all the code files that needs to be compiled. (data type: string or array with glob pattern(s)). Example: [ "Folder1\*.cs", "Folder2\*.cs" ]


key: configurations

description: Configurations are named groups of compilation settings. There are 2 defaults built into the runtime namely 'Debug' and 'Release'.


key: copyright

description: Copyright details for the package


key: iconUrl

description: A URL for the image to use as the icon for the package. This should be a 32x32-pixel .png file that has a transparent background.


key: licenseUrl

description: A link to the license that the package is under


key: requireLicenseAcceptance

description: A Boolean value that specifies whether the client needs to ensure that the package license (described by licenseUrl) is accepted before the package is installed.


key: projectUrl

description: A URL for the home page of the package


key: summary

description: A short description of the package


key: title

description: The human-friendly title of the package


key: releaseNotes

description: A description of the changes made in each release of the package.


key: language

description: The locale ID for the package, such as en-us.


key: description

description: The description of the application


key: exclude

description: Glob pattern to indicate all the code files to be excluded from compilation. (data type: string or array with glob pattern(s)).


key: namedResource

description: Overrides the generated resource names with custom ones.


key: preprocess

description: Glob pattern to indicate all the code files to be preprocessed. (data type: string with glob pattern).


key: resources

description: Glob pattern to indicate all the files that need to be compiled as resources.


key: scripts

description: Scripts to execute during the various stages.


key: shared

description: Glob pattern to specify the code files to share with dependent projects. Example: [ "Folder1\*.cs", "Folder2\*.cs" ]


key: version

description: The version of the project/package. Examples: 1.2.3, 1.2.3-beta, 1.2.3-*


key: webroot

description: Specifying the webroot property in the project.json file specifies the web server root (aka public folder). In visual studio, this folder will be used to root IIS. Static files should be put in here.


key: editor

description: This describes details about the editor.

enum: STRING JSON DATETIME TEXT INT


key: view

description: This is the full path to the HTML view for your property editor.


key: hideLabel

description: If set to true, this hides the label for the property editor when used on a document type.


key: valueType

description: This is the type of data you want your property editor to save to the database.


key: validation

description: Object describing required validators on the editor.


key: isReadOnly

description: If set to true, this makes the property editor read-only.


key: supportsReadOnly

description: If set to true, this will disable the default read-only overlay and requires the editor to implement support for this instead.


key: alias

description: This must be a unique alias to your property editor.


key: defaultConfig

description: Provides a collection of default configuration values, in cases the property editor is not configured or is used a parameter editor, which doesn't allow configuration. The object is a key/value collection and must match the prevalue fields keys.


key: isParameterEditor

description: Enables the property editor as a macro parameter editor.


key: name

description: The friendly name of the property editor, shown in the backoffice.


key: icon

description: A CSS class for the icon to be used in the 'Select Editor' dialog, e.g. `icon-autofill`.


key: group

description: The group to place this editor in within the 'Select Editor' dialog. Use a new group name or alternatively use an existing one such as `Pickers`.


description: The friendly name of the grid editor, shown in the backoffice.


description: This must be a unique alias to your grid editor.


description: This is backoffice HTML view for your grid editor. Either refers to one of the built-in view (textstring, rte, embed, macro, media) or the full path to a custom view, e.g. `~/App_Plugins/FolderName/editor.html`.


key: render

description: This is front end Razor view for your grid editor. Accepts full path to a custom view, e.g. `~/App_Plugins/FolderName/editor.cshtml`.


key: config

description: Configuration for the grid editor. Can be used with textstring and media views or for custom configuration properties.


key: style

description: If used with the textstring view, this accepts inline CSS to style the textstring box, e.g. `font-size: 30px; line-height: 40px; font-weight: bold;`.


key: markup

description: If used with the textstring view, this allows wrapping the value in custom markup, e.g. `<h2>#value#</h2>`.


key: size

description: If used with the media view, this accepts hight and width key/value pairs for cropping.


key: height

description: Height of image in pixels.


key: width

description: Width of image in pixels.


key: prevalues

description: This is an object that stores an array of prevalue fields or options to configure your property editor.


key: fields

description: This is the collection of prevalue fields.


key: key

description: A unique key for the prevalue field.


key: label

description: The user friendly label for the prevalue.


key: description

description: A more detailed description for the user.


key: view

description: The type of editor to use for this prevalue field.


key: dashboard

description: A dashboard to display contextual information when in a section/application.

required: alias view sections


key: alias

description: The alias of the dashboard which can be queried via the Dashboard Service API.


description: This is the full path to the HTML view for your dashboard.


key: sections

description: A list of section/application aliases that the dashboard should be visible in.


key: weight

description: The weight (sort order) of the dashboard. Defaults to 100 if not specified.


key: access

description: A list of what user groups aliases are granted or denied permission to see the dashboard. All users will have access if not specified.


key: deny

description: A user group alias who is denied access.


key: grant

description: A user group alias who is granted access.


key: section

description: A section/application to extend the backoffice.

required: name alias


key: name

description: The friendly name of the section/application, shown in the backoffice.


description: The alias of the section/application which can be queried via the Section Service API.


key: contentApp

required: name alias icon view


description: The friendly name of the content app that appears under the icon.


description: A unique alias of the content app.


key: icon

description: A CSS class for the icon to be used for the content app, e.g. `icon-calculator`.


description: This is the full path to the HTML view for your content app.


description: The weight (sort order) of the content app. Default is 0, use values between -99 and +99 to appear between the existing Content (-100) and Info (100) apps.


key: show

description: A list of rules to show or hide the content app based on content, media and member types.


key: items

description: See documentation for examples of rules: https://our.umbraco.com/Documentation/Extending/Content-Apps/#limiting-according-to-type.


key: id

description: The (NuGet) package ID, shown in the backoffice and included in package telemetry as unique identifier (supported in v12+). Also used to retrieve the assembly informational version if no explicit `version` and `versionAssemlbyName` is set.


description: The (friendly) package name, shown in the backoffice and included in package telemetry. If not specified, uses the directory name instead.


key: version

description: The package version, shown in the backoffice and included in package telemetry. If not specified, uses the `versionAssemblyName` or `id` to retrieve the assembly informational version.


key: versionAssemblyName

description: The assembly name to retrieve the informational version, if no explicit `version` is set. If not specified, uses the `id` instead (supported in v12+).


key: allowPackageTelemetry

description: Allows you to opt-out of including your package in telemetry reports if set to false, defaults to true.


key: packageView

description: The full path to an HTML view for your package to help users maintain configuration data when viewing installed packages in the backoffice.


key: bundleOptions

description: Default: The assets will be bundled with the typical packages bundle. None: The assets in the package will not be processed at all and will all be requested as individual assets in debug and production. Independent: The packages assets will be processed as it's own separate bundle (in debug, files will not be processed).

enum: Default None Independent


key: javascript

description: A list of JavaScript files with full path to load in the backoffice.


key: css

description: A list of CSS files with full path to load in the backoffice.


key: propertyEditors

description: Returns an array of editor objects, each object specifies an editor to make available to data types as an editor component. These editors are primarily property editors for content, media and members, but can also be made available as a macro parameter editor.


key: parameterEditors

description: Returns an array of editor objects, each object specifies an editor to make available to macro parameters as an editor component. These editors work solely as parameter editors, and will not show up on the property editors list.


key: gridEditors

description: Returns an array of grid editor objects, each object specifies a grid editor to make available in the Grid Layout property editor.


key: dashboards

description: Returns an array of dashboards, each object specified a dashboard to make available in the backoffice.


key: sections

description: Returns an array of sections/applications to add to the backoffice.


key: contentApps

description: Returns an array of Content Apps to add to the backoffice.


key: author

description: List of names of authors of the cog


key: description

description: A long description of the cog or repo. For cogs, this is displayed when a user executes [p]cog info.


description: The message that gets displayed when a cog is installed or a repo is added


key: short

description: A short description of the cog or repo. For cogs, this info is displayed when a user executes [p]cog list


key: name

description: User-friendly environment name that will appear in the TestExplorer list. It must be unique within a testEnvironments.json file.


key: localRoot

description: Path on the local machine (either absolute or relative to the solution directory) which is projected into the remote environment. If not specified, this will default to the repo root within the context of a git repo (on VS 17.1 and above). Outside a git repo, this would default to the solution directory.


key: dockerImage

description: Name of a docker image to load in a docker env. dockerImage or dockerFile must be specified, but not both.


key: dockerFile

description: Path to a Dockerfile, relative to the solution directory, to build an image and load in a docker env. dockerImage or dockerFile must be specified, but not both.


key: wslDistribution

description: Name of the local WSL distribution in which to run the test environment.


key: remoteUri

description: A uri that specifies the connection to the remote machine. e.g. ssh://user@hostname:22


description: A uri that specifies the connection to the remote machine. e.g. tcp://hostname:2358


description: The configuration required for Frogbot to scan your Git repositories.

required: repoName branches

default: master

examples: fix(dependency) update ${IMPACTED_PACKAGE} to ${FIX_VERSION}

default: false

repoName: repo-name

examples:
nuget restore
dotnet restore

examples: . npm-project/ go/project-1/


key: params

description: Includes the configuration of a single Git repository that needs to be scanned. For Azure Repos, Bitbucket Server and GitHub with JFrog Pipelines or Jenkins, you can define multiple 'params' sections one after the other, for scanning multiple Git repositories in the same organization.


key: $git

description: Includes the required Git parameters such as repository name and branches.


key: repoName

description: The name of the git repository to scan.


key: branches

description: A list of branches to scan.


key: $scan

description: Includes the scanning parameters such as the required scanning directories.


key: includeAllVulnerabilities

description: Set to true to display all existing vulnerabilities, including the ones that were not added by the pull request.


key: failOnSecurityIssues

description: Set to true to fail the job if security issues were found.


key: minSeverity

description: Set the minimum severity for vulnerabilities that should be fixed and commented on in pull requests.


key: fixableOnly

description: Handle vulnerabilities with fix versions only.


key: emailReceivers

description: List of email addresses to receive emails about secrets that has been detected in a pull request scan.


key: projects

description: A list of sub-projects / project dirs inside the Git repository.


key: installCommand

description: An installation command to run to resolve the project dependencies.


key: workingDirs

description: A list of relative paths to the projects directories in the git repository.


key: pipRequirementsFile

description: The requirements file name that used to install dependencies in case of Pip package manager.


key: useWrapper

description: Set to false to avoid using the Gradle wrapper.


key: repository

description: Name of a Virtual Repository in Artifactory to resolve (download) the project dependencies from


key: $jfrogPlatform

description: Includes the JFrog platform related parameters such as Project Watches.


key: jfrogProjectKey

description: The JFrog project. Learn more about it here: https://www.jfrog.com/confluence/display/JFROG/Projects.


key: watches

description: JFrog Watches. Learn more about them here: https://www.jfrog.com/confluence/display/JFROG/Configuring+Xray+Watches.


key: jsDoc

description: Validate jsdoc comments.

type: boolean null object string

type: boolean string

type: boolean null string


key: checkAnnotations

description: Checks whether tag names are valid.


description: By default, any tag from any preset is allowed.  You can pass Object to select preset with preset field and add custom tags with extra field.


key: extra

description: Add custom tags with the extra field.  The extra field should contain tags in keys with true, false, or "some" for the values.


description: There are 3 presets:  Closure Compiler, JSDoc3 and JSDuck5.


key: checkParamExistence

description: Checks whether all parameters are documented.


key: checkParamNames

description: Checks whether param names in jsdoc and in function declaration are equal.


key: requireParamTypes

description: Checks whether params in jsdoc contains type.


key: checkRedundantParams

description: Reports redundant params in jsdoc.


key: checkReturnTypes

description: Checks for differences between the jsdoc and actual return types if both exist.


key: checkRedundantReturns

description: Report statements for functions without a return, which are described with an @return tag.


key: requireReturnTypes

description: Checks whether @returns in jsdoc contains type.


key: checkTypes

description: Reports invalid types for bunch of tags.


description: Can equal "strictNativeCase" or "capitalizedNativeCase".


description: The strictNativeCase mode checks that case of natives is the same as in this list: boolean, number, string, Object, Array, Date, RegExp.


description: The capitalizedNativeCase mode checks that the first letter in all native types and primitives is uppercased except the case with function in google closure format:  {function(...)}.


key: checkRedundantAccess

description: Reports redundant access declarations.


description: If an @access tag is specified, the function name must contain a leading _underscore.


description: If an @access tag is specified, the function name must contain a trailing underscore_.


key: leadingUnderscoreAccess

description: Checks whether access declaration is set for _underscored function names.  Ignores a bunch of popular identifiers: __filename, __dirname, __proto__, __defineGetter__, super_, __constructor, etc.


description: true (means not public).  Report if @private or @protected is absent from _underscored function names.


description: Enforce only @private for all _underscored function names.


description: Enforce only @protected for all _underscored function names.


key: enforceExistence

description: Checks whether jsdoc block exists.


description: An object that contains an "allExcept" key equal to an array of exception values.


key: allExcept

description: Array of quoted keywords to exempt.


key: items

description: Skip expression functions.


description: Skip module.exports = function () {};


description: Functions without parameters and with empty return statements will be skipped.


description: Deprecated in favor of the object "allExcept": ["exports"] rule format.


description: Skip expression functions.


key: requireHyphenBeforeDescription

description: Checks whether a jsdoc param description has a hyphen before it (checks for -).


key: requireNewlineAfterDescription

description: Checks whether a jsdoc comment description has a padding (trailing) newline separator between it and additional @tags.


key: disallowNewlineAfterDescription

description: Checks whether a jsdoc comment description has no padding (trailing) newline separator between it and additional @tags.


key: requireDescriptionCompleteSentence

description: Checks whether a jsdoc comment description is a complete sentence.  A complete sentence is defined as starting with an upper case letter and ending with a period.


key: requireParamDescription

description: Checks whether a jsdoc param description exists.


key: requireReturnDescription

description: Checks whether a jsdoc return description exists.


key: nullRule

description: Removes the rule.


key: additionalRules

description: Path to load additional rules


key: disallowAnonymousFunctions

description: Requires that a function expression be named. Named functions provide more information in the error stack trace than anonymous functions.  This option does not help if you use Arrow functions (ES6) which are always anonymous.


key: disallowArrowFunctions

description: Disallows arrow functions.


key: disallowCapitalizedComments

description: Requires the first alphabetical character of a comment to be lowercase.


key: disallowCommaBeforeLineBreak

description: Disallows commas as last token on a line in lists.

type: boolean null object


description: For default behavior (strict mode, comma on the same line).


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


description: Array of quoted keywords to exempt.


key: disallowCurlyBraces

description: Disallows curly braces after statements.

type: array boolean null


key: disallowDanglingUnderscores

description: Disallows identifiers that start or end in _.  Some popular identifiers are automatically listed as exceptions:  __proto__ (javascript), _ (underscore.js), __filename (node.js global), __dirname (node.js global), super_ (node.js, used by util.inherits).


description: Array of quoted keywords to exempt.


key: disallowEmptyBlocks

description: Disallows empty blocks (except for catch blocks).


description: For default behavior (strict mode, no empty blocks allowed).


key: allExcept

description: Array of quoted keywords to exempt.  Blocks containing only comments would not be considered empty.


key: disallowFunctionDeclarations

description: Disallows function declarations.


key: disallowIdenticalDestructuringNames

description: Disallows identical destructuring names for the key and value in favor of using shorthand destructuring.


key: disallowIdentifierNames

description: Disallows a specified set of identifier names.


description: An array of strings, which should be disallowed as identifier names.


key: disallowImplicitTypeConversion

description: Disallows implicit type conversion.

enum: numeric boolean binary string


key: disallowKeywordsInComments

description: Disallows one or more keywords in comments.

type: array boolean null string


description: An array of strings, which should be disallowed keywords in comments.


description: If true, "TODO" and "FIXME" will be disallowed in comments.


description: A valid Regular Expression.


key: disallowKeywordsOnNewLine

description: Disallows placing the specified keywords on a new line.


key: disallowKeywords

description: Disallows usage of the specified keywords.


key: disallowMixedSpacesAndTabs

description: Requires lines to not contain both spaces and tabs consecutively, or spaces after tabs only for alignment if "smart


key: disallowMultiLineTernary

description: Disallows the test, consequent and alternate to be on separate lines when using the ternary operator.


key: disallowMultipleLineBreaks

description: Disallows multiple blank lines in a row.


key: disallowMultipleLineStrings

description: Disallows strings that span multiple lines without using concatenation.


key: disallowMultipleSpaces

description: Disallows multiple indentation characters (tabs or spaces) between identifiers, keywords, and any other token.


description: An object that contains a "allowEOLComments" key equal to a boolean.


key: disallowMultipleVarDecl

description: Disallows multiple `var` declaration (except for-loop).


description: Array of quoted keywords to exempt.


key: items

description: Allows declarations where all variables are importing external modules with require.


description: Allows declarations where all variables are not defined.


key: disallowNamedUnassignedFunctions

description: Disallows unassigned functions to be named inline.


key: disallowNestedTernaries

description: Disallows nested ternaries.


description: An object that contains a "maxLevel" property equal to an integer indicating the maximum levels of nesting to be allowed.


key: maxLevel

description: The maximum levels of ternary nesting to be allowed.


key: disallowNewlineBeforeBlockStatements

description: Disallows newline before opening curly brace of all block statements.

type: array boolean null object

type: array boolean


description: A value of true will always disallow newline before curly brace of block statements.


description: An object that contains a "value" key equal to a boolean or an array, and / or an "allExcept" key equal to an array of quoted exceptions.


key: allExcept

description: Array of quoted keywords to exempt.  If `multiline` is specified, when the conditions span on multiple lines, require a new line before the curly brace.


key: disallowNodeTypes

description: Disallow use of certain node types (from Esprima/ESTree).  Value equals an array of parser node types to be disallowed.


key: disallowNotOperatorsInConditionals

description: Disallows the not, not equals, and strict not equals operators in conditionals.


key: disallowObjectKeysOnNewLine

description: Disallows placing object keys on new line.


key: disallowOperatorBeforeLineBreak

description: Requires putting certain operators on the next line rather than on the current line before a line break.


key: disallowPaddingNewLinesAfterBlocks

description: Disallow a newline after blocks.


key: disallowPaddingNewLinesAfterUseStrict

description: Disallow a blank line after 'use strict'; statements.


key: disallowPaddingNewLinesBeforeExport

description: Disallows newline before module.exports.


key: disallowPaddingNewlinesBeforeKeywords

description: Disallow an empty line above the specified keywords.


description: Disallows newline before line comments.


key: disallowPaddingNewlinesInBlocks

description: Disallows blocks from beginning or ending with 2 newlines.

enum: conditionals functions


description: A value of true validates all non-empty blocks.


description: An object that contains a "open" key equal to a boolean, an "close" key equal to a boolean, and / or an "allExcept" key equal to an array of quoted exceptions.


key: close

description: A value of true validates that there is a newline before the closing brace in a block.  A value of false ignores the newline validation before the closing brace in a block.


key: open

description: A value of true validates that there is a newline after the opening brace in a block.  A value of false ignores the newline validation after the opening brace in a block.


description: Array of quoted keywords to exempt.  If `conditionals` is specified, conditionals (if, else if, else) blocks are ignored.  If `functions` is specified, function blocks are ignored.


key: disallowPaddingNewLinesInObjects

description: Disallows newlines adjacent to curly braces in all object literals.


key: disallowParenthesesAroundArrowParam

description: Disallows parentheses around arrow function expressions that contain a single parameter.


key: disallowQuotedKeysInObjects

description: Disallows quoted keys in object if possible.


description: Set to true for strict mode.


description: An object that contains an "allExcept" key equal to an array of exception values.


description: Array of quoted keywords to exempt.


key: items

description: Allows ES3+ reserved words to remain quoted which is helpful when using this option with JSHint's es3 flag.


description: Deprecated in favor of the object "allExcept": ["reserved"] rule format.


key: disallowSemicolons

description: Disallows lines from ending in a semicolon.


key: disallowShorthandArrowFunctions

description: Require arrow functions to use a block statement (explicit return).


key: disallowSpaceAfterBinaryOperators

description: Requires sticking binary operators to the right.


key: disallowSpaceAfterComma

description: Disallows spaces after commas.


description: A value of true will disallow any spaces after any comma.


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


description: Allow spaces in place of absent values in sparse arrays.


key: disallowSpaceAfterKeywords

description: Disallows space after the specified keywords.  A value of true will require spaces after all possible keywords.


key: disallowSpaceAfterLineComment

description: Requires that a line comment (//) not be followed by a space.


key: disallowSpaceAfterObjectKeys

description: Disallows space after object keys.


description: Ignores objects if the object only takes up a single line.


description: Ignores objects if the object takes up multiple lines.


description: Ignores aligned object properties.


description: Ignores method declarations.


description: Deprecated in favor of the object "allExcept": [] rule format.


key: disallowSpaceAfterPrefixUnaryOperators

description: Requires sticking unary operators to the right.


key: disallowSpaceBeforeBinaryOperators

description: Requires sticking binary operators to the left.


key: disallowSpaceBeforeBlockStatements

description: Disallows space before block statements (for loops, control structures).


key: disallowSpaceBeforeComma

description: Disallows spaces before commas.


description: A value of true will disallow any spaces before any comma.


description: An object that contains an "allExcept" key equal to an array of exception values.


key: allExcept

description: Array of quoted keywords to exempt.


description: Deprecated in favor of the object "allExcept": ["exports"] rule format.


description: Skip expression functions.


key: disallowSpaceBeforeKeywords

description: Disallows space before keyword.


key: disallowSpaceBeforeObjectValues

description: Disallows space before object values.


description: Requires sticking unary operators to the left.


key: disallowSpaceBeforeSemicolon

description: Disallows spaces before semicolons.


description: A value of true will disallow any spaces before any semicolon.


description: An object that contains an "allExcept" key equal to an array of exception tokens.


description: Array of quoted tokens to exempt (allows whitespace before semicolon if preceded by the specified token).


key: disallowSpaceBetweenArguments

description: Ensure there are no spaces after argument separators in call expressions.


Disallows space before () or {} in anonymous function expressions.


key: disallowSpacesInCallExpression

description: Disallows space before () in call expressions.


key: disallowSpacesInConditionalExpression

description: Disallows space before and/or after ? or : in conditional expressions.


description: A value of true will set all properties [afterTest, beforeConsequent, afterConsequent, beforeAlternate] to true.


description: An object that contains keys of type boolean.


key: disallowSpacesInForStatement

description: Disallow spaces in between for statement.


key: disallowSpacesInFunction

description: Disallows space before `()` or `{}` in function expressions (both named and anonymous) and function declarations.


key: disallowSpacesInFunctionDeclaration

description: Disallows space before () or {} in function declarations.


key: disallowSpacesInFunctionExpression

description: Disallows space before `()` or `{}` in function expressions (both named and anonymous).


key: disallowSpacesInGenerator

description: Disallow space before or after * in generator functions.


description: At least one of the object properties must be present and it must be set to true.


key: beforeStar

description: A value of true disallows space before *.


key: afterStar

description: A value of true disallows space after *.


key: disallowSpacesInNamedFunctionExpression

description: Disallows space before () or {} in named function expressions


key: disallowSpacesInsideArrayBrackets

description: Disallows space after opening array square bracket and before closing.  Reports only on arrays, not on property accessors.  Use disallowSpacesInsideBrackets to report on all brackets.


description: Use "all" or true for strict mode.


description: An object that contains an "allExcept" key equal to an array of exception tokens.


description: Array of quoted tokens to exempt.  Tokens should consist of an opener with a matching closer () {} [] etc.


key: items

description: Tokens should consist of an opener with a matching closer () {} [] etc.


description: Deprecated in favor of the object "allExcept": [] rule format.


key: disallowSpacesInsideBrackets

description: Disallows space after opening square bracket and before closing.  Reports on all on brackets, even on property accessors.  Use disallowSpacesInsideArrayBrackets to exclude property accessors.


description: Use true for strict mode.


key: disallowSpacesInsideObjectBrackets

description: Disallows space after opening object curly brace and before closing.


description: Use "all" or true for strict mode.


key: allExcept

description: Array of quoted tokens to exempt.  Applies only to closer tokens:  e.g. ) } ].  If a (closer) token is specified, the rule ignores contiguous (closer) tokens.


description: Tokens should consist of an closer:  ) } ] etc.


key: disallowSpacesInsideParentheses

description: Disallows space after opening round bracket and before closing.

type: boolean null string object

enum: ( ) { } [ ] function


description: An object that contains an "only" key equal to an array of values which indicate where to apply this rule.


key: only

description: Array of quoted values to target.


description: Disallows space after opening and before closing grouping parentheses.


description: If true, always disallow spaces inside grouping parentheses.


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


description: Array of quoted tokens or items to exempt.  Tokens should consist of an opener with a matching closer () {} [] or `function`.


description: Tokens should consist of an opener with a matching closer () {} [] etc. or `function`.


description: Disallows spaces before and after curly brace inside template string placeholders.


key: disallowTabs

description: Disallows tabs everywhere.


key: disallowTrailingComma

description: Disallows an extra comma following the final element of an array or object literal.


key: disallowTrailingWhitespace

description: Requires all lines to end on a non-whitespace character.


description: Use "ignoreEmptyLines" to allow whitespace on empty lines (default is false).


key: disallowUnusedParams

description: Disallows unused params in function expression and function declaration.


key: disallowVar

description: Disallows declaring variables with var.


key: disallowYodaConditions

description: Requires the variable to be the left hand operator when doing a boolean comparison.  Array of quoted operators or true to disallow yoda conditions for most possible comparison operators.


key: excludeFiles

description: Disables style checking for specified paths.


key: maximumLineLength

description: Requires all lines to be at most the number of characters specified.

type: integer null object


description: Lines should be at most the number of characters specified.


description: An object that contains an "allExcept" key equal to an array an array of conditions that will exempt a line, in addition to other attributes.


description: Array of conditions that will exempt a line.


description: Allows comments to break the rule.


description: Allows function definitions to break the rule.


description: Allows regular expression literals to break the rule.


description: Allows require expressions to break the rule.


description: Allows comments with long urls to break the rule.


key: tabSize

description: Considered the tab character as number of specified spaces.


key: value


key: maximumNumberOfLines

description: Requires the file to be at most the number of lines specified.


description: File should be at most the number of lines specified.


key: preset

description: Extends defined rules with preset rules.

type: string

enum: airbnb crockford google grunt idiomatic jquery mdcs node-style-guide wikimedia wordpress yandex


key: requireAlignedMultilineParams

description: Enforces indentation of parameters in multiline functions.

type: boolean integer null string


description: If true, require parameters to align with the body of the function.

type: boolean


description: The number of columns the parameters should be indented past the function body.


description: Use `firstParam` to require parameters on a new line to be aligned with the first parameter(s) on the previous line.


key: requireAlignedObjectValues

description: Requires proper alignment in object literals.


description: Use for strict mode.


description: Ignores objects if one of the property values is a function expression.


description: Ignores objects if there are line breaks between properties.


key: requireAnonymousFunctions

description: Requires that a function expression be anonymous.

type: object

type: array


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


key: allExcept

description: Array of quoted keywords to exempt.


key: items

description: Ignores function declarations.


key: requireArrayDestructuring

description: Requires that variable assignment from array values are * destructured.


key: requireArrowFunctions

description: Requires that arrow functions are used instead of anonymous function expressions in callbacks.


key: requireBlocksOnNewline

description: Requires blocks to begin and end with a newline.

type: boolean integer null object

type: integer


description: If true, validates all non-empty blocks.


description: Specifies a minimum number of lines containing elements in the block before validating.


key: includeComments

description: If true, includes comments as part of the validation.


key: minLines


key: requireCamelCaseOrUpperCaseIdentifiers

description: Requires identifiers to be camelCased or UPPERCASE_WITH_UNDERSCORES.

type: boolean null object string


description: An object that contains an "allExcept" key equal to an array of exception values, in addition to other attributes.


description: Array of String, RegExp, or ESTree RegExpLiteral values permitted as exceptions.


key: allowedPrefixes

description: Array of String, RegExp, or ESTree RegExpLiteral values permitted as prefixes.


key: allowedSuffixes

description: Array of String, RegExp, or ESTree RegExpLiteral values permitted as suffixes.


key: ignoreProperties

description: If true, allows an exception for object property names.


key: strict

description: If true, forces the first character to not be capitalized.


description: Deprecated in favor of the object "ignoreProperties" rule format.


key: requireCapitalizedComments

description: Requires the first alphabetical character of a comment to be uppercase, unless it is part of a multi-line textblock.  This rule automatically ignores jscs, jshint, eslint, and istanbul specific comments.


description: An object that contains an "allExcept" key equal to an array of quoted exceptions, in addition to other attributes.


description: Array of quoted keywords to exempt.


key: inlined

description: If true, ignore comments in the middle of the code line.


key: requireCapitalizedConstructorsNew

description: Requires capitalized constructors to to use the new keyword.


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


key: requireCapitalizedConstructors

description: Requires constructors to be capitalized (except for "this")


key: requireCommaBeforeLineBreak

description: Requires commas as last token on a line in lists.


key: requireCurlyBraces

description: Requires curly braces after statements.  A value of true will require curly braces for all the necessary keywords:  if, else, for, while do, try, catch, case, and default.


description: An object that contains a "keywords" or "allExcept" key equal to an array of quoted exceptions.


key: keywords

description: Array of quoted keywords that would require curly braces.


key: allExcept

description: Array of quoted keywords to exempt.  Allows not using braces in some instances; ex.  /*allowed:*/ if (x) return; /* not allowed*/ if (x) i++; given "allExcept": ["return", "continue", "break", ...],


key: requireDollarBeforejQueryAssignment

description: Require a $ before variable names that are jquery assignments.

type: boolean string


key: requireDotNotation

description: Requires member expressions to use dot notation when possible.


description: An object that contains an "allExcept" key equal to an array of exception values.


key: items

description: Allow quoted identifiers made of reserved words.


description: Allow quoted snake cased identifiers.


description: Deprecated in favor of the object "allExcept": ["snake_case"] rule format.


description: Allow quoted snake cased identifiers.


key: requireEarlyReturn

description: Requires early return in a function.


description: If true, disallow the use of `else` if the corresponding parent `if` block contains a return.


key: requireEnhancedObjectLiterals

description: Requires declaring objects via ES6 enhanced object literals.


key: requireFunctionDeclarations

description: Requires function declarations by disallowing assignment of functions expressions to variables. Function expressions are allowed in all other contexts, including when passed as function arguments or immediately invoked.  Assignment of function expressions to object members is also permitted, since these can't be declared.


key: requireImportAlphabetized

description: Requires imports to be alphabetized (A-Z).


key: requireKeywordsOnNewLine

description: Requires placing the specified keywords on a new line.


key: requireLineBreakAfterVariableAssignment

description: Requires placing line feed after assigning a variable.


key: requireLineFeedAtFileEnd

description: Requires placing line feed at file end.


key: requireMatchingFunctionName

description: Requires function names to match member and property names.  It doesn't affect anonymous functions nor functions assigned to members or properties named with a reserved word.  Assigning to module.exports is also ignored, unless includeModuleExports: true is configured.


description: An object that contains an "includeModuleExports" key of boolean type.


key: requireMultiLineTernary

description: Requires the test, consequent and alternate to be on separate lines when using the ternary operator.


key: requireMultipleVarDecl

description: Requires multiple `var` declaration.


description: If true, it will report only consecutive vars.


description: Array of quoted keywords to exempt.


description: `require` statements are allowed to have a var declaration per variable.


description: If equal to 'onevar', requireMultipleVarDecl will allow only one var per function scope.


key: requireNamedUnassignedFunctions

description: Require unassigned functions to be named inline.


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


key: requireNewlineBeforeBlockStatements

description: Requires newline before opening curly brace of all block statements.  If true, always requires newline before curly brace of block statements.  Array specifies block-type keywords after which newlines are required before curly brace.


key: requireNumericLiterals

description: Requires use of binary, hexadecimal, and octal literals instead of parseInt.


key: requireObjectDestructuring

description: Requires variable declarations from objects via destructuring.


key: requireObjectKeysOnNewLine

description: Requires placing object keys on new line.


description: Ignores the rule if all the keys and values are on the same line.


key: requireOperatorBeforeLineBreak

description: Requires operators to appear before line breaks and not after.


description: Requires an extra blank newline after var declarations, as long as it is not the last expression in the current block.


key: requirePaddingNewLinesAfterBlocks

description: Requires newline after blocks.


description: If true, always require a newline after blocks.


key: items

description: Blocks don't need a line of padding in function argument lists.


description: Blocks don't need a line of padding in constructor argument lists.


description: Blocks don't need a line of padding in arrays.


description: Blocks don't need a line of padding as object properties.


key: requirePaddingNewLinesAfterUseStrict

description: Requires a blank line after 'use strict'; statements.


description: If true, require blank line after 'use strict' statements.


key: allExcept

description: Array of quoted keywords to exempt.


description: Allows 'require' statements to occur immediately after 'use strict'.


key: requirePaddingNewLinesBeforeExport

description: Requires newline before module.exports.


key: requirePaddingNewlinesBeforeKeywords

description: Requires an empty line above the specified keywords unless the keyword is the first expression in a block.  If true, specifies that the spacedKeywords found in the utils module require an empty line above it.  Array values indicate keywords that require an empty line above it.


description: Requires newline before line comments.


description: If true, always require a newline before line comments.


description: An object that contains an "allExcept" key equal to an array of quoted exceptions.


description: Comments may be first line of block without extra padding.


key: requirePaddingNewlinesInBlocks

description: Requires blocks to begin and end with 2 newlines.


description: If true, validates all non-empty blocks.


description: Specifies a minimum number of lines containing elements in the block before validating.


description: At least one of the object properties must be true.


key: open

description: If true, validates that there is a newline after the opening brace in a block.


key: close

description: If true, validates that there is a newline before the closing brace in a block.


description: Ignores conditional (if, else if, else) blocks.


description: Ignores function blocks.


key: requirePaddingNewLinesInObjects

description: Requires newline inside curly braces of all objects.


key: requireParenthesesAroundArrowParam

description: Requires parentheses around arrow function expressions with a single parameter.


key: requireParenthesesAroundIIFE

description: Requires parentheses around immediately invoked function expressions.


key: requireQuotedKeysInObjects

description: Requires quoted keys in objects.


key: requireSemicolons

description: Requires semicolon after:  var declaration, expression statement, return, throw, break, continue, do-while.


key: requireShorthandArrowFunctions

description: Require arrow functions to use an expression body when returning a single statement (no block statement, implicit return).


key: requireSpaceAfterBinaryOperators

description: Disallows sticking binary operators to the right.


key: requireSpaceAfterComma

description: Requires space after comma.


description: If true, require a space after any comma.


description: Array of quoted keywords to exempt.


description: Ignore trailing commas.


key: requireSpaceAfterKeywords

description: Requires space after the specified keywords.  A value of true will disallow spaces after all possible keywords.


key: requireSpaceAfterLineComment

description: Requires that a line comment (`//`) be followed by a space.


description: An object that contains an "allExcept" key equal to an array of exception values.


description: Array of allowed strings before space.


description: Deprecated in favor of the object "allExcept": ["/"] rule format.


key: requireSpaceAfterObjectKeys

description: Requires space after object keys.


key: requireSpaceAfterPrefixUnaryOperators

description: Disallows sticking unary operators to the right.


key: requireSpaceBeforeBinaryOperators

description: Disallows sticking binary operators to the left.


key: requireSpaceBeforeBlockStatements

description: Requires space before block statements (for loops, control structures).

type: boolean null integer


description: If true, require at least a single space.


description: Require at least the specified number of spaces.  Value must be greater than or equal to 1.


key: requireSpaceBeforeComma

description: Requires a space before a comma.


description: If true, require a space before any comma.


key: requireSpaceBeforeKeywords

description: Requires a space before a keyword.


description: If true, report on all possible ES3 keywords except `function`.


key: requireSpaceBeforeObjectValues

description: Requires space after object keys.


key: requireSpaceBeforePostfixUnaryOperators

description: Disallows sticking unary operators to the left.


key: requireSpaceBetweenArguments

description: Ensure there are spaces after argument separators in call expressions.


description: Requires space before `()` or `{}` in function expressions (both named and anonymous).

type: boolean null array


description: An object with the following properties (one of "beforeOpeningRoundBrace" and "beforeOpeningCurlyBrace" must be provided):


key: allExcept

description: A boolean or an array of quoted exceptions.


description: If true, enable all configuration exceptions.


description: Array of quoted keywords to exempt.


key: items

description: If "shorthand" is provided, spaces will not be required for ES6 method definitions.


key: requireSpacesInCallExpression

description: Requires space before `()` in call expressions.


key: requireSpacesInConditionalExpression

description: Requires space before and/or after `?` or `:` in conditional expressions.

type: boolean null object


description: If true, set all properties to true.


key: requireSpacesInForStatement

description: Requires spaces in between `for` statement.


key: requireSpacesInFunction

description: Requires space before `()` or `{}` in function expressions (both named and anonymous) and function declarations.


key: requireSpacesInFunctionDeclaration

description: Requires space before `()` or `{}` in function declarations.


key: requireSpacesInFunctionExpression


key: requireSpacesInGenerator

description: Requires space before and after `*` in generator functions.


description: An object where at least one of its properties must be present and it must be set to true.


key: beforeStar

description: If true, validates that there is a space before `*`.


key: afterStar

description: If true, validates that there is a space after `*`.


key: requireSpacesInNamedFunctionExpression

description: Requires space before `()` or `{}` in named function expressions.


key: requireSpacesInsideArrayBrackets

description: Requires space after opening array square bracket and before closing.  Reports only on arrays, not on property accessors.  Use requireSpacesInsideBrackets to report on all brackets.

type: null object string


description: An object that contains an "allExcept" key equal to an array of exception tokens.


description: Array of quoted tokens that can occur after an opening square bracket or before a closing square bracket without a space.


description: Strict mode.


description: Deprecated in favor of the object "allExcept": ["[", "]"] format.


key: requireSpacesInsideBrackets

description: Requires space after opening square bracket and before closing.  Reports on all on brackets, even on property accessors.  Use requireSpacesInsideArrayBrackets to exclude property accessors.


description: For default behavior (strict mode).


key: requireSpacesInsideObjectBrackets

description: Requires space after opening object curly brace and before closing.


description: Array of quoted tokens that can occur after an opening object brace or before a closing object brace without a space.


description: Strict mode.


description: Deprecated in favor of the object "allExcept": ["}"] format.


key: requireSpacesInsideParentheses

description: Requires space after opening round bracket and before closing.


description: An object that contains an "except" key equal to an array of exception tokens, in addition to other attributes.


key: except

description: Array of quoted tokens that can occur after an opening bracket or before a closing bracket without a space.


description: Strict mode.


description: Deprecated in favor of the object "except": ["(", ")"] format.  Ignores nested brackets in a row.


description: Requires space after opening and before closing grouping parentheses.

enum: { } function


description: If true, always require spaces inside grouping parentheses.


description: An object that contains an "allExcept" key equal to an array of exception values.


key: allExcept

description: Array of quoted keywords to exempt.


key: items

description: Ignore parenthesized objects and functions.


key: requireSpread

description: Disallows using `.apply` in favor of the spread operator.


description: If true, specifies that apply `.apply` is disallowed.


key: requireTemplateStrings

description: Requires the use of template strings instead of string concatenation.


description: Array of quoted keywords to exempt.


description: Ignores strings concatenated with other strings.


key: requireTrailingComma

description: Requires an extra comma following the final element of an array or object literal.


description: If true, validates all arrays and objects.


key: ignoreSingleValue

description: If true, allows single property objects and single element arrays to not require a trailing comma.


key: ignoreSingleLine

description: If true, allows objects and arrays on a single line to not require a trailing comma.


key: requireVarDeclFirst

description: Requires `var` declaration to be on the top of an enclosing scope.


description: If true, specifies that `var` declarations must occur the top of a function scope.


key: requireYodaConditions

description: Requires the variable to be the right hand operator when doing a boolean comparison.  An array of quoted operators can be supplied to indicate which operators requires yoda conditions.

type: array boolean null


description: If true, specifies that yoda conditions are required for most possible comparison operators.


key: safeContextKeyword

description: Option to check `var that = this` expressions.

type: array null string


description: Array of quoted keywords that can be assigned to `this` context.


description: Represents the keyword that can be assigned to `this` context.


key: validateAlignedFunctionParameters

description: Validates proper alignment of function parameters.


description: If true, this is the same as validating the rule using `{lineBreakAfterOpeningBrace: true, lineBreakBeforeClosingBrace: true}`.


key: lineBreakAfterOpeningBrace

description: If true, specifies that the first function parameter must not be on the same line as the opening parenthesis `(` of the function parameters list.


key: lineBreakBeforeClosingBrace

description: If true, specifies that the last function parameter must not be on the same line as the closing parenthesis `)` of the function parameters list.


key: validateCommentPosition

description: This rule is for validating the positioning of line comments.  Block comments are ignored.  Comments that start with the following keywords are also ignored:  `eslint`, `jshint`, `jslint`, `istanbul`, `global`, `exported`, `jscs`, `falls through` eg. // jshint strict: true

enum: above beside


description: Array of quoted exceptions (comments that start with these values will be excepted).


key: validateIndentation

description: Validates indentation for switch statements and block statements.

type: integer null object string

type: integer string


description: A positive number of spaces.


key: includeEmptyLines

description: Deprecated.  Require empty lines to be indented.


description: Array of quoted exceptions.

type: string


description: Ignores comments.


description: Ignores empty lines, included by default.


key: validateLineBreaks

description: Option to check line break characters.

enum: CR LF CRLF


key: reportOncePerFile

description: If true, specifies that validation for the file should stop running upon encountering the first rule violation and return the details of that violation in the report.


description: Setting this is the same as validating the rule using `{character: String, reportOncePerFile: false}`.


key: validateNewlineAfterArrayElements

description: Requires each element in array on a single line when array length is more than passed maximum number or array fills more than one line.


description: If true, this is the same as validating the rule using `{maximum: Infinity, ignoreBrackets: false}`.


description: Setting this is the same as validating the rule using `{maximum: Integer, ignoreBrackets: false}`.


key: ignoreBrackets

description: If true, specifies that the `[` and `]` brackets can be placed on the same line as the array elements.


key: validateOrderInObjectKeys

description: Validates the order in object keys.

type: boolean null string


description: If true, alias to `asc`.

type: boolean


description: Requires sorting in ascending order.


description: Requires sorting in ascending order (case-insensitive).


description: Requires sorting in ascending natural order.


description: Requires sorting in descending order.


description: Requires sorting in descending order (case-insensitive).


description: Requires sorting in descending natural order.


key: validateParameterSeparator

description: Enable validation of separators between function parameters.  Will ignore newlines.


description: Function parameters are immediately followed by a comma.


description: Function parameters are immediately followed by a comma and then a space.


description: Function parameters are immediately followed by a space and then a comma.


description: Function parameters are immediately followed by a space, a comma, and then a space.


key: validateQuoteMarks

description: Requires all quote marks to be either the supplied value, or consistent if `true`.

type: object


description: If true, all strings require the quote mark first encountered in the source code.


key: escape

description: Allow the "other" quote mark to be used, but only to avoid having to escape.


key: mark

description: The same effect as the non-object values.


description: All strings require double quotes.


description: All strings require single quotes.


key: ignoreJSX

description: Ignore JSX nodes.


description: All strings require double quotes.


description: All strings require single quotes.


key: rule

description: A rule

type: array

type: number

enum: always never


key: items

description: Level: 0 disables the rule. For 1 it will be considered a warning, for 2 an error


description: Applicable: always|never: never inverts the rule


description: Value: the value for this rule


key: extends

description: Resolvable ids to commitlint configurations to extend


key: parserPreset

description: Resolvable id to conventional-changelog parser preset to import and use


key: helpUrl

description: Custom URL to show upon failure


key: formatter

description: Resolvable id to package, from node_modules, which formats the output


key: rules

description: Rules to check against


key: plugins

description: Resolvable ids of commitlint plugins from node_modules


key: ignores

description: Additional commits to ignore, defined by ignore matchers


key: defaultIgnores

description: Whether commitlint uses the default ignore rules


description:
mirrord allows for a high degree of customization when it comes to which features you want to enable, and how they should function.

All of the configuration fields have a default value, so a minimal configuration would be no configuration at all.

To help you get started, here are examples of a basic configuration file, and a complete configuration file containing all fields.

### Basic `config.json` {#root-basic}

```json { "target": "pod/bear-pod", "feature": { "env": true, "fs": "read", "network": true } } ```

### Complete `config.json` {#root-complete}

Don't use this example as a starting point, it's just here to show you all the available options. ```json { "accept_invalid_certificates": false, "skip_processes": "ide-debugger", "pause": false, "target": { "path": "pod/bear-pod", "namespace": "default" }, "connect_tcp": null, "agent": { "log_level": "info", "namespace": "default", "image": "ghcr.io/metalbear-co/mirrord:latest", "image_pull_policy": "IfNotPresent", "image_pull_secrets": [ { "secret-key": "secret" } ], "ttl": 30, "ephemeral": false, "communication_timeout": 30, "startup_timeout": 360, "network_interface": "eth0", "flush_connections": true }, "feature": { "env": { "include": "DATABASE_USER;PUBLIC_ENV", "exclude": "DATABASE_PASSWORD;SECRET_ENV", "override": { "DATABASE_CONNECTION": "db://localhost:7777/my-db", "LOCAL_BEAR": "panda" } }, "fs": { "mode": "write", "read_write": ".+\.json" , "read_only": [ ".+\.yaml", ".+important-file\.txt" ], "local": [ ".+\.js", ".+\.mjs" ] }, "network": { "incoming": { "mode": "steal", "http_header_filter": { "filter": "host: api\..+", "ports": [80, 8080] }, "port_mapping": [[ 7777, 8888 ]], "ignore_localhost": false, "ignore_ports": [9999, 10000] }, "outgoing": { "tcp": true, "udp": true, "filter": { "local": ["tcp://1.1.1.0/24:1337", "1.1.5.0/24", "google.com", ":53"] }, "ignore_localhost": false, "unix_streams": "bear.+" }, "dns": false }, }, "operator": true, "kubeconfig": "~/.kube/config", "sip_binaries": "bash", "telemetry": true, "kube_context": "my-cluster" } ```

# Options {#root-options}

type: integer


Controls whether or not mirrord accepts invalid TLS certificates (e.g. self-signed certificates).

Defaults to `false`.


<!--${internal}-->

## connect_agent_name {#root-connect_agent_name}

Agent name that already exists that we can connect to.

Keep in mind that the intention here is to allow reusing a long living mirrord-agent pod, and **not** to connect multiple (simultaneos) mirrord instances to a single mirrord-agent, as the later is not properly supported without the use of [mirrord-operator](https://metalbear.co/#waitlist-form).

```json { "connect_agent_name": "mirrord-agent-still-alive" } ```


<!--${internal}-->

## connect_agent_port {#root-connect_agent_port}

Agent listen port that already exists that we can connect to.

```json { "connect_agent_port": "8888" } ```


IP:PORT to connect to instead of using k8s api, for testing purposes.

```json { "connect_tcp": "10.10.0.100:7777" } ```


Kube context to use from the kubeconfig file. Will use current context if not specified.

```json { "kube_context": "mycluster" } ```


key: kubeconfig

description:
Path to a kubeconfig file, if not specified, will use `KUBECONFIG`, or `~/.kube/config`, or the in-cluster config.

```json { "kubeconfig": "~/bear/kube-config" } ```


key: operator

description:
Allow to lookup if operator is installed on cluster and use it.

Defaults to `true`.


key: pause

description:
Controls target pause feature. Unstable.

With this feature enabled, the remote container is paused while this layer is connected to the agent.

Defaults to `false`.


Binaries to patch (macOS SIP).

Use this when mirrord isn't loaded to protected binaries that weren't automatically patched.

Runs `endswith` on the binary path (so `bash` would apply to any binary ending with `bash` while `/usr/bin/bash` would apply only for that binary).

```json { "sip_binaries": "bash;python" } ```


Allows mirrord to skip build tools. Useful when running command lines that build and run the application in a single command.

Defaults to `true`.

Build-Tools: `["as", "cc", "ld", "go", "air", "asm", "cc1", "cgo", "dlv", "gcc", "git", "link", "math", "cargo", "hpack", "rustc", "compile", "collect2", "cargo-watch", "debugserver"]`


Allows mirrord to skip unwanted processes.

Useful when process A spawns process B, and the user wants mirrord to operate only on process B. Accepts a single value, or multiple values separated by `;`.

```json { "skip_processes": "bash;node" } ```


key: telemetry

description: Controls whether or not mirrord sends telemetry data to MetalBear cloud. Telemetry sent doesn't contain personal identifiers or any data that should be considered sensitive. It is used to improve the product. [For more information](https://github.com/metalbear-co/mirrord/blob/main/TELEMETRY.md)


key: AdvancedFsUserConfig

description:
Allows the user to specify the default behavior for file operations:

1. `"read"` - Read from the remote file system (default) 2. `"write"` - Read/Write from the remote file system. 3. `"local"` - Read from the local file system. 5. `"disable"` - Disable file operations.

Besides the default behavior, the user can specify behavior for specific regex patterns. Case insensitive.

1. `"read_write"` - List of patterns that should be read/write remotely. 2. `"read_only"` - List of patterns that should be read only remotely. 3. `"local"` - List of patterns that should be read locally. 4. `"not_found"` - List of patters that should never be read nor written. These files should be treated as non-existent.

The logic for choosing the behavior is as follows:

1. Check if one of the patterns match the file path, do the corresponding action. There's no specified order if two lists match the same path, we will use the first one (and we do not guarantee what is first).

**Warning**: Specifying the same path in two lists is unsupported and can lead to undefined behaviour.

2. Check our "special list" - we have an internal at compile time list for different behavior based on patterns to provide better UX.

3. If none of the above match, use the default behavior (mode).

For more information, check the file operations [technical reference](https://mirrord.dev/docs/reference/fileops/).

```json { "feature": { "fs": { "mode": "write", "read_write": ".+\.json" , "read_only": [ ".+\.yaml", ".+important-file\.txt" ], "local": [ ".+\.js", ".+\.mjs" ], "not_found": [ "\.config/gcloud" ] } } } ```


key: local

description: Specify file path patterns that if matched will be opened locally.


Specify file path patterns that if matched will be treated as non-existent.


Specify file path patterns that if matched will be read from the remote. if file matching the pattern is opened for writing or read/write it will be opened locally.


Specify file path patterns that if matched will be read and written to the remote.


key: AgentFileConfig

description:
Configuration for the mirrord-agent pod that is spawned in the Kubernetes cluster.

We provide sane defaults for this option, so you don't have to set up anything here.

```json { "agent": { "log_level": "info", "namespace": "default", "image": "ghcr.io/metalbear-co/mirrord:latest", "image_pull_policy": "IfNotPresent", "image_pull_secrets": [ { "secret-key": "secret" } ], "ttl": 30, "ephemeral": false, "communication_timeout": 30, "startup_timeout": 360, "network_interface": "eth0", "pause": false, "flush_connections": false, } } ```


Determine if to check whether there is room for agent job in target node. (Not applicable when using ephemeral containers feature)

Can be disabled if the check takes too long and you are sure there is enough resources on each node


Controls how long the agent lives when there are no connections.

Each connection has its own heartbeat mechanism, so even if the local application has no messages, the agent stays alive until there are no more heartbeat messages.


Disables specified Linux capabilities for the agent container. If nothing is disabled here, agent uses `NET_ADMIN`, `NET_RAW`, `SYS_PTRACE` and `SYS_ADMIN`.


key: ephemeral

description:
Runs the agent as an [ephemeral container](https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/)

Defaults to `false`.


Flushes existing connections when starting to steal, might fix issues where connections aren't stolen (due to being already established)

Defaults to `true`.


key: image

description:
Name of the agent's docker image.

Useful when a custom build of mirrord-agent is required, or when using an internal registry.

Defaults to the latest stable image `"ghcr.io/metalbear-co/mirrord:latest"`.

```json { "agent": { "image": "internal.repo/images/mirrord:latest" } } ```


Controls when a new agent image is downloaded.

Supports `"IfNotPresent"`, `"Always"`, `"Never"`, or any valid kubernetes [image pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy)

Defaults to `"IfNotPresent"`


description:
List of secrets the agent pod has access to.

Takes an array of hash with the format `{ name: <secret-name> }`.

Read more [here](https://kubernetes.io/docs/concepts/containers/images/).

```json { "agent": { "image_pull_secrets": [ { "very-secret": "secret-key" }, { "very-secret": "keep-your-secrets" } ] } } ```


Log level for the agent.

Supports `"trace"`, `"debug"`, `"info"`, `"warn"`, `"error"`, or any string that would work with `RUST_LOG`.

```json { "agent": { "log_level": "mirrord=debug,warn" } } ```


key: namespace

description:
Namespace where the agent shall live.

Defaults to the current kubernetes namespace.


Which network interface to use for mirroring.

The default behavior is try to access the internet and use that interface. If that fails it uses `eth0`.


key: privileged

description:
Run the mirror agent as privileged container. Defaults to `false`.

Might be needed in strict environments such as Bottlerocket.


Controls how long to wait for the agent to finish initialization.

If initialization takes longer than this value, mirrord exits.

Defaults to `60`.


key: tolerations

description:
Set pod tolerations. (not with ephemeral agents) Default is ```json [ { "operator": "Exists" } ] ```

Set to an empty array to have no tolerations at all


key: ttl

description:
Controls how long the agent pod persists for after the agent exits (in seconds).

Can be useful for collecting logs.

Defaults to `1`.


key: ConcurrentSteal

description:
(Operator Only): Allows overriding port locks

Can be set to either `"continue"` or `"override"`.

- `"continue"`: Continue with normal execution - `"override"`: If port lock detected then override it with new lock and force close the original locking connection.


description:
<!--${internal}--> ### override

Override any port lock and force close the original lock connection


description:
<!--${internal}--> ### continue

Continue with normal execution


description:
<!--${internal}--> ### abort

Abort Execution when trying to steal traffic from a target whose traffic is already being stolen.


key: DeploymentTarget

description: <!--${internal}--> Mirror the deployment specified by [`DeploymentTarget::deployment`].


key: deployment

description: <!--${internal}--> Deployment to mirror.


key: EnvFileConfig

description:
Allows the user to set or override the local process' environment variables with the ones from the remote pod.

Which environment variables to load from the remote pod are controlled by setting either [`include`](#feature-env-include) or [`exclude`](#feature-env-exclude).

See the environment variables [reference](https://mirrord.dev/docs/reference/env/) for more details.

```json { "feature": { "env": { "include": "DATABASE_USER;PUBLIC_ENV", "exclude": "DATABASE_PASSWORD;SECRET_ENV", "override": { "DATABASE_CONNECTION": "db://localhost:7777/my-db", "LOCAL_BEAR": "panda" } } } } ```


key: exclude

description:
Include the remote environment variables in the local process that are **NOT** specified by this option.

Some of the variables that are excluded by default: `PATH`, `HOME`, `HOMEPATH`, `CLASSPATH`, `JAVA_EXE`, `JAVA_HOME`, `PYTHONPATH`.

Value is a list separated by ";".


key: include

description:
Include only these remote environment variables in the local process.

Value is a list separated by ";".

Some environment variables are excluded by default (`PATH` for example), including these requires specifying them with `include`


key: override

description:
Allows setting or overriding environment variables (locally) with a custom value.

For example, if the remote pod has an environment variable `REGION=1`, but this is an undesirable value, it's possible to use `override` to set `REGION=2` (locally) instead.


key: FeatureFileConfig

description:
Controls mirrord features.

See the [technical reference, Technical Reference](https://mirrord.dev/docs/reference/) to learn more about what each feature does.

The [`env`](#feature-env), [`fs`](#feature-fs) and [`network`](#feature-network) options have support for a shortened version, that you can see [here](#root-shortened).

```json { "feature": { "env": { "include": "DATABASE_USER;PUBLIC_ENV", "exclude": "DATABASE_PASSWORD;SECRET_ENV", "override": { "DATABASE_CONNECTION": "db://localhost:7777/my-db", "LOCAL_BEAR": "panda" } }, "fs": { "mode": "write", "read_write": ".+\.json" , "read_only": [ ".+\.yaml", ".+important-file\.txt" ], "local": [ ".+\.js", ".+\.mjs" ] }, "network": { "incoming": { "mode": "steal", "http_header_filter": { "filter": "host: api\..+", "ports": [80, 8080] }, "port_mapping": [[ 7777, 8888 ]], "ignore_localhost": false, "ignore_ports": [9999, 10000] }, "outgoing": { "tcp": true, "udp": true, "filter": { "local": ["tcp://1.1.1.0/24:1337", "1.1.5.0/24", "google.com", ":53"] }, "ignore_localhost": false, "unix_streams": "bear.+" }, "dns": false }, } } ```


key: FsModeConfig

description:
Configuration for enabling read-only or read-write file operations.

These options are overriden by user specified overrides and mirrord default overrides.

If you set [`"localwithoverrides"`](#feature-fs-mode-localwithoverrides) then some files can be read/write remotely based on our default/user specified. Default option for general file configuration.

The accepted values are: `"local"`, `"localwithoverrides`, `"read"`, or `"write`.


description: mirrord won't do anything fs-related, all operations will be local.


description: mirrord will run overrides on some file operations, but most will be local.


description: mirrord will read files from the remote, but won't write to them.


description: mirrord will read/write from the remote.


key: FsUserConfig

description:
Changes file operations behavior based on user configuration.

See the file operations [reference](https://mirrord.dev/docs/reference/fileops/) for more details, and [fs advanced](#fs-advanced) for more information on how to fully setup mirrord file operations.

### Minimal `fs` config {#fs-minimal}

```json { "feature": { "fs": "read" } } ```

### Advanced `fs` config {#fs-advanced}

```json { "feature": { "fs": { "mode": "write", "read_write": ".+\.json" , "read_only": [ ".+\.yaml", ".+important-file\.txt" ], "local": [ ".+\.js", ".+\.mjs" ] } } } ```


description: <!--${internal}--> Basic configuration that controls the env vars `MIRRORD_FILE_OPS` and `MIRRORD_FILE_RO_OPS` (default).


description: <!--${internal}--> Allows the user to specify both [`FsModeConfig`] (as above), and configuration for the overrides.


key: HttpFilterFileConfig

description:
Filter configuration for the HTTP traffic stealer feature.

Allows the user to set a filter (regex) for the HTTP headers, so that the stealer traffic feature only captures HTTP requests that match the specified filter, forwarding unmatched requests to their original destinations.

Only does something when [`feature.network.incoming.mode`](#feature-network-incoming-mode) is set as `"steal"`, ignored otherwise.

for example, to filter based on header: ```json { "header_filter": "host: api\..+", } ```

for example, to filter based on path ```json { "path_filter": "host: api\..+", } ```


Supports regexes validated by the [`fancy-regex`](https://docs.rs/fancy-regex/latest/fancy_regex/) crate.

The HTTP traffic feature converts the HTTP headers to `HeaderKey: HeaderValue`, case-insensitive.


Supports regexes validated by the [`fancy-regex`](https://docs.rs/fancy-regex/latest/fancy_regex/) crate.

Case insensitive.


key: ports

description:
Activate the HTTP traffic filter only for these ports.

Other ports will still be stolen (when `"steal`" is being used), they're just not checked for HTTP filtering.


key: HttpHeaderFilterFileConfig

description:
Filter configuration for the HTTP traffic stealer feature.

DEPRECATED - USE http_filter instead, unless using old operator/agent version (pre 3.46.0) Allows the user to set a filter (regex) for the HTTP headers, so that the stealer traffic feature only captures HTTP requests that match the specified filter, forwarding unmatched requests to their original destinations.

Only does something when [`feature.network.incoming.mode`](#feature-network-incoming-mode) is set as `"steal"`, ignored otherwise.

```json { "filter": "host: api\..+", "ports": [80, 8080] } ```


key: filter


key: IncomingAdvancedFileConfig

description: Advanced user configuration for network incoming traffic.


Sets up the HTTP traffic filter (currently, only useful when `incoming: steal`).

See [`filter`](##filter) for details.


Consider removing when adding https://github.com/metalbear-co/mirrord/issues/702


description: Ports to ignore when mirroring/stealing traffic. Useful if you want specific ports to be used locally only.


description:
Mapping for local ports to actually used local ports. When application listens on a port while steal/mirror is active we fallback to random ports to avoid port conflicts. Using this configuration will always use the specified port. If this configuration doesn't exist, mirrord will try to listen on the original port and if it fails it will assign a random port

This is useful when you want to access ports exposed by your service locally For example, if you have a service that listens on port `80` and you want to access it, you probably can't listen on `80` without sudo, so you can use `[[80, 4480]]` then access it on `4480` while getting traffic from remote `80`. The value of `port_mapping` doesn't affect this.


key: mode

description:
Allows selecting between mirrorring or stealing traffic.

See [`mode`](##mode (incoming)) for details.


(Operator Only): if value of override will force close any other connections on requested target


description:
Mapping for local ports to remote ports.

This is useful when you want to mirror/steal a port to a different port on the remote machine. For example, your local process listens on port `9333` and the container listens on port `80`. You'd use `[[9333, 80]]`


key: IncomingFileConfig

description:
Controls the incoming TCP traffic feature.

See the incoming [reference](https://mirrord.dev/docs/reference/traffic/#incoming) for more details.

Incoming traffic supports 2 modes of operation:

1. Mirror (**default**): Sniffs the TCP data from a port, and forwards a copy to the interested listeners;

2. Steal: Captures the TCP data from a port, and forwards it to the local process, see [`steal`](##steal);

### Minimal `incoming` config

```json { "feature": { "network": { "incoming": "steal" } } } ```

### Advanced `incoming` config

```json { "feature": { "network": { "incoming": { "mode": "steal", "http_header_filter": { "filter": "host: api\..+", "ports": [80, 8080] }, "port_mapping": [[ 7777, 8888 ]], "ignore_localhost": false, "ignore_ports": [9999, 10000] "listen_ports": [[80, 8111]] } } } } ```


key: IncomingMode

description:
Allows selecting between mirrorring or stealing traffic.

Can be set to either `"mirror"` (default), `"steal"` or `"off"`.

- `"mirror"`: Sniffs on TCP port, and send a copy of the data to listeners. - `"off"`: Disables the incoming network feature. - `"steal"`: Supports 2 modes of operation:

1. Port traffic stealing: Steals all TCP data from a port, which is selected whenever the user listens in a TCP socket (enabling the feature is enough to make this work, no additional configuration is needed);

2. HTTP traffic stealing: Steals only HTTP traffic, mirrord tries to detect if the incoming data on a port is HTTP (in a best-effort kind of way, not guaranteed to be HTTP), and steals the traffic on the port if it is HTTP;


description:
<!--${internal}--> ### mirror

Sniffs on TCP port, and send a copy of the data to listeners.


description:
<!--${internal}--> ### steal

Stealer supports 2 modes of operation:

1. Port traffic stealing: Steals all TCP data from a port, which is selected whenever the user listens in a TCP socket (enabling the feature is enough to make this work, no additional configuration is needed);

2. HTTP traffic stealing: Steals only HTTP traffic, mirrord tries to detect if the incoming data on a port is HTTP (in a best-effort kind of way, not guaranteed to be HTTP), and steals the traffic on the port if it is HTTP;


description:
<!--${internal}--> ### Off

Disables the incoming network feature.


key: InternalProxyFileConfig

description:
Configuration for the internal proxy mirrord spawns for each local mirrord session that local layers use to connect to the remote agent

This is seldom used, but if you get `ConnectionRefused` errors, you might want to increase the timeouts a bit.

```json { "internal_proxy": { "start_idle_timeout": 30, "idle_timeout": 5, } } ```


How much time to wait while we don't have any active connections before exiting.

Common cases would be running a chain of processes that skip using the layer and don't connect to the proxy.

```json { "internal_proxy": { "idle_timeout": 30 } } ```


How much time to wait for the first connection to the proxy in seconds.

Common cases would be running with dlv or any other debugger, which sets a breakpoint on process execution, delaying the layer startup and connection to proxy.

```json { "internal_proxy": { "start_idle_timeout": 60 } } ```


key: NetworkFileConfig

description:
Controls mirrord network operations.

See the network traffic [reference](https://mirrord.dev/docs/reference/traffic/) for more details.

```json { "feature": { "network": { "incoming": { "mode": "steal", "http_header_filter": { "filter": "host: api\..+", "ports": [80, 8080] }, "port_mapping": [[ 7777, 8888 ]], "ignore_localhost": false, "ignore_ports": [9999, 10000] }, "outgoing": { "tcp": true, "udp": true, "filter": { "local": ["tcp://1.1.1.0/24:1337", "1.1.5.0/24", "google.com", ":53"] }, "ignore_localhost": false, "unix_streams": "bear.+" }, "dns": false } } } ```


key: dns

description:
Resolve DNS via the remote pod.

Defaults to `true`.


key: OutgoingFileConfig

description:
Tunnel outgoing network operations through mirrord.

See the outgoing [reference](https://mirrord.dev/docs/reference/traffic/#outgoing) for more details.

The `remote` and `local` config for this feature are **mutually** exclusive.

```json { "feature": { "network": { "outgoing": { "tcp": true, "udp": true, "ignore_localhost": false, "filter": { "local": ["tcp://1.1.1.0/24:1337", "1.1.5.0/24", "google.com", ":53"] }, "unix_streams": "bear.+" } } } } ```


description: Unstable: the precise syntax of this config is subject to change.


Defaults to `false`.


key: tcp

description: Defaults to `true`.


key: udp

description: Defaults to `true`.


Connect to these unix streams remotely (and to all other paths locally).

You can either specify a single value or an array of values. Each value is interpreted as a regular expression ([Supported Syntax](https://docs.rs/regex/1.7.1/regex/index.html#syntax)).

When your application connects to a unix socket, the target address will be converted to a string (non-utf8 bytes are replaced by a placeholder character) and matched against the set of regexes specified here. If there is a match, mirrord will connect your application with the target unix socket address on the target pod. Otherwise, it will leave the connection to happen locally on your machine.


key: OutgoingFilterConfig

description:
List of addresses/ports/subnets that should be sent through either the remote pod or local app, depending how you set this up with either `remote` or `local`.

You may use this option to specify when outgoing traffic is sent from the remote pod (which is the default behavior when you enable outgoing traffic), or from the local app (default when you have outgoing traffic disabled).

Takes a list of values, such as:

- Only UDP traffic on subnet `1.1.1.0/24` on port 1337 will go through the remote pod.

```json { "remote": ["udp://1.1.1.0/24:1337"] } ```

- Only UDP and TCP traffic on resolved address of `google.com` on port `1337` and `7331` will go through the remote pod. ```json { "remote": ["google.com:1337", "google.com:7331"] } ```

- Only TCP traffic on `localhost` on port 1337 will go through the local app, the rest will be emmited remotely in the cluster.

```json { "local": ["tcp://localhost:1337"] } ```

- Only outgoing traffic on port `1337` and `7331` will go through the local app. ```json { "local": [":1337", ":7331"] } ```

Valid values follow this pattern: `[protocol]://[name|address|subnet/mask]:[port]`.


description: Traffic that matches what's specified here will go through the remote pod, everything else will go through local.


description: Traffic that matches what's specified here will go through the local app, everything else will go through the remote pod.


key: PodTarget

description: <!--${internal}--> Mirror the pod specified by [`PodTarget::pod`].


key: pod

description: <!--${internal}--> Pod to mirror.


key: PortList

description:
<!--${internal}--> Helper struct for setting up ports configuration (part of the HTTP traffic stealer feature).

Defaults to a list of ports `[80, 8080]`.

We use this to allow implementing a custom [`Default`] initialization, as the [`MirrordConfig`] macro (currently) doesn't support more intricate expressions.


key: RolloutTarget

description: <!--${internal}--> Mirror the rollout specified by [`RolloutTarget::rollout`].


key: rollout

description: <!--${internal}--> Rollout to mirror.


key: Target

description:
<!--${internal}--> ## path

Specifies the running pod (or deployment) to mirror.

Supports: - `pod/{sample-pod}`; - `podname/{sample-pod}`; - `deployment/{sample-deployment}`; - `container/{sample-container}`; - `containername/{sample-container}`.


description: <!--${internal}--> Mirror a deployment.


description: <!--${internal}--> Mirror a pod.


description: <!--${internal}--> Mirror a rollout.


key: path

description: <!--${internal}--> Path is optional so that it can also be specified via env var instead of via conf file, but it is not optional in a resulting [`TargetConfig`] object - either there is a path, or the target configuration is `None`.


description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.


key: effect

description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.


key: key

description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.


key: operator

description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.


key: tolerationSeconds

description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.


key: value

description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.


key: $schema

description: The URI of the JSON schema corresponding to the version of the external property file format.


key: version

description: The SARIF format version of this external properties object.


key: guid

description: A stable, unique identifier for this external properties object, in the form of a GUID.


key: runGuid

description: A stable, unique identifier for the run associated with this external properties object, in the form of a GUID.


key: conversion

description: A conversion object that will be merged with an external run.


key: graphs

description: An array of graph objects that will merged with an external run.


key: externalizedProperties

description: Key/value pairs that provide additional information that will be merged with an external run.


key: artifacts

description: An array of artifact objects that will be merged with an external run.


key: invocations

description: Describes the invocation of the analysis tool that will be merged with an external run.


key: logicalLocations

description: An array of logical locations such as namespaces, types or functions that will be merged with an external run.


key: threadFlowLocations

description: An array of threadFlowLocation objects that will be merged with an external run.


key: results

description: An array of result objects that will be merged with an external run.


key: taxonomies

description: Tool taxonomies that will be merged with an external run.


key: driver

description: The analysis tool object that will be merged with an external run.


key: extensions

description: Tool extensions that will be merged with an external run.


key: policies

description: Tool policies that will be merged with an external run.


key: translations

description: Tool translations that will be merged with an external run.


key: addresses

description: Addresses that will be merged with with an external run.


key: webRequests

description: Requests that will be merged with an external run.


key: webResponses

description: Responses that will be merged with an external run.


key: properties

description: Key/value pairs that provide additional information about the external properties.


key: actions

description: Actions to execute after each package manager update

const: create-issue

const: create-merge-request

const: auto-merge

const: webhook

const: slack

const: mattermost

const: email


key: slug

description: Update slug. For example, "npm", or, "npm-0" when there are multiple pmUpdates with packageManager npm.


key: squash

description: Whether to squash commits of the update branch


key: commitMessage

description:
Commit message

This [handlebars](https://handlebarsjs.com/guide/#what-is-handlebars) template is passed the following context:

```
{
    "slug": "npm-0"
}
```

default: chore: update {{slug}} dependencies


key: removeUpdateBranch

description: Whether to remove the update branch


key: status

description: Package manager update status


key: statusEmoji

description: A status emoji corresponding to the package manager update status


key: title

description:
Issue title

This [handlebars](https://handlebarsjs.com/guide/#what-is-handlebars) template is passed the following context:

```
{
    "slug": "myPm",
    "status": "myStatus",
    "statusEmoji": "✅"
}
```

default: Automated update of {{slug}} dependencies {{statusEmoji}}


key: additionalText

description: Additional text to embed in the issue description


key: assignees

description: Usernames to assign to the issue created. Note that Gitlab CE only allows one assignee.


key: closeOpen

description: Close open issues that were created by Pmbot. This option prevents multiple issues open simultaneously when you don't have the time to look at them.


key: token

description: An authentication token. For Gitlab, this should be a [personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html). For Github, it should be a [Github personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line).


description:
Merge request title

This [handlebars](https://handlebarsjs.com/guide/#what-is-handlebars) template is passed the following context:

```
{
    "slug": "myPm",
    "status": "myStatus",
    "statusEmoji": "✅"
}
```


description: Additional text to embed in the merge request description


description: Close open merge requests that were created by Pmbot. This option prevents multiple merge requests open simultaneously when you don't have the time to merge them.


description: [GITLAB only] Whether commits of the merge request source branch should be squashed


key: deleteSourceBranch

description: [GITLAB only] Whether the merge request source branch should be deleted


key: maintainerCanModify

description: [GITHUB only] Whether maintainers can modify the created pull request


key: from

description: Sender's email. Be aware that some providers (e.g. OBVH) will silently ignore sending the email when the sender address does not match the username.


key: to

description: Recipient address(es)


key: subject

description:
Email subject

This [handlebars](https://handlebarsjs.com/guide/#what-is-handlebars) template is passed the following context:

```
{
    "slug": "myPm",
    "status": "myStatus",
    "statusEmoji": "✅"
}
```


key: transportOptions

description: Nodemailer [transport options](https://nodemailer.com/smtp/#general-options)


key: messageConfig

description: Nodemailer [message configuration](https://nodemailer.com/message/). Allows you to override message configuration properties, except `html` and `text`.


description: Additional text to embed in the email body


key: url

description: Mattermost [incoming webhook URL](https://docs.mattermost.com/developer/webhooks-incoming.html#simple-incoming-webhook)


key: channels

description: Channels where to send the message. Obsolete parameter when you have enabled **Lock to this channel** for the incoming webhook.


description:
Message title

This [handlebars](https://handlebarsjs.com/guide/#what-is-handlebars) template is passed the following context:

```
{
    "slug": "myPm",
    "status": "myStatus",
    "statusEmoji": "✅"
}
```


description: Additional text to embed in the message body