Skip to main content
logoTetrate Service BridgeVersion: next

Application

Applications are logical groupings of services that are related to each other, typically within a trusted group. A common example are three tier applications composed of a frontend, a backend and a datastore service.

Applications are often consumed through APIs, and a single Application can expose one or more of those APIs. These APIs will define the hostnames that are exposed and the methods exposed in each hostname.

apiVersion: application.tsb.tetrate.io/v2
kind: Application
metadata:
name: three-tier
organization: myorg
tenant: tetrate
spec:
workspace: organizations/myorg/tenants/tetrate/three-tier

Application

An Application represents a set of logical groupings of services that are related to each other and expose a set of APIs that implement a complete set of business logic.

FieldDescriptionValidation Rule

workspace

string
REQUIRED
FQN of the workspace this application is part of. The application will configure IngressGateways for the attached APIs in the different namespaces exposed by this workspace.

string = {
  min_len: 1
}

namespaceSelector

tetrateio.api.tsb.types.v2.NamespaceSelector oneof _scope
INPUT_ONLY
Optional set of namespaces this application can configure. If configured, a Gateway Group including these namespaces will be created for the application. If no namespaces are configured and no existing gateway group is set, a new gateway group claiming all namespaces in the workspace (*/*) will be created by default. All Ingress Gateway resources created for the APIs attached to the application will be created in the application's gateway group.

gatewayGroup

string oneof _scope
Optional FQN of the Gateway Group to be used by the application. If configured, this gateway group will be used by the application. If no namespaces are configured and no existing gateway group is set, a new gateway group claiming all namespaces in the workspace (*/*) will be created by default. All Ingress Gateway resources created for the APIs attached to the application will be created in the application's gateway group.

services

List of string
Optional list of services that are part of the application. This is a list of FQNs of services in the service registry. If omitted, the application is assumed to own all the services in the workspace. Note that a service can only be part of one application. If any of the services in the list is already in use by an existing application, application creation/modification will fail. If the list of services is not explicitly set and any service in the workspace is already in use by another application, application creation/modification will fail.

repeated = {
  items: {string:{min_len:1}}
}