package.manifest.json

description: This describes details about the editor.

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

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

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

enum: STRING JSON DATETIME TEXT INT

description: Object describing required validators on the editor.

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

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

required: name alias editor

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

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.

$ref: #/definitions/editor

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

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

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

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`.

required: name alias view

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`.

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`.

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

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;`.

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

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

description: Height of image in pixels.

description: Width of image in pixels.

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

$ref: #/definitions/fields

description: This is the collection of prevalue fields.

description: A unique key for the prevalue field.

description: The user friendly label for the prevalue.

description: A more detailed description for the user.

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

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

required: alias view sections

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.

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

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

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.

description: A user group alias who is denied access.

description: A user group alias who is granted access.

description: A section/application to extend the backoffice.

required: name alias

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.

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.

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.

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

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

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.

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.

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+).

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

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

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

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

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

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.

$ref: #/definitions/editors

$ref: #/definitions/preValues

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.

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

$ref: #/definitions/gridEditor

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

$ref: #/definitions/dashboard

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

$ref: #/definitions/section

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

$ref: #/definitions/contentApp

title: JSON schema for Umbraco package.manifest files.


title: Red-DiscordBot Сog Repo metadata file

type: object

type: array

description: List of names of authors of the cog

type: string

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

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


testenvironments.json

required: name type

$ref: #/definitions/docker

$ref: #/definitions/wsl

$ref: #/definitions/ssh

$ref: #/definitions/remote

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

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.

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

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.

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

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

$ref: #/definitions/config

title: Schema for Visual Studio's test environment config


frogbot-schema.json

title: Frogbot Configuration Schema

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

title: Project Parameters

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.

$ref: #/$git

$ref: #/$scan

$ref: #/$jfrogPlatform

title: Git Parameter

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

required: repoName branches

title: Repository Name

description: The name of the git repository to scan.

title: Repository Branches

description: A list of branches to scan.

default: master

title: Repository Branch

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

type: boolean

default: false

repoName: repo-name

title: Frogbot Scanning Parameters

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

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

title: Include All Vulnerabilities

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

title: Fail on Security Issues

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

title: Minimum vulnerability severity to filter

description: Handle vulnerabilities with fix versions only.

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

title: Email Address

title: Projects in Git Repository

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

title: Install Command

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

examples:
nuget restore
dotnet restore

title: Working Directories

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

title: Working Directory

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

title: Pip Requirements File

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

title: Use Gradle Wrapper

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

title: Virtual Artifactory Repository

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

title: JFrog Platform Parameters

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

title: JFrog Project Key

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

title: JFrog Watches

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

title: JFrog Watch


jscsrc.json

enum: catch do else finally for function if try while

enum: ArrayExpression ArrayPattern ArrowFunctionExpression AssignmentExpression AssignmentPattern BinaryExpression BlockStatement BreakStatement CallExpression CatchClause ClassBody ClassDeclaration ClassExpression ConditionalExpression ContinueStatement DebuggerStatement DoWhileStatement EmptyStatement ExportAllDeclaration ExportDefaultDeclaration ExportNamedDeclaration ExportSpecifier ExpressionStatement ForInStatement ForStatement FunctionDeclaration FunctionExpression Identifier IfStatement ImportDeclaration ImportDefaultSpecifier ImportNamespaceSpecifier ImportSpecifier LabeledStatement Literal LogicalExpression MemberExpression MethodDefinition NewExpression ObjectExpression ObjectPattern Program Property RestElement ReturnStatement SequenceExpression SpreadElement Super SwitchCase SwitchStatement TaggedTemplateExpression TemplateElement TemplateLiteral ThisExpression ThrowStatement TryStatement UnaryExpression UpdateExpression VariableDeclaration VariableDeclarator WhileStatement WithStatement

description: Validate jsdoc comments.

description: Checks whether tag names are valid.

type: boolean null object string

$ref: #/definitions/nullRule

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.

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

type: boolean string

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

description: Checks whether all parameters are documented.

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

description: Checks whether params in jsdoc contains type.

description: Reports redundant params in jsdoc.

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

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

description: Checks whether @returns in jsdoc contains type.

description: Reports invalid types for bunch of tags.

type: boolean null string

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(...)}.

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_.

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.

description: Checks whether jsdoc block exists.

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

description: Array of quoted keywords to exempt.

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.

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

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

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

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.

description: Checks whether a jsdoc param description exists.

description: Checks whether a jsdoc return description exists.

enum: break case catch continue debugger default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with

type: array boolean null

$ref: #/definitions/keywords

description: Removes the rule.

description: Path to load additional rules

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.

description: Disallows arrow functions.

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

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.

description: Disallows curly braces after statements.

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.

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

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

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

description: Disallows function declarations.

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

description: Disallows a specified set of identifier names.

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

description: Disallows implicit type conversion.

enum: numeric boolean binary string

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.

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

description: Disallows usage of the specified keywords.

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

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

description: Disallows multiple blank lines in a row.

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

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.

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

description: Array of quoted keywords to exempt.

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

description: Allows declarations where all variables are not defined.

description: Disallows unassigned functions to be named inline.

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.

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

type: integer

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

type: array boolean null object

$ref: #/definitions/blockKeywords

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.

type: array boolean

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.

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

$ref: #/definitions/esprimaNodeTypes

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

description: Disallows placing object keys on new line.

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

$ref: #/definitions/operators

description: Disallow a newline after blocks.

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

description: Disallows newline before module.exports.

description: Disallow an empty line above the specified keywords.

description: Disallows newline before line comments.

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

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.

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.

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.

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

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

description: Disallows quoted keys in object if possible.

description: Set to true for strict mode.

description: Array of quoted keywords to exempt.

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.

description: Disallows lines from ending in a semicolon.

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

description: Requires sticking binary operators to the right.

description: Disallows spaces after commas.

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

description: Array of quoted keywords to exempt.

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

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

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

description: Disallows space after object keys.

description: Array of quoted keywords to exempt.

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.

description: Requires sticking unary operators to the right.

description: Requires sticking binary operators to the left.

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

description: Disallows spaces before commas.

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

description: Array of quoted keywords to exempt.

description: Skip expression functions.

description: Disallows space before keyword.

description: Disallows space before object values.

description: Requires sticking unary operators to the left.

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).

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

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

description: Disallows space before () in call expressions.

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.

description: Disallow spaces in between for statement.

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

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

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

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.

description: A value of true disallows space before *.

description: A value of true disallows space after *.

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

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: Array of quoted tokens to exempt.  Tokens should consist of an opener with a matching closer () {} [] etc.

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

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.

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

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

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.

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

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

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: 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.

description: Disallows tabs everywhere.

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

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

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

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

description: Disallows declaring variables with var.

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.

description: Disables style checking for specified paths.

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

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.

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

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

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

description: Allows comments to break the rule.

description: Extends defined rules with preset rules.

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

description: Enforces indentation of parameters in multiline functions.

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

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.

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.

description: Requires that a function expression be anonymous.

description: Array of quoted keywords to exempt.

description: Ignores function declarations.

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

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

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

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

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

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

description: Requires identifiers to be camelCased or UPPERCASE_WITH_UNDERSCORES.

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.

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

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

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

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

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

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.

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

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

description: Array of quoted keywords to exempt.

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

description: Array of quoted keywords to exempt.

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

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.

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

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", ...],

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

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

description: Array of quoted keywords to exempt.

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.

description: Requires early return in a function.

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

description: Requires declaring objects via ES6 enhanced object literals.

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.

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

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

description: Requires placing line feed after assigning a variable.

description: Requires placing line feed at file end.

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.

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

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.

description: Require unassigned functions to be named inline.

description: Array of quoted keywords to exempt.

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.

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

description: Requires variable declarations from objects via destructuring.

description: Requires placing object keys on new line.

description: Array of quoted keywords to exempt.

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

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.

description: Requires newline after blocks.

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

description: Array of quoted keywords to exempt.

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.

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

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

description: Array of quoted keywords to exempt.

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

description: Requires newline before module.exports.

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: Array of quoted keywords to exempt.

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

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

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

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

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

description: Array of quoted keywords to exempt.

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

description: Ignores function blocks.

description: Requires newline inside curly braces of all objects.

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

description: Requires parentheses around immediately invoked function expressions.

description: Requires quoted keys in objects.

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

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

description: Disallows sticking binary operators to the right.

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.

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

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

description: Array of allowed strings before space.

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

description: Requires space after object keys.

description: Disallows sticking unary operators to the right.

description: Disallows sticking binary operators to the left.

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

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.

description: Requires a space before a comma.

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

description: Requires a space before a keyword.

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

description: Array of allowed strings before space.

description: Requires space after object keys.

description: Disallows sticking unary operators to the left.

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

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

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

description: A boolean or an array of quoted exceptions.

description: If true, enable all configuration exceptions.

description: Array of quoted keywords to exempt.

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

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

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

description: If true, set all properties to true.

description: Requires spaces in between `for` statement.

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

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

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.

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

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

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

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.

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.

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).

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.

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.

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.

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

description: Array of quoted keywords to exempt.

description: Ignore parenthesized objects and functions.

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

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

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.

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

description: If true, validates all arrays and objects.

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

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

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.

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.

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

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

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

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

description: Validates proper alignment of function parameters.

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

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.

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.

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

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

description: Validates indentation for switch statements and block statements.

description: A positive number of spaces.

description: Deprecated.  Require empty lines to be indented.

description: Array of quoted exceptions.

description: Ignores comments.

description: Ignores empty lines, included by default.

description: Option to check line break characters.

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}`.

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}`.

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

description: Validates the order in object keys.

description: If true, alias to `asc`.

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.

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.

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

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

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

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

description: All strings require double quotes.

description: All strings require single quotes.

description: Ignore JSX nodes.

description: All strings require double quotes.

description: All strings require single quotes.

title: JSON schema for JSCS configuration files


commitlintrc.json

description: A rule

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

type: number

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

enum: always never

description: Value: the value for this rule

description: Resolvable ids to commitlint configurations to extend

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

description: Custom URL to show upon failure

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

description: Rules to check against

$ref: #/definitions/rule

description: Resolvable ids of commitlint plugins from node_modules

description: Additional commits to ignore, defined by ignore matchers

description: Whether commitlint uses the default ignore rules


mirrord-schema.json

title: LayerFileConfig

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}

title: accept_invalid_certificates {#root-accept_invalid_certificates}

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

Defaults to `false`.

title: agent {#root-agent}

$ref: #/definitions/AgentFileConfig

description:
<!--${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" } ```

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

## connect_agent_port {#root-connect_agent_port}

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

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

title: connect_tcp {#root-connect_tpc}

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

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

title: feature {#root-feature}

$ref: #/definitions/FeatureFileConfig

title: internal_proxy {#root-internal_proxy}

$ref: #/definitions/InternalProxyFileConfig

title: kube_context {#root-kube_context}

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

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

title: kubeconfig {#root-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" } ```

title: operator {#root-operator}

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

Defaults to `true`.

title: pause {#root-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`.

title: sip_binaries {#root-sip_binaries}

description:
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" } ```

title: skip_build_tools {#root-skip_build_tools}

description:
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"]`

title: skip_processes {#root-skip_processes}

description:
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" } ```

title: target {#root-target}

$ref: #/definitions/TargetFileConfig

title: telemetry {#root-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)

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" ] } } } ```

title: feature.fs.local {#feature-fs-local}

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

title: feature.fs.mode {#feature-fs-mode}

$ref: #/definitions/FsModeConfig

title: feature.fs.not_found {#feature-fs-not_found}

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

title: feature.fs.read_only {#feature-fs-read_only}

description: 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.

title: feature.fs.read_write {#feature-fs-read_write}

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

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, } } ```

title: agent.check_out_of_pods {#agent-check_out_of_pods}

description:
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

title: agent.communication_timeout {#agent-communication_timeout}

description:
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.

title: agent.disabled_capabilities {#agent-disabled_capabilities}

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

$ref: #/definitions/LinuxCapability

title: agent.ephemeral {#agent-ephemeral}

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

Defaults to `false`.

title: agent.flush_connections {#agent-flush_connections}

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

Defaults to `true`.

title: agent.image {#agent-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" } } ```

title: agent.image_pull_policy {#agent-image_pull_policy}

description:
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"`

title: agent.image_pull_secrets {#agent-image_pull_secrets}

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" } ] } } ```

title: agent.log_level {#agent-log_level}

description:
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" } } ```

title: agent.namespace {#agent-namespace}

description:
Namespace where the agent shall live.

Defaults to the current kubernetes namespace.

title: agent.network_interface {#agent-network_interface}

description:
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`.

title: agent.privileged {#agent-privileged}

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

Might be needed in strict environments such as Bottlerocket.

title: agent.startup_timeout {#agent-startup_timeout}

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

If initialization takes longer than this value, mirrord exits.

Defaults to `60`.

title: agent.tolerations {#agent-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

title: agent.ttl {#agent-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`.

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.

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

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

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" } } } } ```

title: feature.env.exclude {#feature-env-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 ";".

title: feature.env.include {#feature-env-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`

title: feature.env.override {#feature-env-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.

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 }, } } ```

title: feature.env {#feature-env}

title: feature.fs {#feature-fs}

title: feature.network {#feature-network}

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`.

title: feature.fs.mode.local {#feature-fs-mode-local}

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

title: feature.fs.mode.localwithoverrides {#feature-fs-mode-localwithoverrides}

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

title: feature.fs.mode.read {#feature-fs-mode-read}

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

title: feature.fs.mode.write {#feature-fs-mode-write}

description: mirrord will read/write from the remote.

title: feature.fs {#fs}

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.

$ref: #/definitions/AdvancedFsUserConfig

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\..+", } ```

title: feature.network.incoming.http_filter.header_filter {#feature-network-incoming-http-header-filter}

description:
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.

title: feature.network.incoming.http_filter.path_filter {#feature-network-incoming-http-path-filter}

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

Case insensitive.

title: feature.network.incoming.http_header_filter.ports {#feature-network-incoming-http_header_filter-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.

$ref: #/definitions/PortList

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] } ```

title: feature.network.incoming.http_header_filter.filter {#feature-network-incoming-http_header_filter-filter}

title: incoming (advanced setup)

description: Advanced user configuration for network incoming traffic.

title: HTTP Filter

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

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

title: filter

title: ignore_localhost

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

title: ignore_ports

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

title: listen_ports

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.

title: mode

description:
Allows selecting between mirrorring or stealing traffic.

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

$ref: #/definitions/IncomingMode

title: on_concurrent_steal

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

$ref: #/definitions/ConcurrentSteal

title: port_mapping

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]]`

title: incoming (network)

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]] } } } } ```

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.

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, } } ```

title: internal_proxy.idle_timeout {#agent-idle_timeout}

description:
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 } } ```

title: internal_proxy.start_idle_timeout {#agent-start_idle_timeout}

description:
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 } } ```

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 } } } ```

title: feature.network.dns {#feature-network-dns}

description:
Resolve DNS via the remote pod.

Defaults to `true`.

title: feature.network.incoming {#feature-network-incoming}

title: feature.network.outgoing {#feature-network-outgoing}

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.+" } } } } ```

title: feature.network.outgoing.filter {#feature.network.outgoing.filter}

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

$ref: #/definitions/OutgoingFilterConfig

title: feature.network.outgoing.ignore_localhost {#feature.network.outgoing.ignore_localhost}

description: Defaults to `false`.

title: feature.network.outgoing.tcp {#feature.network.outgoing.tcp}

description: Defaults to `true`.

title: feature.network.outgoing.udp {#feature.network.outgoing.udp}

description: Defaults to `true`.

title: feature.network.outgoing.unix_streams {#feature.network.outgoing.unix_streams}

description:
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.

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.

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

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

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.

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

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

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.

$ref: #/definitions/DeploymentTarget

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

$ref: #/definitions/PodTarget

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

$ref: #/definitions/RolloutTarget

$ref: #/definitions/Target

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`.

$ref: #/definitions/EnvFileConfig

$ref: #/definitions/FsUserConfig

$ref: #/definitions/HttpFilterFileConfig

$ref: #/definitions/IncomingFileConfig

$ref: #/definitions/NetworkFileConfig

$ref: #/definitions/OutgoingFileConfig

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

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

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.

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.

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.

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.


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

format: uri

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

title: SARIF External Property File Schema Version 2.1.0-rtm.3 JSON Schema


pmbot.yml.schema.json

markdownDescription: List of updates to perform

$ref: #/definitions/ActionPluginDeclaration

const: create-issue

$ref: #/definitions/CreateIssueActionConfig

const: create-merge-request

const: auto-merge

$ref: #/definitions/AutoMergeActionConfig

const: webhook

$ref: #/definitions/WebhookActionConfig

const: slack

$ref: #/definitions/SlackActionConfig

const: mattermost

$ref: #/definitions/MattermostActionConfig

const: email

$ref: #/definitions/EmailActionConfig

description: Actions to execute after each package manager update

markdownDescription: Actions to execute after each package manager update

required: version packageManagers

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

description: Whether to squash commits of the update branch

markdownDescription: Whether to squash commits of the update branch

default: chore: update {{slug}} dependencies

description:
Commit message

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

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

description: Whether to remove the update branch

markdownDescription: Whether to remove the update branch

description: Package manager update status

markdownDescription: Package manager update status

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

required: slug status statusEmoji

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

description:
Issue 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 issue description

markdownDescription: Additional text to embed in the issue description

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

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.

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

markdownDescription: 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

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

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

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.

description: Recipient address(es)

markdownDescription: Recipient address(es)

description:
Email subject

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

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

required: from to

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

$ref: #/definitions/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

markdownDescription: Additional text to embed in the email body

required: transportOptions messageConfig

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

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

markdownDescription: Additional text to embed in the message body

description:
Slack webhook URL.

To get this URL:
1. [Create](https://api.slack.com/apps?new_app=1) a custom Slack App. Fill in the form as follows:
    - *App Name*: `Pmbot`
    - *Development Slack Workspace*: Workspace where you want Pmbot to be integrated to
2. Click "Create App". You are redirected to your app's page.
3. Under menu section *Features*, select *Incoming Webhooks*, then toggle on *Activate Incoming Webhooks*. A new section named *Webhook URLs for Your Workspace* appears.
4. Under section *Webhook URLs for Your Workspace*, click *Add New Webhook To Workspace*, then select the channel to which you want messages to be sent, for example `#pmbot`.
5. Once added, copy the webhook URL and configure this action with it

description:
Slack 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 slack message body

markdownDescription: Additional text to embed in the slack message body

description: Header name

markdownDescription: Header name

description: Header value

markdownDescription: Header value

required: name value

description: Url to call

markdownDescription: Url to call

description: Data that will be appended to the webhook payload in property "extraData"

$ref: #/definitions/WebhookHeader

description: Additional headers to append to the HTTP request

markdownDescription: Additional headers to append to the HTTP request

description: A Javascript regular expression.

markdownDescription: A Javascript regular expression.

enum: major minor patch

required: pattern bump

description: Default rule for bumping dependencies. Used unless a specific rule is configured.

$ref: #/definitions/BumpRule

description: Bump rules for specific dependencies. The first rule to match is used. When no custom rule is found here, we fallback the default rule.

description: Bump configuration. Patterns are matched against package names.

description: Bump configuration. Patterns are matched against dependency names formed as "<groupId>:<artifactId>" (e.g. "javax.xml.bind:jaxb-api").

description: Path to a maven `settings.xml` file which contains credentials for private repositories.

enum: running pending interrupted success partial failure unknown

description: When to trigger this action

description: When false, all updates are made at once and we do not wait for CI feedback.

description: Name of the dependency

description: Version of the dependency before it was updated

markdownDescription: Version of the dependency before it was updated

description: Version of the dependency after it was updated

markdownDescription: Version of the dependency after it was updated

description: Package manager to use for this update

description: CI configuration for this update

description: Prefix of the update branch

default: chore: update {{dependency}} from {{versionBefore}} to {{versionAfter}}

description:
Commit message template

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

```
{
    "dependency": "chalk",
    "versionBefore": "1.0.0",
    "versionAfter": "1.0.1"
}
```

description: List of dependencies to ignore. Each item should be a Javascript regular expression.

description: Actions to execute after the update

description: When `true`, the update branch will **not** be deleted when the package manager update status is `failure`.


title: Unknown field

title: string avro_name = 5;

description: avro compatible name set by creator OR derived from name (thus ignore_empty = true)

title: string doc = 3;

title: string name = 1;

description: constraints: printable characters

title: string namespace = 2;

description:
constraints:
dot separated sequence of name constraints
must be Avro compatible. When absent becomes <handle>.<name>.v<version>

title: repeated strmprivacy.api.entities.v1.SimpleSchemaNode nodes = 4;

description: constraints: overall size < 100000 TBD

title: Unknown field

title: string avro_name = 7;

title: string doc = 6;

description:
constraints:
size < 5000

title: string name = 2;

description: constraints: same as SimpleSchemaDefinition

title: repeated strmprivacy.api.entities.v1.SimpleSchemaNode nodes = 5;

title: bool repeated = 3;

title: bool required = 4;

title: strmprivacy.api.entities.v1.SimpleSchemaNodeType type = 1;

enum: SIMPLE_SCHEMA_NODE_TYPE_UNSPECIFIED 0 STRING 1 BOOLEAN 2 FLOAT 3 INTEGER 4 LONG 5 NODE 10

title: strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition


iobroker.json

$ref: #/definitions/IoBJson

description: do not use more than memory limit mb by ioB process (0 to deactivate)

description: if empty, determine use real hostname

description: Interval how often the counters for input/output in adapters and controller will be updated in ms

description: Interval how often the disk size will be checked in ms

description: interval to wait between multiple instances starts

description: Controller will try to start the instances as a part of the same process. No spawn will be done. Only by adapters that support it and have flag compact flag in io-package.json

description: Allow execution of "shell" sendToHost commands

description: If the available RAM is below this threshold on adapter start, a warning will be logged.

description: If the available RAM is below this threshold on adapter start, an error will be logged.

required:
memoryLimitMB
hostname
statisticsInterval
// statisticsInterval
checkDiskInterval
// checkDiskInterval
instanceStartInterval
compact
// compact
allowShellCommands
// allowShellCommands
memLimitWarn
// memLimitWarn
memLimitError
// memLimitError

required: enabled secure password

$ref: #/definitions/ObjectsDatabaseOptions

$ref: #/definitions/DatabaseOptions

required: level maxDays noStdout transport

description: Always relative to iobroker.js-controller/

description: Use 'verbatim' for ipv6 first, else use 'ipv4first'

required:
system
multihostService
objects
states
log
dataDir
// dataDir
plugins
// dnsResolution
dnsResolution

description: The ioBroker global config

enum: jsonl file redis

description: Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].

$ref: #/definitions/DatabaseBackupOptions

$ref: #/definitions/JsonlOptions

required:
// type
backup
connectTimeout
dataDir
host
jsonlOptions
maxQueue
noFileCache
options
port
type
writeFileInterval

description: Minimal number of backup files, after the deletion will be executed according to backupTime settings

description: All backups older than configured hours will be deleted. But only if the number of files is greater than of backupNumber

description: by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0

description: Absolute path to backup directory or empty to backup in data directory

required:
disabled
files
// files
hours
// hours
period
// period
path
// path

required: sizeFactor sizeFactorMinimumSize

description: The JSONL DB is append-only and will contain unnecessary entries after a while. It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize Note that too low values here will cause the DB to be rewritten often.

description: If single lines in the DB are corrupted, they can be ignored without losing the whole DB.

description: Write to the database file no more than every intervalMs milliseconds.

description: Force writing after this many changes have been buffered. This reduces memory consumption and data loss in case of a crash.

required:
// intervalMs
intervalMs
// maxBufferedCommands
maxBufferedCommands

description: By default, the database immediately writes to the database file. Write accesses can be reduced using the throttleFS option. Be aware that buffered changes will be lost in case the process crashes

required:
// autoCompress (1)
// autoCompress (2)
// autoCompress (3)
autoCompress
// ignoreReadErrors
ignoreReadErrors
// throttleFS (1)
// throttleFS (2)
throttleFS

required:
type
// type
host
port
connectTimeout
writeFileInterval
dataDir
options
backup
jsonlOptions