Skip to main content
logoTetrate Service BridgeVersion: next

Cluster Service

Service to manage clusters onboarded in TSB.

Clusters​

The Clusters service exposes methods to manage the registration of clusters that are managed by TSB. Before TSB can takeover networking for a given cluster, it must be onboarded in the platform. This onboarding process usually involves two steps:

  1. Creating the cluster object so the platform knows about it.
  2. Generate the agent tokens for the cluster, so the TSB agents installed in the actual cluster can talk to TSB.

Once a cluster has been onboarded into TSB, it will start receiving configuration updates from the management plane, and the agents will keep the management updated with the status of the cluster.

CreateCluster​

GetCluster​

UpdateCluster​

ListClusters​

DeleteCluster​

GenerateTokens​

CreateClusterOnboardingConfig​

GetClusterOnboardingConfig​

ListClusterOnboardingConfigs​

UpdateClusterOnboardingConfig​

DeleteClusterOnboardingConfig​

GetClusterOnboardingStatus​

CreateClusterOnboardingConfigRequest​

Request to create the cluster onboarding configuration for a cluster.

FieldDescriptionValidation Rule

parent

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

name

string
REQUIRED
The short name for the cluster onboarding config to be created.

string = {
  min_len: 1
  max_len: 63
  pattern: ^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
}

config

tetrateio.api.tsb.v2.ClusterOnboardingConfig
REQUIRED
the cluster onboarding configuration to be created.

message = {
  required: true
}

CreateClusterRequest​

Request to create a cluster and register it in the management plane so configuration can be generated for it.

FieldDescriptionValidation Rule

parent

string
REQUIRED
Parent resource where the cluster will be created. This is the FQN of the organization or the tenant.

string = {
  min_len: 1
}

name

string
REQUIRED
The short name for the resource to be created.

string = {
  min_len: 1
  max_len: 63
  pattern: ^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
}

cluster

tetrateio.api.tsb.v2.Cluster
REQUIRED
Details of the cluster to be created.

message = {
  required: true
}

publicKey

string
Public key to create the cluster's Service Account with, encoded as a JSON Web Key, for clients that want to bring their own keys. It has the same requirements as the key given to AddServiceAccountKey: it must be a public key with a kid, and the matching private key is never sent to TSB. When this is set, the returned install template doesn't include the Service Account JWK the Control Plane authenticates with as it is an encoding of the private key. It is up to the caller to add the key.

–

DeleteClusterOnboardingConfigRequest​

Request to delete the cluster onboarding configuration for a cluster.

FieldDescriptionValidation Rule

fqn

string
REQUIRED
Fully-qualified name of the cluster onboarding config.

string = {
  min_len: 1
}

DeleteClusterRequest​

Request to delete a cluster.

FieldDescriptionValidation Rule

fqn

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

GenerateTokensRequest​

Request to generate the cluster agent tokens.

FieldDescriptionValidation Rule

fqn

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

GetClusterOnboardingConfigRequest​

Request to get the cluster onboarding configuration for a cluster.

FieldDescriptionValidation Rule

fqn

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

GetClusterOnboardingStatusRequest​

Request to get the onboarding status for a cluster.

FieldDescriptionValidation Rule

cluster

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

GetClusterRequest​

Request to retrieve a cluster.

FieldDescriptionValidation Rule

fqn

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

fetchWorkloads

bool
Flag to fetch the workload information as well. Note that by default workload information is not returned as it may be expensive to retrieve.

–

includeInstallTemplate

bool
Flag to return the install template required to install this cluster. This will generate a new API key pair for the cluster service account.

–

ListClusterOnboardingConfigsRequest​

Request to list the cluster onboarding configurations for a cluster.

FieldDescriptionValidation Rule

parent

string
REQUIRED
Fully-qualified name of the cluster.

string = {
  min_len: 1
}

ListClusterOnboardingConfigsResponse​

List of onboarding configurations for a cluster.

FieldDescriptionValidation Rule

configs

List of tetrateio.api.tsb.v2.ClusterOnboardingConfig
The list of onboarding configurations for the cluster.

–

ListClustersRequest​

Request to list clusters.

FieldDescriptionValidation Rule

parent

string
REQUIRED
Parent resource to list clusters from. This is the FQN of the organization or the tenant.

string = {
  min_len: 1
}

fetchWorkloads

bool
Flag to fetch the workload information for all the clusters as well. Note that by default workload information is not returned as it may be expensive to retrieve. When combined with pagination, a cluster that has not yet reported to the management plane fails the page containing it, and because a client only holds the token for that page the walk cannot continue past it until the cluster reports. Complete the walk with fetch_workloads unset if that happens.

–

pageSize

int32
Optional. Maximum number of items to return in one page. If zero and page_token is also empty, the response contains the complete, unpaginated list (the behavior prior to pagination support). Values above 1000 are rejected with INVALID_ARGUMENT naming the maximum, rather than being clamped to it — a clamped caller receives a smaller page than it asked for with nothing saying so. A non-empty page_token with a zero page_size uses a default page size of 50. Prefer setting page_size explicitly on every request of a walk: sending only the token falls back to that default rather than reusing the previous page's size. Negative values, and values between 1 and 9, are rejected with INVALID_ARGUMENT — small pages are disproportionately expensive to serve, so request at least 10 items per page.

–

pageToken

string
Optional. Opaque continuation token from a previous response's next_page_token. Tokens are bound to the query that issued them: replaying a token with a different parent or against a different List method is rejected with INVALID_ARGUMENT. A token confers no authority of its own: parent is validated on every request, so a resume whose parent no longer exists is rejected with NOT_FOUND rather than returning an empty page.

–

ListClustersResponse​

List of clusters that are registered in the platform.

FieldDescriptionValidation Rule

clusters

List of tetrateio.api.tsb.v2.Cluster
The list of clusters that are registered in the platform.

–

nextPageToken

string
Opaque token for the next page. Empty when there are no further pages — this is the only end-of-list signal: a page may contain fewer items than page_size (even zero) while more pages remain. Item order is unspecified and not a stable contract.

–

totalSize

int32
Total number of items under parent that match this request and the caller is permitted to see, counted after permission filtering. Set on every response, paged or not, so a client never has to branch on whether it paginated to learn the count.

Exact on an unpaged response, where it is simply the number of items returned. On a paged response it is an UPPER BOUND: it counts authorized entries before they are loaded, so it can exceed what a full walk ultimately yields if an item is present in the authorization graph but absent from the store.

A zero always means the result is empty. This field is set on every response, so a zero never means the server declined to compute a total.

–