Demo

ODA Canvas

The Open Digital Architecture (ODA) Canvas is an execution environment for ODA Components and the release automation part of a CI/CD pipeline. It provides access to a range of common services (for identity management, authentication, observability etc) and has a set of Software Operators that automatically configure these services based on requirements defined in the ODA Component YAML specification.

Readme

Presented by Florian Kammermann in "How OpenAPIs transform the Telecom Sector" at DINAcon 2025.

Open Digital Architecture Canvas

Supported-component-version Canvas-version License

BDDPassedUndefinedFailedSkipped

The Open Digital Architecture (ODA) Canvas is an execution environment for ODA Components and the release automation part of a CI/CD pipeline. This repository contains the Reference Implementation, open-source code, use-cases and test-kit for a TM Forum ODA canvas. You are free to use this as a starting point for your own ODA Canvas implementation.

The Usecase Library shows how ODA Components interact with the ODA Canvas. The Feature definition and Test Kit details the features required to be a fully compliant ODA Canvas and a set of tests that can be used to validate any ODA Canvas. The source code contains the source code for the operators that are part of the ODA Canvas.

The Reference Implementation of the ODA Canvas will be used for ODA Component certification.

Installation

see Installation Guide for installation instructions.

Introduction to ODA Canvas

There is an introductory video on the ODA Canvas at:

How do I buy or build an ODA Canvas?

The ODA Canvas is itself a modular architecture, with independent operators that embed the management and operations activities in software. The Component Management operator manages the lifecycle of each component, and the de-composition into ExposedAPIs, IdentityConfigs and other sub-resources (that are processed by their corresponding operators). The API Management operators manage the API Gateway and/or Service Mesh to provide security, throttling and other non-functional services to allow API endpoints to be exposed to external consumers. You deploy the matching API Management operator for whatever API Gateway or Service Mesh you are using. The Identitiy Config operator configures the Identity Management Services. The Secrets Management operator is an optional operator to configure secrets. The Dependency Management operator provides services to allow a Component to discover API dependencies. We foresee new operator types becoming available as the ODA Canvas matures.

The ODA Canvas reference implementation includes example operators to that are freely available for organizations to re-use, extend or replace with their own implementations. We expect a typical production implementation will use a combination of standard operators and custom operators that can implement that organizations specific operational policies.

For more information see Software Operators

ODA Canvas Design

The design (including ongoing work) of the ODA Canvas is documented in ODA Canvas Design.

Security principles for the ODA Canvas design are documented in ODA Security Principles.

Release notes

Version Release notes
1.2.4 October 2025 release ahead of Innovate Asia
1.2.3 June 2025 release ahead of DTW
1.2.2 First update incorporating fixes since general availability launch
1.2.0 Release of v1 component specification and general availability of ODA Canvas
1.1.8 Final changes to v1beta4 component specification
1.1.7 Updated to v1beta4 component specification
1.1.5 Multiple fixes
1.1.4 Added secretsmanagement-operator
1.1.3 Moved operators to use tmforumodacanvas docker repository
1.1.2 Added dependentApiSimpleOperator
1.1.1 Bug fix release - Webhook handles empty specification field for exposedAPI. Tested against kubernetes 1.29.
1.1.0 Added support for multiple specifications of each Open-API. The v1beta3 exposedAPI object defines its specification property as an array. This is specifically designed to allow TM Forum Gen5 Open-APIs (which can be specified alongside Gen4 APIs).
The Webhook will automatically convert v1beta2 and v1beta1 specifications to v1beta3 with an array of 1.
1.0.0 First tracked release for component version v1beta3 (also supports N-2 versions i.e. v1beta2 and v1beta1).

For Developers

How to work with this repository:

Preview of external content.
All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody.

The contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License. The application that powers this site is available under the MIT license.