Skip to main content

Configurations and config types

A configuration is an instance of a config type—the set of specific values an SDK application reads to understand how to connect to or host a service. A config type is the schema that defines the structure and parameters a configuration must contain.

Configurations

Configurations are reusable definitions that specify the rules and parameters for how a service operates. Each configuration is an instance (like a row in a database) that implements a specific config type.

Applications using the OpenZiti SDK request and consume configurations to understand how to connect to or host a service.

Config types

Config types are templates that define what parameters a configuration must contain. They're defined using a JSON schema and serve as the standard the controller uses when validating a new configuration.

Built-in config types

The NetFoundry console and OpenZiti controller ship with several standard config types for the most common connectivity use cases. These are tunneler-focused types—they define the specific instructions that tunnelers (and tunneling-enabled SDK apps) use to intercept or offload traffic:

  • intercept.v1: Defines how a tunneler should intercept traffic on the local machine (the client side) to route it into the overlay.
  • host.v1 / host.v2: Defines how a tunneler (running on a router or SDK app) should accept traffic from the overlay and offload it to a local destination.

The ability to define custom config types allows developers to extend the network's behavior for their own applications. For example, the zrok project defines its own configuration type to enable specialized features built around the OpenZiti fabric.

Legacy config types

You may see other config types in the list, such as ziti-tunneler-client.v1 and ziti-tunneler-server.v1. These are legacy types included only to support older versions of the tunneler software. They're planned for deprecation and shouldn't be used for new service configurations.

Console reference

Configurations table

The Configurations tab lists all defined configuration objects that can be associated with a service.

ColumnDescription
NameThe unique, user-defined name given to the configuration object.
TypeThe kind of configuration being used, which refers to the configuration type template (e.g., host.v1, intercept.v1).
Created AtThe date and time the configuration object was created.
IDThe system-generated unique identifier for the configuration object. This is primarily used for API calls.

Config types table

The Config Types tab lists all available templates that can be used to create new configurations.

ColumnDescription
NameThe name of the template, often including a version number (e.g., host.v1).
Created AtThe date and time the config type was created in the controller.
IDThe system-generated unique identifier for the config type.