Skip to main content
Version: v1.0.0-rc.1 (pre-release)

RenderedRelease

A RenderedRelease represents the actual deployment of application resources to a target plane (DataPlane or ObservabilityPlane) in OpenChoreo. It is created by the ReleaseBinding controller and contains the complete set of Kubernetes resources that need to be applied to the target plane. RenderedReleases manage the lifecycle and health monitoring of deployed resources.

API Version​

openchoreo.dev/v1alpha1

Resource Definition​

Metadata​

RenderedReleases are namespace-scoped resources.

apiVersion: openchoreo.dev/v1alpha1
kind: RenderedRelease
metadata:
name: <renderedrelease-name>
namespace: <namespace> # Namespace for grouping rendered releases

Spec Fields​

FieldTypeRequiredDefaultDescription
ownerRenderedReleaseOwnerYes-Ownership information linking the rendered release to a project and component
environmentNamestringYes-Name of the target environment for this rendered release
resources[Resource]No[]List of Kubernetes resources to apply to the target plane
intervalDurationNo5mWatch interval for resources when stable
progressingIntervalDurationNo10sWatch interval for resources when transitioning
targetPlanestringNodataplaneWhich plane this release should be deployed to (dataplane or observabilityplane)

RenderedReleaseOwner​

FieldTypeRequiredDefaultDescription
projectNamestringYes-Name of the project that owns this rendered release
componentNamestringYes-Name of the component that owns this rendered release

Resource​

FieldTypeRequiredDefaultDescription
idstringYes-Unique identifier for the resource
objectruntime.RawExtensionYes-Complete Kubernetes resource definition in raw JSON/YAML

Status Fields​

FieldTypeDefaultDescription
resources[ResourceStatus][]List of resources that have been successfully applied to the target plane
conditions[Condition][]Conditions tracking the rendered release state

ResourceStatus​

FieldTypeDefaultDescription
idstring-Corresponds to the resource ID in spec.resources
groupstring""API group of the resource (e.g., "apps", "batch")
versionstring-API version of the resource (e.g., "v1", "v1beta1")
kindstring-Type of the resource (e.g., "Deployment", "Service")
namestring-Name of the resource in the target plane
namespacestring""Namespace of the resource in the target plane
statusruntime.RawExtension-Entire .status field of the resource from the target plane
healthStatusHealthStatus-Health of the resource in the target plane
lastObservedTimeTime-Last time the status was observed

HealthStatus​

ValueDescription
UnknownHealth of the resource is not known
ProgressingResource is in a transitioning state to become healthy
HealthyResource is healthy and operating as expected
SuspendedResource is intentionally paused (e.g., CronJob, Deployment with paused rollout)
DegradedResource is not healthy and not operating as expected

Conditions​

RenderedReleases report their state through standard Kubernetes conditions. The following condition types are used:

TypeDescription
FinalizingIndicates the RenderedRelease is being deleted and resources are being cleaned up from the target plane

Examples​

Basic RenderedRelease with Deployment and Service​

apiVersion: openchoreo.dev/v1alpha1
kind: RenderedRelease
metadata:
name: customer-service-prod-renderedrelease
namespace: default
spec:
owner:
projectName: my-project
componentName: customer-service
environmentName: production
interval: 5m
progressingInterval: 10s
resources:
- id: deployment
object:
apiVersion: apps/v1
kind: Deployment
metadata:
name: customer-service
namespace: prod-data-plane
spec:
replicas: 3
selector:
matchLabels:
app: customer-service
template:
metadata:
labels:
app: customer-service
spec:
containers:
- name: main
image: myregistry/customer-service:v1.0.0
ports:
- containerPort: 8080
- id: service
object:
apiVersion: v1
kind: Service
metadata:
name: customer-service
namespace: prod-data-plane
spec:
selector:
app: customer-service
ports:
- port: 80
targetPort: 8080

Annotations​

RenderedReleases support the following annotations:

AnnotationDescription
openchoreo.dev/display-nameHuman-readable name for UI display
openchoreo.dev/descriptionDetailed description of the rendered release
  • Environment - Target environments for rendered releases
  • DataPlane - Data planes where application resources are deployed
  • ObservabilityPlane - Observability planes where monitoring resources are deployed