Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions api/v1alpha1/agent_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,16 @@ type AgentSpec struct {
// Resources defines the compute resource requirements for the agent container.
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
// resources created for this agent, as well as the pod template.
// +optional
CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

// PodMetadata defines labels and annotations to be applied only to the pod template
// of the Deployment created for this agent.
// +optional
PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

// AgentStatus defines the observed state of Agent.
Expand Down
10 changes: 10 additions & 0 deletions api/v1alpha1/agentgateway_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ type AgentGatewaySpec struct {
// This allows loading variables from ConfigMaps and Secrets.
// +optional
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
// resources created for this gateway, as well as the pod template.
// +optional
CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

// PodMetadata defines labels and annotations to be applied only to the pod template
// of the Deployment created for this gateway.
// +optional
PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

// AgentGatewayStatus defines the observed state of AgentGateway
Expand Down
10 changes: 10 additions & 0 deletions api/v1alpha1/aigateway_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,16 @@ type AiGatewaySpec struct {
// This allows loading variables from ConfigMaps and Secrets.
// +optional
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
// resources created for this gateway, as well as the pod template.
// +optional
CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

// PodMetadata defines labels and annotations to be applied only to the pod template
// of the Deployment created for this gateway.
// +optional
PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

type AiModel struct {
Expand Down
28 changes: 28 additions & 0 deletions api/v1alpha1/common_types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
Copyright 2025.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package v1alpha1

// EmbeddedMetadata defines labels and annotations that can be applied to Kubernetes resources.
type EmbeddedMetadata struct {
// Labels is a map of key/value pairs to be applied to the resource.
// +optional
Labels map[string]string `json:"labels,omitempty"`

// Annotations is a map of key/value pairs to be applied to the resource.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
}
10 changes: 10 additions & 0 deletions api/v1alpha1/toolgateway_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ type ToolGatewaySpec struct {
// This allows loading variables from ConfigMaps and Secrets.
// +optional
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
// resources created for this gateway, as well as the pod template.
// +optional
CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

// PodMetadata defines labels and annotations to be applied only to the pod template
// of the Deployment created for this gateway.
// +optional
PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

// ToolGatewayStatus defines the observed state of ToolGateway
Expand Down
10 changes: 10 additions & 0 deletions api/v1alpha1/toolserver_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,16 @@ type ToolServerSpec struct {
// If Namespace is not specified, defaults to the same namespace as the ToolServer.
// +optional
ToolGatewayRef *corev1.ObjectReference `json:"toolGatewayRef,omitempty"`

// CommonMetadata defines labels and annotations to be applied to the Deployment and Service
// resources created for this tool server, as well as the pod template.
// +optional
CommonMetadata *EmbeddedMetadata `json:"commonMetadata,omitempty"`

// PodMetadata defines labels and annotations to be applied only to the pod template
// of the Deployment created for this tool server.
// +optional
PodMetadata *EmbeddedMetadata `json:"podMetadata,omitempty"`
}

// ToolServerStatus defines the observed state of ToolServer.
Expand Down
79 changes: 79 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions config/crd/bases/runtime.agentic-layer.ai_agentgateways.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,24 @@ spec:
AgentGatewayClassName specifies which AgentGatewayClass to use for this gateway instance.
This is only needed if multiple gateway classes are defined in the cluster.
type: string
commonMetadata:
description: |-
CommonMetadata defines labels and annotations to be applied to the Deployment and Service
resources created for this gateway, as well as the pod template.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of key/value pairs to be applied
to the resource.
type: object
labels:
additionalProperties:
type: string
description: Labels is a map of key/value pairs to be applied
to the resource.
type: object
type: object
env:
description: |-
Environment variables to pass to the AgentGateway container.
Expand Down Expand Up @@ -252,6 +270,24 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
podMetadata:
description: |-
PodMetadata defines labels and annotations to be applied only to the pod template
of the Deployment created for this gateway.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of key/value pairs to be applied
to the resource.
type: object
labels:
additionalProperties:
type: string
description: Labels is a map of key/value pairs to be applied
to the resource.
type: object
type: object
replicas:
default: 1
description: Replicas is the number of gateway replicas
Expand Down
36 changes: 36 additions & 0 deletions config/crd/bases/runtime.agentic-layer.ai_agents.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,24 @@ spec:
type: string
type: object
x-kubernetes-map-type: atomic
commonMetadata:
description: |-
CommonMetadata defines labels and annotations to be applied to the Deployment and Service
resources created for this agent, as well as the pod template.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of key/value pairs to be applied
to the resource.
type: object
labels:
additionalProperties:
type: string
description: Labels is a map of key/value pairs to be applied
to the resource.
type: object
type: object
description:
description: |-
Description provides a description of the agent.
Expand Down Expand Up @@ -329,6 +347,24 @@ spec:
This is passed as AGENT_MODEL environment variable to the agent.
Defaults to the agents default model if not specified.
type: string
podMetadata:
description: |-
PodMetadata defines labels and annotations to be applied only to the pod template
of the Deployment created for this agent.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of key/value pairs to be applied
to the resource.
type: object
labels:
additionalProperties:
type: string
description: Labels is a map of key/value pairs to be applied
to the resource.
type: object
type: object
protocols:
description: Protocols defines the protocols supported by the agent
items:
Expand Down
36 changes: 36 additions & 0 deletions config/crd/bases/runtime.agentic-layer.ai_aigateways.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,24 @@ spec:
type: object
minItems: 1
type: array
commonMetadata:
description: |-
CommonMetadata defines labels and annotations to be applied to the Deployment and Service
resources created for this gateway, as well as the pod template.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of key/value pairs to be applied
to the resource.
type: object
labels:
additionalProperties:
type: string
description: Labels is a map of key/value pairs to be applied
to the resource.
type: object
type: object
env:
description: |-
Environment variables to pass to the AI gateway container.
Expand Down Expand Up @@ -272,6 +290,24 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
podMetadata:
description: |-
PodMetadata defines labels and annotations to be applied only to the pod template
of the Deployment created for this gateway.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of key/value pairs to be applied
to the resource.
type: object
labels:
additionalProperties:
type: string
description: Labels is a map of key/value pairs to be applied
to the resource.
type: object
type: object
port:
default: 80
description: Port on which the AI gateway will be exposed.
Expand Down
Loading