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.
| Column | Description |
|---|---|
| Name | The unique, user-defined name given to the configuration object. |
| Type | The kind of configuration being used, which refers to the configuration type template (e.g., host.v1, intercept.v1). |
| Created At | The date and time the configuration object was created. |
| ID | The 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.
| Column | Description |
|---|---|
| Name | The name of the template, often including a version number (e.g., host.v1). |
| Created At | The date and time the config type was created in the controller. |
| ID | The system-generated unique identifier for the config type. |