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.
see Installation Guide for installation instructions.
There is an introductory video on the ODA Canvas at:
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
The design (including ongoing work) of the ODA Canvas is documented in ODA Canvas Design.
Security principles for the ODA Canvas design aredocumented in ODA Securty Principles.
Version | Release notes |
---|---|
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). |
How to work with this repository: