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β
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
owner | RenderedReleaseOwner | Yes | - | Ownership information linking the rendered release to a project and component |
environmentName | string | Yes | - | Name of the target environment for this rendered release |
resources | [Resource] | No | [] | List of Kubernetes resources to apply to the target plane |
interval | Duration | No | 5m | Watch interval for resources when stable |
progressingInterval | Duration | No | 10s | Watch interval for resources when transitioning |
targetPlane | string | No | dataplane | Which plane this release should be deployed to (dataplane or observabilityplane) |
RenderedReleaseOwnerβ
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
projectName | string | Yes | - | Name of the project that owns this rendered release |
componentName | string | Yes | - | Name of the component that owns this rendered release |
Resourceβ
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | - | Unique identifier for the resource |
object | runtime.RawExtension | Yes | - | Complete Kubernetes resource definition in raw JSON/YAML |
Status Fieldsβ
| Field | Type | Default | Description |
|---|---|---|---|
resources | [ResourceStatus] | [] | List of resources that have been successfully applied to the target plane |
conditions | [Condition] | [] | Conditions tracking the rendered release state |
ResourceStatusβ
| Field | Type | Default | Description |
|---|---|---|---|
id | string | - | Corresponds to the resource ID in spec.resources |
group | string | "" | API group of the resource (e.g., "apps", "batch") |
version | string | - | API version of the resource (e.g., "v1", "v1beta1") |
kind | string | - | Type of the resource (e.g., "Deployment", "Service") |
name | string | - | Name of the resource in the target plane |
namespace | string | "" | Namespace of the resource in the target plane |
status | runtime.RawExtension | - | Entire .status field of the resource from the target plane |
healthStatus | HealthStatus | - | Health of the resource in the target plane |
lastObservedTime | Time | - | Last time the status was observed |
HealthStatusβ
| Value | Description |
|---|---|
Unknown | Health of the resource is not known |
Progressing | Resource is in a transitioning state to become healthy |
Healthy | Resource is healthy and operating as expected |
Suspended | Resource is intentionally paused (e.g., CronJob, Deployment with paused rollout) |
Degraded | Resource is not healthy and not operating as expected |
Conditionsβ
RenderedReleases report their state through standard Kubernetes conditions. The following condition types are used:
| Type | Description |
|---|---|
Finalizing | Indicates 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:
| Annotation | Description |
|---|---|
openchoreo.dev/display-name | Human-readable name for UI display |
openchoreo.dev/description | Detailed description of the rendered release |
Related Resourcesβ
- Environment - Target environments for rendered releases
- DataPlane - Data planes where application resources are deployed
- ObservabilityPlane - Observability planes where monitoring resources are deployed