Gloo Operator APIs
Review the API reference for the custom resources that you can install with the Gloo Operator, such as the ServiceMeshController.
For more information, see the Gloo Operator installation guide.
API Reference
Packages:
operator.gloo.solo.io/v1
Resource Types:
GatewayController
GatewayController is the Schema for the gatewaycontrollers API
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | operator.gloo.solo.io/v1 | true |
| kind | string | GatewayController | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
| spec | object | GatewayControllerSpec defines the desired state of GatewayController | false |
| status | object | GatewayControllerStatus defines the observed state of GatewayController | false |
GatewayController.spec
GatewayControllerSpec defines the desired state of GatewayController
| Name | Type | Description | Required |
|---|---|---|---|
| version | string | Version of the Gateway to deploy, e.g., 1.18.0. | true |
| distribution | enum | Distribution to use: Standard, or FIPS.
Defaults to standard. Enum: Standard, FIPS Default: Standard | false |
| installNamespace | string | Namespace to install the Gateway into.
Defaults to gloo-system. Default: gloo-system | false |
| repository | object | Repository to fetch the Gateway manifests from. | false |
GatewayController.spec.repository
Repository to fetch the Gateway manifests from.
| Name | Type | Description | Required |
|---|---|---|---|
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
to use for pulling any of the manifests from an artifact registry. | false |
| url | string | Repository URL. | false |
GatewayController.spec.repository.secrets[index]
SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | name is unique within a namespace to reference a secret resource. | false |
| namespace | string | namespace defines the space within which the secret name must be unique. | false |
GatewayController.status
GatewayControllerStatus defines the observed state of GatewayController
| Name | Type | Description | Required |
|---|---|---|---|
| conditions | []object | Represents the observations of a GatewayController's current state. Default: [map[lastTransitionTime:1970-01-01T00:00:00Z message:Waiting for controller reason:NotReconciled status:Unknown type:Ready]] | false |
| phase | string | Represents the current phase of the GatewayController. Default: UNKNOWN | false |
GatewayController.status.conditions[index]
Condition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition.
This may be an empty string. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. Format: int64 Minimum: 0 | false |
KagentController
KagentController is the Schema for the KagentControllers API
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | operator.gloo.solo.io/v1 | true |
| kind | string | KagentController | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
| spec | object | KagentControllerSpec defines the desired state of KagentController | false |
| status | object | KagentControllerStatus defines the observed state of KagentController | false |
KagentController.spec
KagentControllerSpec defines the desired state of KagentController
| Name | Type | Description | Required |
|---|---|---|---|
| apiKey | object | APIKey is a reference to the secret containing the API key | true |
| oidc | object | OIDC configuration for the Kagent UI | true |
| telemetry | object | Telemetry component attributes. | true |
| version | string | Version is the version of the KagentController | true |
| repository | object | Repository is a reference to the helm chart repository | false |
KagentController.spec.apiKey
APIKey is a reference to the secret containing the API key
| Name | Type | Description | Required |
|---|---|---|---|
| secretRef | object | SecretRef is a reference to the secret containing the API key | true |
| type | enum | Type is the type of the API key Enum: OpenAI | true |
KagentController.spec.apiKey.secretRef
SecretRef is a reference to the secret containing the API key
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | name is unique within a namespace to reference a secret resource. | false |
| namespace | string | namespace defines the space within which the secret name must be unique. | false |
KagentController.spec.oidc
OIDC configuration for the Kagent UI
| Name | Type | Description | Required |
|---|---|---|---|
| clientId | string | OIDC client ID for the Kagent UI | true |
| issuer | string | OIDC issuer for the Kagent UI | true |
| secret | string | OIDC secret for the Kagent UI | true |
| secretRef | string | OIDC secret reference for the Kagent UI | true |
KagentController.spec.telemetry
Telemetry component attributes.
| Name | Type | Description | Required |
|---|---|---|---|
| logging | object | Logging component attributes. | true |
| tracing | object | Tracing component attributes. | true |
KagentController.spec.telemetry.logging
Logging component attributes.
| Name | Type | Description | Required |
|---|---|---|---|
| endpoint | string | Endpoint for logging exporter in the format of | true |
KagentController.spec.telemetry.tracing
Tracing component attributes.
| Name | Type | Description | Required |
|---|---|---|---|
| endpoint | string | Endpoint for tracing exporter in the format of | true |
KagentController.spec.repository
Repository is a reference to the helm chart repository
| Name | Type | Description | Required |
|---|---|---|---|
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
to use for pulling any of the manifests from an artifact registry. | false |
| url | string | Repository URL. | false |
KagentController.spec.repository.secrets[index]
SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | name is unique within a namespace to reference a secret resource. | false |
| namespace | string | namespace defines the space within which the secret name must be unique. | false |
KagentController.status
KagentControllerStatus defines the observed state of KagentController
| Name | Type | Description | Required |
|---|---|---|---|
| conditions | []object | Represents the observations of a KagentController's current state. Default: [map[lastTransitionTime:1970-01-01T00:00:00Z message:Waiting for controller reason:NotReconciled status:Unknown type:Ready]] | false |
| phase | string | Represents the current phase of the KagentController. Default: UNKNOWN | false |
KagentController.status.conditions[index]
Condition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition.
This may be an empty string. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. Format: int64 Minimum: 0 | false |
KagentManagementController
KagentManagementController is the Schema for the KagentManagementControllers API
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | operator.gloo.solo.io/v1 | true |
| kind | string | KagentManagementController | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
| spec | object | KagentManagementControllerSpec defines the desired state of KagentManagementController | false |
| status | object | KagentManagementControllerStatus defines the observed state of KagentManagementController | false |
KagentManagementController.spec
KagentManagementControllerSpec defines the desired state of KagentManagementController
| Name | Type | Description | Required |
|---|---|---|---|
| oidc | object | OIDC configuration for the Kagent Enterprise UI | true |
| version | string | Version is the version of the KagentManagementController | true |
| image | object | Image attributes | false |
| repository | object | Repository is a reference to the helm chart repository | false |
KagentManagementController.spec.oidc
OIDC configuration for the Kagent Enterprise UI
| Name | Type | Description | Required |
|---|---|---|---|
| authEndpoint | string | OIDC auth endpoint for the Kagent Enterprise UI | true |
| clientID | string | OIDC client ID for the Kagent Enterprise UI | true |
| clientSecret | string | Reference to the secret containing the OIDC client secret for the Kagent Enterprise UI | true |
| issuer | string | OIDC issuer for the Kagent Enterprise UI | true |
| logoutEndpoint | string | OIDC logout endpoint for the Kagent Enterprise UI | true |
| tokenEndpoint | string | OIDC token endpoint for the Kagent Enterprise UI | true |
KagentManagementController.spec.image
Image attributes
| Name | Type | Description | Required |
|---|---|---|---|
| registry | string | Image registry. | false |
| repository | string | Image repository. | false |
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
in the same namespace to use for pulling any of the images from a container registry. | false |
KagentManagementController.spec.image.secrets[index]
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Default: | false |
KagentManagementController.spec.repository
Repository is a reference to the helm chart repository
| Name | Type | Description | Required |
|---|---|---|---|
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
to use for pulling any of the manifests from an artifact registry. | false |
| url | string | Repository URL. | false |
KagentManagementController.spec.repository.secrets[index]
SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | name is unique within a namespace to reference a secret resource. | false |
| namespace | string | namespace defines the space within which the secret name must be unique. | false |
KagentManagementController.status
KagentManagementControllerStatus defines the observed state of KagentManagementController
| Name | Type | Description | Required |
|---|---|---|---|
| conditions | []object | Represents the observations of a KagentManagementController's current state. Default: [map[lastTransitionTime:1970-01-01T00:00:00Z message:Waiting for controller reason:NotReconciled status:Unknown type:Ready]] | false |
| phase | string | Represents the current phase of the KagentManagementController. Default: UNKNOWN | false |
KagentManagementController.status.conditions[index]
Condition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition.
This may be an empty string. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. Format: int64 Minimum: 0 | false |
KagentRelayController
KagentRelayController is the Schema for the KagentRelayControllers API
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | operator.gloo.solo.io/v1 | true |
| kind | string | KagentRelayController | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
| spec | object | KagentRelayControllerSpec defines the desired state of KagentRelayController | false |
| status | object | KagentRelayControllerStatus defines the observed state of KagentRelayController | false |
KagentRelayController.spec
KagentRelayControllerSpec defines the desired state of KagentRelayController
| Name | Type | Description | Required |
|---|---|---|---|
| cluster | string | The name of the cluster where the KagentRelay is installed. | true |
| telemetry | object | Telemetry component attributes. | true |
| trustbundle | string | TrustBundle is the trust bundle for control plane certificates
used to verify the certificates of the control plane. | true |
| tunnel | object | Tunnel component attributes. | true |
| version | string | Version specifies KagentRelay's version | true |
| repository | object | Repository to fetch the KagentRelay manifests from. | false |
KagentRelayController.spec.telemetry
Telemetry component attributes.
| Name | Type | Description | Required |
|---|---|---|---|
| fqdn | string | Fully qualified domain name for Otel Gateway in Control Plane | true |
KagentRelayController.spec.tunnel
Tunnel component attributes.
| Name | Type | Description | Required |
|---|---|---|---|
| fqdn | string | Fully qualified domain name for Tunnel Server in Control Plane | true |
KagentRelayController.spec.repository
Repository to fetch the KagentRelay manifests from.
| Name | Type | Description | Required |
|---|---|---|---|
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
to use for pulling any of the manifests from an artifact registry. | false |
| url | string | Repository URL. | false |
KagentRelayController.spec.repository.secrets[index]
SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | name is unique within a namespace to reference a secret resource. | false |
| namespace | string | namespace defines the space within which the secret name must be unique. | false |
KagentRelayController.status
KagentRelayControllerStatus defines the observed state of KagentRelayController
| Name | Type | Description | Required |
|---|---|---|---|
| conditions | []object | Represents the observations of a KagentRelayController's current state. Default: [map[lastTransitionTime:1970-01-01T00:00:00Z message:Waiting for controller reason:NotReconciled status:Unknown type:Ready]] | false |
| phase | string | Represents the current phase of the KagentRelayController. Default: UNKNOWN | false |
KagentRelayController.status.conditions[index]
Condition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition.
This may be an empty string. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. Format: int64 Minimum: 0 | false |
OTelController
OTelController is the Schema for the OTelControllers API
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | operator.gloo.solo.io/v1 | true |
| kind | string | OTelController | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
| spec | object | OTelControllerSpec defines the desired state of OTelController | false |
| status | object | OTelControllerStatus defines the observed state of OTelController | false |
OTelController.spec
OTelControllerSpec defines the desired state of OTelController
| Name | Type | Description | Required |
|---|---|---|---|
| version | string | OpenTelemetry Collector version to deploy. | true |
| installNamespace | string | Namespace to install the OpenTelemetry components into. | false |
OTelController.status
OTelControllerStatus defines the observed state of OTelController
| Name | Type | Description | Required |
|---|---|---|---|
| conditions | []object | Represents the observations of a OTelController's current state. Default: [map[lastTransitionTime:1970-01-01T00:00:00Z message:Waiting for controller reason:NotReconciled status:Unknown type:Ready]] | false |
| phase | string | Represents the current phase of the OTelController. Default: UNKNOWN | false |
OTelController.status.conditions[index]
Condition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition.
This may be an empty string. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. Format: int64 Minimum: 0 | false |
ServiceMeshController
ServiceMeshController is the Schema for the servicemeshcontrollers API
| Name | Type | Description | Required |
|---|---|---|---|
| apiVersion | string | operator.gloo.solo.io/v1 | true |
| kind | string | ServiceMeshController | true |
| metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
| spec | object | ServiceMeshControllerSpec defines the desired state of ServiceMeshController Validations: | false |
| status | object | ServiceMeshControllerStatus defines the observed state of ServiceMeshController | false |
ServiceMeshController.spec
ServiceMeshControllerSpec defines the desired state of ServiceMeshController
| Name | Type | Description | Required |
|---|---|---|---|
| version | string | Istio version to deploy, e.g. 1.23.1. | true |
| cluster | string | Cluster name. Should be set in a multi-cluster environment. | false |
| dataplaneMode | enum | Dataplane mode to use: Ambient or Sidecar.
Defaults to Ambient. Enum: Ambient, Sidecar Default: Ambient | false |
| distribution | enum | Distribution to use: Standard, or FIPS.
Defaults to standard. Enum: Standard, FIPS Default: Standard | false |
| image | object | Image attributes. | false |
| installNamespace | string | Namespace to install the service mesh components into.
Defaults to istio-system. Default: istio-system | false |
| network | string | The default network workloads belong to. Should be set in a multi-network environment.
The network is a logical grouping of workloads that reside in the same L3 domain/network.
Workloads in the same network are directly reachable from one another, while workloads
in different networks require an east-west gateway to establish connectivity. | false |
| onConflict | enum | Conflict resolution mode to use: Force or Abort.
Force implies that the existing resources will be updated on conflict.
Abort implies that the installation will be aborted if a conflict is detected.
Defaults to Abort. Enum: Force, Abort Default: Abort | false |
| repository | object | Repository to fetch the manifests from. | false |
| scalingProfile | enum | Scaling profile to use: Default or Large.
Default implies a scaling profile suitable for most environments.
Large implies a scaling profile suitable for large environments.
Demo implies a scaling profile for demo environments.
Defaults to Default. Enum: Default, Large, Demo Default: Default | false |
| trafficCaptureMode | enum | Traffic capture mode to use: Auto or InitContainer.
Auto implies that the most suitable traffic capture mode will be automatically
selected based on the environment, such as using a CNI to capture traffic.
InitContainer implies that the traffic capture will be done using an init container.
Defaults to Auto. Enum: Auto, InitContainer Default: Auto | false |
| trustDomain | string | Trust domain corresponds to the trust root of a system and is part of a workload's identity. | false |
ServiceMeshController.spec.image
Image attributes.
| Name | Type | Description | Required |
|---|---|---|---|
| registry | string | Image registry. | false |
| repository | string | Image repository. | false |
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
in the same namespace to use for pulling any of the images from a container registry. | false |
ServiceMeshController.spec.image.secrets[index]
LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Default: | false |
ServiceMeshController.spec.repository
Repository to fetch the manifests from.
| Name | Type | Description | Required |
|---|---|---|---|
| secrets | []object | Secrets references a list of secrets of type kubernetes.io/dockerconfigjson,
to use for pulling any of the manifests from an artifact registry. | false |
| url | string | Repository URL. | false |
ServiceMeshController.spec.repository.secrets[index]
SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | name is unique within a namespace to reference a secret resource. | false |
| namespace | string | namespace defines the space within which the secret name must be unique. | false |
ServiceMeshController.status
ServiceMeshControllerStatus defines the observed state of ServiceMeshController
| Name | Type | Description | Required |
|---|---|---|---|
| conditions | []object | Represents the observations of a ServiceMeshController's current state. Default: [map[lastTransitionTime:1970-01-01T00:00:00Z message:Waiting for controller reason:NotReconciled status:Unknown type:Ready]] | false |
| phase | string | Represents the current phase of the ServiceMeshController. Default: UNKNOWN | false |
ServiceMeshController.status.conditions[index]
Condition contains details for one aspect of the current state of this API Resource.
| Name | Type | Description | Required |
|---|---|---|---|
| lastTransitionTime | string | lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. Format: date-time | true |
| message | string | message is a human readable message indicating details about the transition.
This may be an empty string. | true |
| reason | string | reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty. | true |
| status | enum | status of the condition, one of True, False, Unknown. Enum: True, False, Unknown | true |
| type | string | type of condition in CamelCase or in foo.example.com/CamelCase. | true |
| observedGeneration | integer | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. Format: int64 Minimum: 0 | false |