Skip to main content
Version: Next

ServiceClass

A ServiceClass is a platform-level template that provides governance and standardization for Service resources in OpenChoreo. It follows the Claim/Class pattern where platform teams define Classes to enforce organizational policies, resource limits, and deployment configurations while application teams create Services (claims) that reference these classes.

API Version

openchoreo.dev/v1alpha1

Resource Definition

Metadata

ServiceClasses are namespace-scoped resources that must be created within an Organization's namespace.

apiVersion: openchoreo.dev/v1alpha1
kind: ServiceClass
metadata:
name: <serviceclass-name>
namespace: <org-namespace> # Organization namespace

Spec Fields

FieldTypeRequiredDefaultDescription
deploymentTemplateDeploymentSpecNo-Kubernetes Deployment specification template for service workloads
serviceTemplateServiceSpecNo-Kubernetes Service specification template for service networking

Examples

Basic ServiceClass

apiVersion: openchoreo.dev/v1alpha1
kind: ServiceClass
metadata:
name: standard-service
namespace: default
spec:
deploymentTemplate:
replicas: 2
selector:
matchLabels:
app: service
template:
spec:
containers:
- name: main
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
serviceTemplate:
type: ClusterIP
ports:
- port: 80
targetPort: 8080
protocol: TCP

Annotations

ServiceClasses support the following annotations:

AnnotationDescription
openchoreo.dev/display-nameHuman-readable name for UI display
openchoreo.dev/descriptionDetailed description of the ServiceClass