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

type: boolean

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

type: string

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.

type: array

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

type: object


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

type: number

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


sounds.json

title: Minecraft Sounds

description: A File defining what sounds play when sound event is triggered

$ref: #/definitions/string

description:
The path to a sound file from the "namespace/sounds" folder (excluding the .ogg file extension). Uses forward slashes.
The namespace defaults to minecraft but it can be changed by prepending a namespace and separating it with a :

description: Allow $schema because additionalProperties is false

description: A sound event. The name is usually separated in categories (such as "entity.enderman.stare")

description:
Used only in resource packs.
True if the sounds listed in sounds should replace the sounds listed in the default sounds.json for this sound event
False if the sounds listed should be added to the list of default sounds.
Default is false

description: Translated as the subtitle of the sound if Show Subtitles is enabled ingame.

description: The sound files this sound event uses. One of the listed sounds is randomly selected to play when this sound event is triggered.

$ref: #/definitions/soundPath

description: A sound file. This Object is used only when the sound requires additional Strings.

description:
The volume for playing this sound. Value is a decimal between 0.0 and 1.0
Default is 1.0

description:
Plays the pitch at the specified value.
Default is 1.0

description:
The chance that this sound is selected to play when this sound event is triggered.
Example: putting 2 in for the value would be like placing in the name twice.
Default is 1

type: integer

description:
True if this sound should be streamed from its file. It is recommended that this is set to "true" for sounds that have a duration longer than a few seconds to avoid lag. Used for all sounds in the "music" and "record" categories (except Note Block sounds), as (almost) all the sounds that belong to those categories are over a minute long. Setting this to false allows many more instances of the sound to be ran at the same time while setting it to true only allows 4 instances (of that type) to be ran at the same time.
Default is false

description:
Modify sound reduction rate based on distance. Used by portals, beacons, and conduits.
Default is 16

description:
True if this sound should be loaded when loading the pack instead of when the sound is played. Used by the underwater ambience.
Default is false

description:
"sound" causes the value of "name" to be interpreted as the name of a file
"event" causes the value of "name" to be interpreted as the name of an already defined event.
Default is "sound"

default: sound

enum: sound event

type: string object


lgtm.json

title: Query

title: ID

description: Use to identify a specific query whose results you want to include or exclude from display on LGTM.

title: Severity

description: Use to specify a single level of severity (error, warning or recommendation) for queries whose results you want to include or exclude from display.

title: Tags

description: Use to specify one or more tags for queries whose results you want to include or exclude from display.

title: Tag

description: Configuration file for lgtm, for continuous security analysis.

title: Path Classifiers

description: Defines the tag that you want to modify. Usually this is a built-in tag, but you can define your own tags.

description: Classify files on this path with the parent tag.

title: Exclude

description: Do not classify files on this path with the parent tag.

title: Queries

title: Query

title: Exclude

description: Hide the results for queries with the specified properties.

$ref: #/definitions/queryItem

title: Include

description: Show the results for queries with the specified properties.

title: Extraction

title: Prepare

description: Customizable step used by all languages.

title: Packages

description: One or more packages to install.

title: Package

title: After Prepare

title: Before Index

title: Index

title: All Solutions

description: Specify that all project or solution files should be used for extraction.

title: Build Command

type: array string

title: Buildless

description: Specify whether or not to extract the codebase without building the code.

title: .NET

title: Arguments

description: Specify a list of additional arguments to dotnet build.

title: Argument

title: Version

description: Specify the version of the .NET Core SDK to use.

title: Exclude

description: Specify a list of files and folders to exclude from extraction. Each path is specified by defining paths relative to LGTM_SRC.

title: Filetypes

description: Specify additional file types to extract.

title: Gradle

title: Version

type: string number

title: Include

description: Specify a list of files and folders to scan for files to extract.

title: Java Version

description: Specify the Java version required to build the project.

title: Maven

description: Specify Maven settings to use by specifying one or more of the maven subproperties detailed below.

title: Settings File

description: Specify the path (absolute or relative) of a Maven settings file to use.

title: Toolchains File

description: Specify the path of a Maven toolchains file to use.

title: Version

description: Specify the required Maven version.

title: MSBuild

title: Arguments

description: Specify a list of additional arguments to MSBuild.

title: Argument

title: Configuration

description: Specify the MSBuild configuration to use, for example, debug or release.

title: Platform

description: Specify the platform to target, for example: x86, x64, or Any CPU.

title: Target

description: Specify the MSBuild target.

default: rebuild

title: NuGet Restore

description: Specify whether or not to perform a NuGet restore for extraction.

title: Properties Files

description: Specify whether .properties files are extracted.

title: Solution

description: Specify a list of one or more project or solution files for extraction.

title: TypeScript

description: pecify how TypeScript files should be extracted.

enum: none basic full

default: full

title: XML Mode

description: Specify how XML files should be extracted.

enum: all default disabled

title: Configure

description: Customizable step used only by C/C++ extraction.

title: Command

description: Override the default process by specifying a list of commands to run to generate the build configuration.

title: Python Setup

description: This step is used only by Python blocks. It sets up the Python interpreter and virtual environment, ready for the index step to extract the codebase.

title: Exclude Requirements

description: Specify packages to exclude from extraction/analysis.

title: Package

title: Requirements

description: Specify a list of pip packages to install. If any of these packages cannot be installed, the extraction will fail.

title: Package

title: Requirement Files

description: Specify a list of requirements text files to use to set up the environment, or false for none.

type: array boolean

title: Setup Python

description: Specify a setup.py file to use to set up the environment, or false for none.

title: Version

description: Override the version of the Python interpreter used for setup and extraction.


pulumi.json

title: PluginOptions

required: name path

description: Name of the plugin

description: Path to the plugin folder

description: Version of the plugin, if not set, will match any version the engine requests.

title: SimpleConfigType

enum: string integer boolean array

$ref: #/$defs/simpleConfigType

$ref: #/$defs/configItemsType

const: array

title: ConfigTypeDeclaration

description: A schema for Pulumi project files.

description: Name of the project containing alphanumeric characters, hyphens, underscores, and periods.

description: Description of the project.

description: Author is an optional author that created this project.

description: Website is an optional website for additional info about this project.

description: License is the optional license governing this project's usage.

title: ProjectRuntimeInfo

title: Name

title: Name

title: Options

description: Path to the Pulumi program. The default is the working directory.

description: A map of configuration keys to their types. Using config directory location relative to the location of Pulumi.yaml is a deprecated use of this key. Use stackConfigDir instead.

description: If true this configuration value should be encrypted.

$ref: #/$defs/configTypeDeclaration

description: Config directory location relative to the location of Pulumi.yaml.

description: Backend of the project.

description: URL is optional field to explicitly set backend url

description: Additional project options.

description: Set to "always" to refresh the state before performing a Pulumi operation.

const: always

title: ProjectTemplate

description: ProjectTemplate is a Pulumi project template manifest.

description: Description of the template.

description: Quickstart contains optional text to be displayed after template creation.

description: Important indicates the template is important and should be listed by default.

description: Config to apply to each stack in the project.

description: Description of the config.

description: Default value of the config.

description: Boolean indicating if the configuration is labeled as a secret.

description: Override for the plugin selection. Intended for use in developing pulumi plugins.

description: Plugins for resource providers.

$ref: #/$defs/pluginOptions

description: Plugins for policy analyzers.

description: Plugins for languages.

required: name runtime

title: Pulumi Project


mta.json

enum: str int float bool

default: str

description: It is possible to define parameters in external files. The "includes" section is used to point to those files.

description: The name of an "includes" section. This name is used by a builder to generate a parameter section in the deployment descriptor.

description: A path pointing to a file that contains a map of parameters, either in JSON or in YAML format.

description: An internal name which can be used for documentation purposes and shown by the deployer.

description: Defines the type of action that should be executed by the deployer.

description: A list of strings that define the points at which the hook must be executed.

description: Configuration parameters that are used when executing the hook to the target runtime environment.

$ref: #/definitions/hooks-parameters

description: Additional information about the hook's parameters.

$ref: #/definitions/properties-metadata

description: List of names either matching a resource name or a provided dependency name provided within the same MTA that are required by this hook.

description: An MTA internal name which must match either a provided name, or a resource name within the same MTA.

description: Parameters can be used to influence the behavior of tools which interpret this descriptor. Parameters are not made available to the hook at runtime. Provided property values can be accessed by "~{<provided-property-name>}". Such expressions can be part of an arbitrary string

description: Defines the name of the Cloud Foundry task that should be executed.

description: Defines the actual command that is executed as a Cloud Foundry task.

description: Defines the memory that is available to the Cloud Foundry task.

$ref: #/definitions/generic-memory

description: Defines the disk space that is available to the Cloud Foundry task.

description: MTA DESCRIPTOR SCHEMA

description: The schema version that is being used for authoring a descriptor. The schema version should comply with the semantic versioning standard.

description: An application ID, that may contain any number of unicode characters and should be unique in the target runtime environment.

description: A free text describing this application.

description: The application version that should comply with the semantic versioning standard.

description: The provider or vendor of this application.

description: A copyright statement from the provider.

description: A list of modules.

required: name type

description: The MTA module name which must be unique and cannot be the same as any provided property set or resource name.

description: The module type that defines the design-time tools for the module.

description: A free text describing this module.

description: The path to a folder that contains the module artifacts.

description: A list of modules that must be deployed before deploying the current module.

description: A collection of key-value pairs that are available to the module at runtime.

$ref: #/definitions/properties

description: Additional information about the module's properties.

description: Configuration parameters that are used when deploying the module to the target runtime environment.

$ref: #/definitions/parameters

description: Additional information about the module's parameters.

$ref: #/definitions/parameters-metadata

description: A list of hooks that will be executed for the module.

$ref: #/definitions/hooks

description: The build parameters define how the module is built by the corresponding tool.

description: Used to define the named property sets that other modules and resources can require.

description: The name of the property set that the module provides. The provided name must be unique and cannot be the same as any resource or module name.

description: Configures the accessibility of the provided property set; if set to "true", it is publicly accessible and can be consumed by other MTA projects.

description: A list of properties that are included in this property set.

description: Additional information about the provided set's properties.

description: A list of property sets provided by other modules and/or resources (providers) that this module requires.

description: The name of a provided property set or resource (provider) that this module requires.

description: A "group" can be used to combine properties from multiple providers into one runtime lookup object, such as an environment variable. As of schema version 2.1, this property is DEPRECATED.

description: Defines a name for a runtime lookup object, such as an environment variable, if the required property set contains multiple values; for example, if used to consume configuration data from outside this MTA project.

description: Module properties whose values are determined by the provided properties. These properties can be referenced by the tilde notation: "~{<provided-property-name>}"

description: Additional information about the modules's properties.

description: Additional information about the modules's parameters.

description: A list of resources that are required by the modules of this MTA project.

description: The resource name which must be unique and cannot be the same as any provided property set or module name.

description: A type of resource supported by deployment tools in the target environment.

description: A free text describing this resource.

description: A collection of key-value pairs that can be required by modules and/or other resources as configuration data at runtime.

description: Additional information about the resource's properties.

description: Configuration parameters that are used when provisioning the resource in the target runtime environment.

description: Additional information about the resource's parameters.

description: If the resource is set to optional and the deployment tools are unable to allocate it, then the tools will issue a warning and continue the deployment process.

description: A list containing the names of the resources that must be processed prior to this one.

description: If a resource is declared to be inactive, the resource will not be allocated during the deployment process.

description: A list of property sets provided by other modules and/or resources (providers) that this resource requires.

description: The name of a provided property set or resource (provider) that this resource requires.

description: Resource properties whose values are determined by the provided properties. These properties can be referenced by the tilde notation: "~{<provided-property-name>}"

description: Additional information about the required properties.

description: Additional information about the required parameters.

description: Global parameters that are used when building or deploying the application

description: Additional information about the global parameters.

title: com.sap.mta.mta-schema_3.3


jfrog-pipelines.json

$ref: #/definitions/JFrog-Pipelines

title: JFrog-Pipelines

$ref: #/definitions/Resource

$ref: #/definitions/Pipeline

title: Resource

enum: Aql BuildInfo CronTrigger DistributionRule FileSpec GitRepo HelmChart Image IncomingWebhook OutgoingWebhook PropertyBag ReleaseBundle RemoteFile VmCluster

$ref: #/definitions/resourceTypes/Aql

$ref: #/definitions/resourceTypes/BuildInfo

$ref: #/definitions/resourceTypes/CronTrigger

$ref: #/definitions/resourceTypes/FileSpec

$ref: #/definitions/resourceTypes/GitRepo

$ref: #/definitions/resourceTypes/HelmChart

$ref: #/definitions/resourceTypes/Image

$ref: #/definitions/resourceTypes/PropertyBag

$ref: #/definitions/resourceTypes/RemoteFile

$ref: #/definitions/resourceTypes/VmCluster

required: query sourceArtifactory

required: name type configuration

type: integer string

required: buildName buildNumber

required: serviceName cityName siteName countryCodes sourceDistribution

type: boolean string

enum: ssh https

required: sourceArtifactory repository chart version

title: Pipeline

title: Step

enum: Bash CreateReleaseBundle DistributeReleaseBundle DockerBuild DockerPush GoBuild GoPublishBinary GoPublishModule GradleBuild HelmBlueGreenCleanup HelmBlueGreenDeploy HelmBlueGreenRoleSwitch HelmDeploy HelmPublish Jenkins Matrix MvnBuild NpmBuild NpmPublish PostMatrix PowerShell PreMatrix PromoteBuild PublishBuildInfo PushArtifactoryPackage SignReleaseBundle TriggerPipeline XrayScan

enum: success failure error cancelled skipped unstable timeout stopped deleted cached

required: blueReferenceName greenReferenceName idleName liveName

required: namespace blueReleaseName greenReleaseName roleServices


cheatsheets.json

description:
An editor to modify cheatsheets
https://github.com/cheat/cheat#cheatpaths

description:
Whether cheatsheets should be colorized
https://github.com/cheat/cheat#cheatpaths

description:
A color schema applied for cheatsheets
https://github.com/cheat/cheat#cheatpaths

enum: abap algol algol_nu api arduino autumn average base16-snazzy borland bw catppuccin-frappe catppuccin-latte catppuccin-macchiato catppuccin-mocha colorful compat doom-one doom-one2 dracula emacs friendly fruity github github-dark gruvbox gruvbox-light hr_high_contrast hrdark igor lovelace manni modus-operandi modus-vivendi monokai monokailight murphy native nord onedark onesenterprise paraiso-dark paraiso-light pastie perldoc pygments rainbow_dash rose-pine rose-pine-dawn rose-pine-moon rrt solarized-dark solarized-dark256 solarized-light swapoff tango trac vim vs vulcan witchhazel xcode xcode-dark

description:
A formatter to format cheatsheets
https://github.com/cheat/cheat#cheatpaths

description:
A pager to read long cheatsheets
https://github.com/cheat/cheat#cheatpaths

enum: less more

description:
Cheatpaths
https://github.com/cheat/cheat#cheatpaths

title: cheatpath

description:
A cheatpath
https://github.com/cheat/cheat#cheatpaths

description:
A cheatpath name
https://github.com/cheat/cheat#cheatpaths

description:
A cheatpath path
https://github.com/cheat/cheat#cheatpaths

description:
Cheatpath tags
https://github.com/cheat/cheat#cheatpaths

description:
Whether allow creating cheatsheets in a cheatpath
https://github.com/cheat/cheat#cheatpaths

title: A cheatsheet config schema


io-package.json

description: JSON schema for validation

required: name version platform titleLang news desc mode

description: Contains all common instance attributes

description: Name of the adapter without ioBroker

description: Current adapter version

description: Platform, normally Javascript/Node.js

description: Longer name of adapter DEPRECATED: For admin version >= 5 this property is no longer required

description: Longer name of adapter in all supported languages like {en: 'Adapter', de: 'adapter', ru: 'Драйвер'}

$ref: #/definitions/multilingual

description: Short form of changelog in all supported languages

description: Description, object for multilingual description

description: true if messagebox supported. Hence, the adapter can receive sendTo messages. Up from controller v5, please use common.supportedMessages.notifications.custom = true

description: Object which defines, if the adapter supports receiving messages via sendTo. Additionally, it defines if specific messages are supported.

description: If custom messages are supported (same as legacy messagebox)

description: If notification handling is supported, for information, see https://github.com/foxriver76/ioBroker.notification-manager#requirements-for-messaging-adapters

description: If adapter supports signal stopInstance. Use number if you need more than 1000 ms for stop routine. The signal will be sent before stop to the adapter. (used if problems occurred with SIGTERM). (Same as legacy `supportStopInstance`)

description: If adapter supports getHistory message. (Same as legacy `getHistory`, to avoid problems, set both flags in parallel for now)

description: Url of the ReadMe file

description: Type of the admin UI

description: UI type of custom tab inside admin UI

const: json

description: UI type of config page inside admin UI

enum: html json materialize none

description: UI type of tab inside admin UI

enum: html materialize

description: The structure like {"en": "docs/en/README.md", "de": ["docs/de/README.md", "docs/de/README1.md"]} that describes the documentation if not in README.md

type: string array

description: Array of authors as string

description: License of the software

description: Type of the adapter

enum: alarm climate-control communication date-and-time energy metering garden general geoposition hardware health household infrastructure iot-systems lighting logic messaging misc-data multimedia network protocols storage utility vehicle visualization visualization-icons visualization-widgets weather

description: if the package must be installed with "npm --unsafe-perm" parameter

description: ioBroker plugins to be used

description: Custom attributes, that must be shown in admin in the object browser. Like: [{"name": {"en": "KNX address"}, "path": "native.address", "width": 100, "align": "left"}, {"name": "DPT", "path": "native.dpt", "width": 100, "align": "right", "type": "number", "edit": true, "objTypes": ["state", "channel"]}]. type is a type of the attribute (e.g. string, number, boolean) and only needed if edit is enabled. objTypes is a list of the object types, that could have such attribute. Used only in edit mode too.

required: name path width align

enum: left right center justify

description: Adds a Tab which can be shown in admin adapter

required: fa-icon link name

description: Font-Awesome icon name for TAB

description: Do not update config TAB if configuration changed (to enable configure settings in TAB)

description: Link for iframe in the TAB. You can use parameters replacement like this: "https://%ip%:%port%". IP will be replaced with host IP. "port" will be extracted from native.port.

description: Name of TAB (multilingual object) in admin

description: If true, only one TAB for all instances will be shown.

description: Only used by js-controller

description: allow for "scheduled" adapter to be called "not in the time schedule", if settings changed or adapter started. Or allow scheduled adapter start once after configuration changed and then by schedule.

description: values for common.mode if more than one mode is possible

enum: none daemon subscribe schedule once extension

description: if adapter has custom blocks for blockly (admin/blockly.js required)

description: Type of connection to device

enum: none local cloud

description: If compact mode supported

description: Folder relative to iobroker-data where the adapter stores the data. This folder will be backed up and restored automatically. You can use variable '%INSTANCE%' in it

description: How the data will be received from device

enum: none poll push assumption

description: Array like [{"js-controller": ">=2.0.0"}] that describes which ioBroker modules are required for this adapter on the same host

type: object string

description: Value should be false so new instances are disabled by default

description: erase all previous data in the directory before upload

description: Link to external icon for uninstalled adapters. Normally on GitHub

description: if adapter supports getHistory message. (Up from controller v5, please use `common.supportedMessages.getHistory`)

description: Array like [{"admin": ">=2.0.0"}] that describes which ioBroker modules are required for this adapter on one of the hosts

description: name of the local icon (should be located in subdirectory "admin")

description: Similar to keywords in package.json, but can be defined in many languages.

description: Link to the web service of this adapter. E.g {"_default": "http://localhost:5984/_utils"} for button in admin

description: Default Loglevel after instance creation

enum: silly debug info warn error

description: If this adapter receives logs from other hosts and adapters (e.g. to store them somewhere)

description: Name of the start file. DEPRECATED: For controller >= 3.3 please use package.json main.

description: If adapter supports > admin3 (materialize style) DEPRECATED: For admin version >= 5 please use the property 'adminUI'

description: If adapter supports > admin3 for tab (materialize style) DEPRECATED: For admin version >= 5 please use the property 'adminUI'

description: Execution mode of the adapter

description: Do not show configuration dialog for instance DEPRECATED: For admin version >= 5 please use adminUI.config = "none"

description: never show instances of this adapter on Intro/Overview screen in admin (like icons, widgets)

description: If adapter delivered with initial installation or has own repository

description: If true, no install from github directly is possible

description: This adapter cannot be deleted or updated. It will be updated together with controller.

description: Say to controller, that adapter has only html files and no main.js, like rickshaw

description: OS packages which should be installed on adapter installation

description: String or array of supported operation systems, e.g ["linux", "darwin"]

description: String (or array) with names of attributes in common of instance, which will not be deleted. E.g. "history", so by setState('system.adapter.mqtt.0", {..}) the field common.history will not be deleted even if new object does not have this field. To delete the attribute it must be explicitly done with common:{history: null}.

description: Array with names of adapter that must be restarted after this adapter is installed, e.g. ["vis"]

description: CRON schedule to restart mode daemon adapters

description: CRON schedule if adapter runs in mode schedule

description: If adapter can deliver additional states. If true, the path adapter/lib/states.js (or given path as string) will be called and it give following parameters function (objects, states, instance, config, callback). The function must deliver the array of points with values like function (err, result) { result = [{id: 'id1', val: 1}, {id: 'id2', val: 2}]}

description: Adapter can be installed only once on one host

description: Adapter can be installed only once in whole system

description: If adapter must be stopped before update

description: timeout in ms to wait, till adapter shut down

description: Variables of this adapter must be subscribed with sendTo to enable updates

description: Name of variable, that is subscribed automatically

description: If the adapter support settings for every state. It has to have custom.html file in admin. Sample can be found in ioBroker.history

description: If adapter supports signal stopInstance (messagebox required). Use number if you need more than 1000 ms for stop routine. The signal will be sent before stop to the adapter. (used if problems occurred with SIGTERM). (Up from controller v5, please use `common.supportedMessages.stopInstance`)

description: Overview of vis 2 widgets provided by the adapter, define the name of the provided sets as keys

description: The key represents the name of a provided widget set

description: Translation for the widget

description: Translations will be loaded from visWidgets.<SET_NAME>.url and i18n/<LANG>.json

description: Translations will be loaded from customComponent.js with name ./translations

description: Define translations here

description: Relative path ('http://ip:port/vis/widgets/' + url) or full url to load component from

description: Names of widgets which have to be shown, normally equal to the content of 'modulefederation.config.js'

description: Adapter will be started if some value is written into system.adapter.NAME.x.wakeup. Normally the adapter should stop after processing of event.

description: Show version as prefix in web adapter (usually - ip:port/material, webByVersion - ip:port/1.2.3/material)

description: If web server in this adapter can be extended with plugin/extensions like proxy, simple-api

description: Relative filename to connect the web extension. E.g. in simple-api "lib/simpleapi.js" relative to the adapter root directory. Additionally is native.webInstance required to say where this extension will be included. Empty means, it must run as own web service. "*" means every web server must include it.

description: Object of parameters that must be included into info.js by webServer adapter. (Example material)

description: Array of web server's instances that should serve content from the adapters www folder

description: Array of pages, that should be shown on the "web" index.html page. ["vis/edit.html", "vis/index.html"] or [{"link": "vis/edit.html", "name": "Vis editor", "img": "vis/img/edit.png", "color": "blue"}, "vis/index.html"]

description: Array of pages used on access via ioBroker cloud, that should be shown on the "web" index.html page. ["vis/edit.html", "vis/index.html"] or [{"link": "vis/edit.html", "name": "Vis editor", "img": "vis/img/edit.png", "color": "blue"}, "vis/index.html"]

description: Do not upload the www directory into DB. Used only for admin.

description: Lower tiers are started before higher tiers instances, TIER 1: LOGIC, TIER 2: APIs & other data, TIER 3: not fastly needed data, like BackItUp, Visualization, etc.

description: Messages can be shown on adapter installation, update and instance creation

description: Message will only be shown if condition matches

description: Operand to connect multiple rules

description: Rules which need to be true, e.g. ["oldVersion<2.0.0", "newVersion>=2.0.0"]

description: Title of the shown message

description: Text of the shown message

description: You can define a hyperlink, which will be shown, define its text with `linkText`

description: The importance of the message

description: If a link is defined and should be embedded in text, you can define the text here

description: Predefined buttons of the message window

description: Objects which will be created for the adapter

description: Objects which will be created for each instance

description: Register notifications for the built-in notification system

description: Name which will be shown to the user

description: Description which will be shown to the user

required: category name severity description regex limit

description: `info` will only be shown by admin, while `notify` might also be used by messaging adapters, `alert` ensures both

description: Maximum amount of notifications to collect of this type

description: Predefined attributes which are accessible in index_m.html and at runtime via adapter.config.<attribute>, e.g. {"port": 1234, "password": "secret"}

description: Array of config attributes which will only be accessible by the own adapter, e.g. ["password"]

description: Array of config attributes which will be automatically encrypted when stored via Admin configuration page and automatically decrypted at adapter runtime, e.g. ["password", "token"]


title: CrowdSec Scenario

$ref: #/$defs/leaky

$ref: #/$defs/counter

$ref: #/$defs/trigger

$ref: #/$defs/conditional

required: type name leakspeed description

description:
An expr expression that must return a string. The event will be
poured only if the string is not already present in the bucket.

description:
Only applies to leaky buckets. A positive integer
representing the bucket capacity. If there are more than
capacity item in the bucket, it will overflow.

description:
By default, a bucket holds capacity events "in memory". However,
for a number of cases, you don't want this, as it might lead to
excessive memory consumption.  By setting cache_size to a
positive integer, we can control the maximum in-memory cache
size of the bucket, without changing its capacity and such. It
is useful when buckets are likely to stay alive for a long time
or ingest a lot of events to avoid storing a lot of events in
memory.

description:
overflow_filter is an expression that is run when the bucket
overflows. If this expression is present and returns false, the
overflow will be discarded.

description:
filter must be a valid expr expression that will be evaluated
against the event.  If filter evaluation returns true or is
absent, event will be pour in the bucket.  If filter returns
false or a non-boolean, the event will be skipped for this
bucket.

description:
Defines the type of the bucket. Currently three types are
supported : leaky : a leaky bucket that must be configured
with a capacity and a leakspeed trigger : a bucket that
overflows as soon as an event is poured (it is like a leaky
bucket is a capacity of 0) counter : a bucket that only
overflows every duration. It is especially useful to count
things.

description:
If set to true, the resulting overflow will be sent again in the
scenario/parsing pipeline. It is useful when you want to have
further scenarios that will rely on past-overflows to take
decision

description:
"github_account_name/my_scenario_name" or name:
"my_author_name/my_scenario_name" name is mandatory

description:
The description is mandatory.  It is a short description,
probably one sentence, describing what it detects.

description:
Only applies to leaky buckets. A duration that represent how
often an event will be leaking from the bucket.

description:
cancel_on is an expression that runs on each event poured to the
bucket. If the cancel_on expression returns true, the bucket is
immediately destroyed (and doesn't overflow).

description:
CrowdSec has a notion of format support for parsers and
scenarios for compatibility management. Running cscli version
will show you such compatibility matrix :

description:
If set to to true, enabled scenario level debugging. It is meant
to help understanding scenario behavior by providing contextual

$ref: #/$defs/data

description:
While most scenarios might focus on IP addresses, CrowdSec and Bouncers can work with any scope. The scope directive allows you to override the default scope :
    type is a string representing the scope name
    expression is an expr expression that will be evaluated to fetch the value

description:
An expr expression that must return a string. This string will
be used as a partition for the buckets.

$ref: #/$defs/labels

description: Reference to external paper or documentation

description:
A duration for which a bucket will be "silenced" after
overflowing. This is intended to limit / avoid spam of buckets
that might be very rapidly triggered.  The blackhole only
applies to the individual bucket rather than the whole
scenario. Must be compatible with golang ParseDuration format.

description: Make the bucket overflow when it returns true. The expression is evaluated each time an event is poured to the bucket.

required: type name leakspeed description condition

description:
Labels is a list of label: values that provide context to an
overflow. The labels are (currently) not stored in the database,
nor they are sent to the API.  Special labels : The remediation
label, if set to true indicate the the originating IP should be
banned.

type: string boolean array integer

required: type name description

required: type name duration description

description:
data allows user to specify an external source of data. This
section is only relevant when cscli is used to install parser
from hub, as it will download the source_url and store it to
dest_file. When the parser is not installed from the hub,
CrowdSec won't download the URL, but the file must exist for the
parser to be loaded correctly.

description:
The type is mandatory if you want to evaluate the data in
the file, and should be regex for valid (re2) regular
expression per line or string for string per line. The
regexps will be compiled, the strings will be loaded into
a list and both will be kept in memory. Without specifying
a type, the file will be downloaded and stored as file and
not in memory.

description: url to download file from

description: destination to store the downloaded file to


hayson-json-schema.json

$ref: #/definitions/hval

$ref: #/definitions/gridMeta

$ref: #/definitions/gridColumn

$ref: #/definitions/dict

$ref: #/definitions/marker

$ref: #/definitions/remove

$ref: #/definitions/na

$ref: #/definitions/number

$ref: #/definitions/numberSpecial

$ref: #/definitions/symbol

$ref: #/definitions/ref

$ref: #/definitions/uri

$ref: #/definitions/date

$ref: #/definitions/time

$ref: #/definitions/dateTime

$ref: #/definitions/list

$ref: #/definitions/grid

$ref: #/definitions/coord

$ref: #/definitions/xstr

enum: INF -INF NaN

format: date

required: _kind lat lng

required: _kind type val


$ref: #/definitions/coreProperties

description:
The main title for the project documentation.
https://www.mkdocs.org/user-guide/configuration/#site_name

description:
Set the canonical URL of the site. This will add a link tag with the canonical URL to the head section of each HTML page. If the 'root' of the MkDocs site will be within a subdirectory of a domain, be sure to include that subdirectory in the setting (https://example.com/foo/).
https://www.mkdocs.org/user-guide/configuration/#site_url

description:
When set, provides a link to your repository (GitHub, Bitbucket, GitLab, ...) on each page.
https://www.mkdocs.org/user-guide/configuration/#repo_url

description:
When set, provides the name for the link to your repository on each page.
https://www.mkdocs.org/user-guide/configuration/#repo_name

description:
The path from the base repo_url to the docs directory when directly viewing a page, accounting for specifics of the repository host (e.g. GitHub, Bitbucket, etc), the branch, and the docs directory itself.
https://www.mkdocs.org/user-guide/configuration/#edit_uri

description:
The more flexible variant of edit_uri.
https://www.mkdocs.org/user-guide/configuration/#edit_uri_template

description:
Set the site description. This will add a meta tag to the generated HTML header.
https://www.mkdocs.org/user-guide/configuration/#site_description

description:
Set the name of the author. This will add a meta tag to the generated HTML header.
https://www.mkdocs.org/user-guide/configuration/#site_author

description:
Set the copyright information to be included in the documentation by the theme.
https://www.mkdocs.org/user-guide/configuration/#copyright

default: gh-pages

description:
Set the remote branch to commit to when using gh-deploy to deploy to GitHub Pages. This option can be overridden by a command line option in gh-deploy.
https://www.mkdocs.org/user-guide/configuration/#remote_branch

default: origin

description:
Set the remote name to push to when using gh-deploy to deploy to GitHub Pages. This option can be overridden by a command line option in gh-deploy.
https://www.mkdocs.org/user-guide/configuration/#remote_name

description:
This setting is used to determine the format and layout of the global navigation for the site.
https://www.mkdocs.org/user-guide/configuration/#nav

description:
Sets the theme and theme specific configuration of your documentation site.
https://www.mkdocs.org/user-guide/configuration/#theme

default: mkdocs

description: The string name of a known installed theme, or null if using a local custom theme.

default: en

description: A code representing the language of your site.

description: A directory containing a custom theme. This can either be a relative directory, in which case it is resolved relative to the directory containing your configuration file or it can be an absolute directory path from the root of your local file system.

description: A list of templates to render as static pages. The templates must be located in either the theme's template directory or in the custom_dir defined in the theme configuration.

default: docs

description:
The directory containing the documentation source markdown files. This can either be a relative directory, in which case it is resolved relative to the directory containing your configuration file, or it can be an absolute directory path from the root of your local file system.
https://www.mkdocs.org/user-guide/configuration/#docs_dir

default: site

description:
The directory where the output HTML and other files are created. This can either be a relative directory, in which case it is resolved relative to the directory containing your configuration file, or it can be an absolute directory path from the root of your local file system.
https://www.mkdocs.org/user-guide/configuration/#site_dir

description:
Set a list of CSS files in your docs_dir to be included by the theme. For example, the following example will include the extra.css file within the css subdirectory in your docs_dir.
https://www.mkdocs.org/user-guide/configuration/#extra_css

description:
Set a list of JavaScript files in your docs_dir to be included by the theme. See the example in extra_css for usage.
https://www.mkdocs.org/user-guide/configuration/#extra_javascript

description:
Set a list of templates in your docs_dir to be built by MkDocs. To see more about writing templates for MkDocs read the documentation about [custom themes] and specifically the section about the [available variables] to templates. See the example in extra_css for usage.
https://www.mkdocs.org/user-guide/configuration/#extra_templates

description:
A set of key-value pairs, where the values can be any valid YAML construct, that will be passed to the template. This allows for great flexibility when creating custom themes.
https://www.mkdocs.org/user-guide/configuration/#extra

description:
Determines additional directories to watch when running mkdocs serve.
https://www.mkdocs.org/user-guide/configuration/#watch

description:
This setting controls the style used for linking to pages within the documentation.
https://www.mkdocs.org/user-guide/configuration/#use_directory_urls

description:
Determines how warnings are handled. Set to true to halt processing when a warning is raised. Set to false to print a warning and continue processing.
https://www.mkdocs.org/user-guide/configuration/#strict

description:
Determines the address used when running mkdocs serve. Must be of the format IP:PORT.
https://www.mkdocs.org/user-guide/configuration/#dev_addr

description:
This setting lets you enable a list of extensions beyond the ones that MkDocs uses by default (meta, toc, tables, and fenced_code).
https://www.mkdocs.org/user-guide/configuration/#markdown_extensions

description:
A list of paths to Python scripts (relative to mkdocs.yml) that are loaded and used as plugin instances.
https://www.mkdocs.org/user-guide/configuration/#hooks

description:
A list of plugins (with optional configuration settings) to use when building the site. See the Plugins documentation for full details.
https://www.mkdocs.org/user-guide/configuration/#plugins

description:
Define the parent for a configuration file. The path must be relative to the location of the primary file.
https://www.mkdocs.org/user-guide/configuration/#configuration-inheritance

description: JSON schema for MkDocs configuration file

title: MkDocs Configuration