Skip to content

kaushall/oda-canvas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Digital Architecture Canvas

Supported-component-version Canvas-version License

bddpassedundeffailed

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 aredocumented in ODA Securty Principles.

Release notes

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).

For Developers

How to work with this repository:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 33.7%
  • JavaScript 30.6%
  • Java 21.6%
  • Vue 6.7%
  • Gherkin 2.5%
  • Smarty 1.5%
  • Other 3.4%