| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| checksums.txt | 2026-03-05 | 582 Bytes | |
| checksums.txt.sigstore.json | 2026-03-05 | 10.0 kB | |
| occ_v0.17.0_darwin_amd64.tar.gz | 2026-03-05 | 14.8 MB | |
| occ_v0.17.0_darwin_amd64.tar.gz.sigstore.json | 2026-03-05 | 9.8 kB | |
| occ_v0.17.0_darwin_arm64.tar.gz | 2026-03-05 | 13.8 MB | |
| occ_v0.17.0_darwin_arm64.tar.gz.sigstore.json | 2026-03-05 | 9.9 kB | |
| occ_v0.17.0_linux_amd64.tar.gz | 2026-03-05 | 14.8 MB | |
| occ_v0.17.0_linux_amd64.tar.gz.sigstore.json | 2026-03-05 | 10.0 kB | |
| occ_v0.17.0_linux_arm64.tar.gz | 2026-03-05 | 13.2 MB | |
| occ_v0.17.0_linux_arm64.tar.gz.sigstore.json | 2026-03-05 | 10.1 kB | |
| occ_v0.17.0_windows_amd64.zip | 2026-03-05 | 15.1 MB | |
| occ_v0.17.0_windows_amd64.zip.sigstore.json | 2026-03-05 | 9.9 kB | |
| occ_v0.17.0_windows_arm64.zip | 2026-03-05 | 13.3 MB | |
| occ_v0.17.0_windows_arm64.zip.sigstore.json | 2026-03-05 | 10.0 kB | |
| README.md | 2026-03-05 | 23.7 kB | |
| v0.17.0 source code.tar.gz | 2026-03-05 | 6.4 MB | |
| v0.17.0 source code.zip | 2026-03-05 | 7.6 MB | |
| Totals: 17 Items | 99.1 MB | 2 | |
Summary of Changes
This release introduces endpoint visibility-based network policies, a unified workflow model, API improvements, expanded CLI capabilities, and significant observability architecture improvements.
-
Endpoint Visibility-Based Network Policies: Network policies are now automatically generated based on endpoint visibility settings. Cross-environment traffic is blocked for namespace-visible endpoints, enforcing network-level isolation that aligns with declared endpoint visibility.
-
Unified Workflow Model: Component Workflows and Workflows have been merged into a single
Workflowresource, eliminating redundancy. TheallowedWorkflowsfield in ComponentTypes now uses structured object references (aligned with theallowedTraitspattern). Workflow annotations have been updated, and workflow run labels are now available in the workflow CEL context for richer conditional logic. -
API Gateway Topology & Connection URL Resolution: A new API gateway topology configuration for ClusterDataPlane, DataPlane and Environment with different gateway modes like Ingress/Egress and Internal/External with endpoint URL resolution based on endpoint visibility.
-
OpenChoreo Connections: Introduce OpenChoreo connections for project-level and namespace-level endpoints.
-
CLI Enhancements: Added
get,list, anddeletesubcommands for Components, Projects, and custom resources. Newworkflow get,component workflowrun,workflowrun list, andworkflowrun logscommands. Optional--output-pathforcomponentrelease genin filesystem mode. The--setflag is now supported for inline overrides. The top-levelocc deletecommand has been removed in favor of resource-specific delete subcommands. -
Release Resources Debuggability Enhancements: Improved the reliability and visibility of release resources in the platform. This update includes enhancements and bug fixes to the resource tree API, ensuring it gracefully returns an empty tree when no releases exist. Pod health reporting has been improved to correctly surface failure states such as CrashLoopBackOff, instead of incorrectly showing Progressing. Additionally, the ReleaseBinding status has been extended with new fields, including lastSpecUpdateTime and observedGeneration, to provide better deployment tracking and operational visibility.
-
Workflow External References: Workflows now support
externalRefs(renamed fromcontextRefs) andbuildplaneReffields, allowing workflows to reference external resources and specify which build plane to execute on. Secret references are also propagated through workflow annotations. -
OpenBao Extracted as Standalone Prerequisite: OpenBao has been decoupled from the build-plane Helm chart into a standalone prerequisite, with dedicated Helm values added for k3d setup.
-
MCP Server Enhancements: Revamped the controlplane and observabilityplane MCP servers, featuring improved tools with optimised payloads for lightweight operations, and a reduced tool count without compromising functionality. The controlplane server includes updated toolsets with developer-focused toolsets enabled by default.
-
RCA Agent Improvements: The RCA agent now suggests applicable fixes within OpenChoreo. The APIs have been revamped, and the agent has been migrated from the legacy MCP servers to the new MCP servers.
-
Default Component Type Enhancements: Default component types updated to use
workload.endpoints. Theserviceandwebappdefault component types now useworkload.endpointsto expose services based on endpoint visibility via the internal and external gateways. -
Dependency Bumps: Thunder to v0.24.0, and observability community module versions updated to latest
-
Documentation for Community Module Authors: Added guides to be used by module authors to create new community modules
Breaking Changes
-
Unified Workflow Model: Component Workflows merged into Workflows. The separate
ComponentWorkflowresource type has been removed. All component workflows are now regularWorkflowresources. ExistingComponentWorkflowCRs must be migrated toWorkflowCRs. TheallowedWorkflowsfield in ComponentTypes has changed from a string array to a structured object array withkindandnamefields:Before
allowedWorkflows:
- my-workflow
After
allowedWorkflows:
- kind: Workflow # Optional, defaults to Workflow name: my-workflow
-
Workflow
contextRefsrenamed toexternalRefs. Any workflows using thecontextRefsfield must update to useexternalRefs. -
CLI: Top-level
occ deleteremoved. The genericocc deletecommand has been removed. Use resource-specific delete subcommands instead (e.g.,occ component delete,occ project delete). -
OpenBao decoupled from the build-plane chart. OpenBao is no longer bundled with the build-plane Helm chart. It must be installed separately as a prerequisite. See the updated installation guides for details.
-
OpenChoreo API routes have been updated: OpenChoreo API is switched to use new API Routes by default. Legacy API routes are now served under a
/legacyprefix. Clients must be updated to use the new APIs. Observer legacy APIs have also moved under a/legacyprefix. -
Default component types refactored to use
workload.endpoints. Theserviceandwebappdefault component types now rely onworkload.endpointsfor service exposure based on internal/external gateway visibility. Existing components that use these default component types may require updates to align with the new model. -
Thunder moved to a dedicated namespace. While Thunder was previously decoupled from the control plane deployment, it was still deployed in the same namespace. In this release, Thunder is deployed in its own namespace and must be installed and managed separately.
-
API Gateway topology: ClusterDataPlane, DataPlane and Environment APIs now support defining gateways with different configurations like Ingress/Egress and Internal/External. To migrate, recreate the ClusterDataPlane, DataPlane and Environment using the new API.
What's Changed
- chore: bump version to 0.17.0 by @isala404 in https://github.com/openchoreo/openchoreo/pull/2187
- chore: remove duplicate kgateway installation instructions from README by @akila-i in https://github.com/openchoreo/openchoreo/pull/2189
- feat: implement pagination for role and binding list eps by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2186
- fix: move auth server base URL for observability plane by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2199
- feat: add missing update & delete eps for env in new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2207
- ci: add Cosign keyless signing to release workflow by @Mirage20 in https://github.com/openchoreo/openchoreo/pull/2191
- feat: merge component workflows and workflows by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2164
- feat: implement git secret eps in the new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2214
- feat: implement endpoint visibility based network policies by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2176
- feat: add invoke url fields to release binding status by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2216
- feat: add finalizer to deploymentpipeline by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2217
- refactor: remove hyphens from API paths to adhere to the new convention by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2221
- feat: add gateway topology with endpoint visibility support by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2219
- fix: unify .well-known endpoints in openchoreo by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2215
- refactor: decouple CLI resources from impl dispatcher by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2220
- fix: remove cluster gateway enabled flag by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2222
- feat: remove action
action:viewfrom the authz system by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2226 - feat: add get/delete subcommands to component and projects by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2227
- chore: remove fossa non compliant deps by @rashadism in https://github.com/openchoreo/openchoreo/pull/2231
- fix: authz check fails when both authn & authz are disabled by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2228
- feat: block cross-environment traffic for namespace-visible endpoints by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2233
- fix: remove the cluster agent enabled flag by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2229
- fix: add immutability validation for spec.owner in missing CRDs by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2235
- feat: add get/list/delete subcommands to Custom resources by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2234
- fix: remove plane k8s resource explorer apis by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2238
- feat: add workflow and workflow run apis by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2242
- feat: resolve service urls for endpoints by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2240
- feat: add e2e tests for validating endpoint visibilty based network policies by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2237
- fix: add clustercomponenttype and clustertrait view permission to choreoapi by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2249
- refactor: remove top-level occ delete command by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2250
- feat: add occ get & list cmds for authz related crds by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2251
- chore: add akila-i as a code owner by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2252
- feat: add gateway topology related endpoints to API server by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2232
- feat: add occ delete cmds for authz related crds by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2254
- refactor: migrate occ apply to typed OpenAPI endpoints by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2255
- fix(controller): fix argo workflow step extraction by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2260
- feat: update workflow annotation key by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2261
- fix: define a global security enable/disable flag for oc-api by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2257
- feat(helm): enable refresh_token grant for Backstage OAuth client by @kaviththiranga in https://github.com/openchoreo/openchoreo/pull/2265
- refactor: migrate observer APIs to legacy by @akila-i in https://github.com/openchoreo/openchoreo/pull/2269
- feat(api): add k8s resource endpoints under release bindings by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2259
- fix: update default component types with endpoint changes by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2253
- feat: refactor releasebinding field index to share across controller by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2271
- feat: update workflow annotation key by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2270
- fix: remove ca-extractor job and update readme to create ca cert by @yashodgayashan in https://github.com/openchoreo/openchoreo/pull/2266
- fix(helm): add workload:view to backstage-catalog-reader role by @kaviththiranga in https://github.com/openchoreo/openchoreo/pull/2272
- fix: add short descriptions for default component types by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2273
- feat: add automatic pagination to all list commands by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2276
- feat: migrate controlplane MCP server to be used with the new APIs by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2241
- feat: add controller arg for network policies by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2280
- chore: update gateway spec in installation guides by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2285
- chore: update endpoint status in openapi by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2286
- feat: extract openbao from build-plane into standalone prerequisite by @isala404 in https://github.com/openchoreo/openchoreo/pull/2258
- feat: implement connection url resolver by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2278
- chore: add reports backend and revamp rca reports endpoints by @rashadism in https://github.com/openchoreo/openchoreo/pull/2267
- fix(api): make group query param optional for core k8s resource events by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2287
- feat: add workflow get, component workflow run, and --set support by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2288
- feat: add Observer API OpenAPI spec and code generation setup by @akila-i in https://github.com/openchoreo/openchoreo/pull/2289
- feat: expose connections in template context by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2291
- feat: add component workflowrun list command by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2292
- chore: migrate golangci-lint from v1 to v2 by @Mirage20 in https://github.com/openchoreo/openchoreo/pull/2277
- feat(api): add workflow query param to list workflow runs api by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2296
- feat: add workflow annotation to indicate component workflow by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2298
- feat: add missing permission actions to systemActions registry by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2166
- feat: enhance workflow log queries with step name wildcard support by @akila-i in https://github.com/openchoreo/openchoreo/pull/2299
- feat: implement new API services and handlers for log querying in observer by @akila-i in https://github.com/openchoreo/openchoreo/pull/2294
- feat: implement metrics querying functionality in Observer API by @akila-i in https://github.com/openchoreo/openchoreo/pull/2301
- refactor: secure update methods to only apply user-mutable fields && remove unused labels by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2290
- feat: add buildplane ref to workflows by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2300
- feat: resolve connection urls for project and namespace endpoints by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2317
- feat: sync OpenAPI and samples with new connections format by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2319
- feat: implement alerting v1alpha1 CRUD endpoints in Observer API by @akila-i in https://github.com/openchoreo/openchoreo/pull/2318
- feat: add CORS configuration support for Observer and RCA agent by @stefinie123 in https://github.com/openchoreo/openchoreo/pull/2321
- feat(api): merge autobuild webhook endpoints by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2322
- feat: add workflow run logs commands by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2323
- feat: add workflow run event and log apis by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2325
- feat: add workflow run labels to workflow cel context by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2328
- feat: resolve observer URL via DataPlane chain by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2327
- fix(api): support task query param for workflow run logs and events by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2330
- feat: support connections to internal visibility endpoints with optional env mappings by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2331
- feat: add workflow run deletion for component finalizer by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2329
- refactor(api): default to OpenAPI routes over legacy by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2324
- fix(cli): prevent cache from skipping entire tree when root-dir is "." by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2333
- feat(cli): optional --output-path for componentrelease gen (fs mode) by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2334
- fix(api): implement OpenAPI GetReady handler by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2337
- fix(cli): include eps and conns in generated ComponentRelease by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2340
- refactor: refactor Observer to serve new Tracing APIs by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2326
- fix: update obs authz client to use the new handler path by @binoyPeries in https://github.com/openchoreo/openchoreo/pull/2343
- fix(api): add task-name filtering for workflow logs by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2342
- refactor: reorganize workflow samples by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2347
- fix: update generic workflow sample by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2348
- fix: update RCA authz client to use the new handler path by @rashadism in https://github.com/openchoreo/openchoreo/pull/2350
- chore: update API gateway topology resolution and minor changes by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2345
- feat: align allowedWorkflows with allowedTraits by using a structured object by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2346
- refactor: update workflow listing to include all workflows by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2354
- fix: update UID resolver in observe to new API paths by @akila-i in https://github.com/openchoreo/openchoreo/pull/2349
- feat: add context refs to workflows by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2353
- fix(api): implement autobuild webhook handler in OpenAPI server by @LakshanSS in https://github.com/openchoreo/openchoreo/pull/2355
- feat: refactor e2e test suites to use clusterdataplane by @ChathurangaKCD in https://github.com/openchoreo/openchoreo/pull/2341
- feat: add alert webhook handling to Observer API by @akila-i in https://github.com/openchoreo/openchoreo/pull/2358
- fix: update log fetching methods to use new observer API structure by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2359
- feat: add --workflow flag to workflowrun list by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2360
- feat: add mcp tools for workload resolution and migrate MCP type usage to generated types by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2356
- feat: change contextRefs to externalRefs in workflows by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2362
- feat: add openbao helm values for k3d setup by @isala404 in https://github.com/openchoreo/openchoreo/pull/2364
- chore: bump thunder version to 0.24 by @mevan-karu in https://github.com/openchoreo/openchoreo/pull/2366
- refactor: change references of observability backend to adapter and fix request and response to logs adapter by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2368
- feat: migrate observability MCP server to use new API layer by @chathuranga95 in https://github.com/openchoreo/openchoreo/pull/2367
- fix(api): return empty resource tree when release binding has no releases by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2372
- fix: improve error message for invalid control plane URL by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2375
- fix: enhance RCA agent with remediation support by @rashadism in https://github.com/openchoreo/openchoreo/pull/2376
- fix: use OpenAPI client for scaffold schema requests by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2378
- feat(api): add lastSpecUpdateTime and observedGeneration to ReleaseBinding status by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2377
- chore: update RC agent yaml spec by @rashadism in https://github.com/openchoreo/openchoreo/pull/2380
- fix: pin logs and metrics module versions in quickstart by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2381
- fix: add error handling to quick-start install script by @isala404 in https://github.com/openchoreo/openchoreo/pull/2388
- fix: correct --set flag examples in help text by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2389
- fix: pod health incorrectly returning Progressing for CrashLoopBackOff by @VajiraPrabuddhaka in https://github.com/openchoreo/openchoreo/pull/2390
- chore: update rca hostname and enable remed by default by @rashadism in https://github.com/openchoreo/openchoreo/pull/2391
- fix: add secret ref to workflow annotation by @chalindukodikara in https://github.com/openchoreo/openchoreo/pull/2392
- refactor: remove experimental prefix from observability adapter configs and pass them as env variables to observer by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2393
- docs: update sample service URLs to include endpoint names by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2394
- feat: add uidResolverTlsInsecureSkipVerify option to security settings by @akila-i in https://github.com/openchoreo/openchoreo/pull/2398
- fix: convert values of LOGS_ADAPTER_ENABLED and TRACING_ADAPTER_ENABLED env variables to boolean by @nilushancosta in https://github.com/openchoreo/openchoreo/pull/2397
- fix: migrate RCA agent from legacy observability mcp server by @rashadism in https://github.com/openchoreo/openchoreo/pull/2400
- chore: update websocket sample readme by @NomadXD in https://github.com/openchoreo/openchoreo/pull/2403
- feat: add authzTlsInsecureSkipVerify option to observer configuration by @akila-i in https://github.com/openchoreo/openchoreo/pull/2405
- fix: update metricLabelsAllowlist to include namespace by @rashadism in https://github.com/openchoreo/openchoreo/pull/2406
- fix: add missing sample app secrets to openbao values by @isala404 in https://github.com/openchoreo/openchoreo/pull/2407
- fix: expose observer via ingress in quick-start setup by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2408
- fix: add missing property field to secret references by @JanakaSandaruwan in https://github.com/openchoreo/openchoreo/pull/2409
Full Changelog: https://github.com/openchoreo/openchoreo/compare/v0.16.0...v0.17.0