Service Configurations | NetFoundry Documentation (original) (raw)

Ziti Service Configurations, henceforth "Configs", may be associated with a service to provide metadata for the application that is being delivered by that service.

Configs are created and updated through the edge-management API and consumed by edge SDKs through the edge-client API. Configs and Config Types are Ziti entities. Each Config is an instance of a Config Type.

Overview

The configuration store has several components:

  1. Config Types
    1. Config Types define a type of Config, including an optional JSON schema that the configuration data must conform to.
    2. Config Types have the following properties:
      1. A Config Type name
      2. An optional JSON schema to validate configurations of the type
      3. Standard edge entity properties: id, tags, createdAt, updatedAt
  2. Configs
    1. Configs have the following properties:
      1. A Config name
      2. The configuration data, which is arbitrary JSON data, so long as it conforms to the type schema (if specified)
      3. Standard edge entity properties: id, tags, createdAt, updatedAt
  3. Services
    1. Each service can be linked to multiple Configs. Services can have one linked Config for each Config Type.
  4. Identities
    1. An identity may have a Config specified for a given service and Config. This will override the service's linked Configs.

This configuration model has the following properties:

Tunneler Config Types

The Ziti tunnelers are themselves SDK applications and so they serve as an example of how configuration data can be used.

Ziti provides a handful of tunneler Config Types.

The most relevant Config Types:

Other Config Types:

The tunneler Config Types' schemas are maintained in GitHub.