Skip to content

streaming-video-technology-alliance/OC-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OC-API

OpenAPI descriptions of the SVA Open Caching interface based on CDNI modeling ([RFC8006], [RFC8007], [RFC8008], [RFC8804]) and SVTA specifications. It is recommended to read first the Open Caching Architecture document (SVTA2051) for a better understanding of the Open Caching eco-system. In general, the Open Caching Interface REST API exposes capabilities through the Footprint and Capabilities Interface (FCI) API metadata and allow provisioning/configuration through the Configuration Interface (COI). All other Interfaces are related in a way or in another to these two interfaces.

The list of files is listed here with for each the corresponding SVTA specification number when appropriate.

  • README.md: this file

  • MAINTAINERS.md: the offical list of maintainers (see below)

  • LICENCE.md: This work is licensed according to the conditions listed in this file.

  • SVTA_OC_openAPI_BOI.yaml (SVTA2060): the Bootstrap API allows the uCDN to get the available versions and corresponding API/URLs for each interface.

  • SVTA_OC_openAPI_FCI.yaml (SVTA2045): the Footprint And Capabilities Interface allows the dCDN to expose its CDN capabilities and footprint to any uCDN (based on [RFC8008]).

  • SVTA_OC_openAPI_CII.yaml (SVTA2049): The Capacity Insight Interface exposes basic capacity information and poessible monitoring end points through the FCI interface.

  • SVTA_OC_openAPI_CMI.yaml (SVTA2046): The Cache Management Interface allows the uCDN to control the cache nodes with operations like content pre-positioning or purge.

  • SVTA_OC_openAPI_COI.yaml (SVTA2028-SVTA2030, SVTA2040-SVTA2042): The Configuration Interface allows the uCDN to provision streaming delegation to a dCDN.

    • SVTA_OC_openAPI_COI_2a.yaml (SVTA2031): the Metadata Expression Language (MEL).
    • SVTA_OC_openAPI_COI_2b.yaml (SVTA2032): Processing Stages Metadata.
    • SVTA_OC_openAPI_COI_2c.yaml (SVTA2033): Cache Control Metadata.
    • SVTA_OC_openAPI_COI_2d.yaml (SVTA2034): Source Access Control Metadata.
    • SVTA_OC_openAPI_COI_2e.yaml (SVTA2035): Client Access Control Metadata.
    • SVTA_OC_openAPI_COI_2f.yaml (SVTA2036): Edge Control Metadata.
    • SVTA_OC_openAPI_COI_2g.yaml (SVTA2037): Delivery Metadata.
    • SVTA_OC_openAPI_COI_2h.yaml (SVTA2038): Private Features Metadata.
    • SVTA_OC_openAPI_COI_2i.yaml (SVTA2039): Protected Secrets Metadata.
  • SVTA_OC_openAPI_LOI.yaml (SVTA2050): the Logging Interface exposed by the dCDN baed on [RFC7937].

  • SVTA_OC_openAPI_MUL.yaml (SVTA2065): the Open Casting (MuLticast) API (a subset of OpenCaching API) related objects definitions.

  • SVTA_OC_openAPI_RRI.yaml (SVTA2048): The Request Routing Interface allowing the streaming delegation through the recursive mode of operations.

  • SVTA_OC_openAPI_Trigger.yaml: The CDNi Trigger control interface metadata V1 (RFC8007) and V2 (https://datatracker.ietf.org/doc/html/draft-ietf-cdni-ci-triggers-rfc8007bis).

Format

The files are JSON objects, yaml formated according to the OpenAPI specification (http://spec.openapis.org/oas/v3.0.3)

Viewing/editing

The files can be viewed/edited through the swagger tooling and/or a code editor (like Visual Studio) equiped with the Yaml language support and/or an OpenAPI validator.

Versions and repository structure

There are three branches: COI_v1.1, COI_v2.0 and COI_v2.1 (the default one).

  • COI_v1.1 version is associated with the SVTA Configuration interface 1.1 (first published version).
  • COI_v2.0 is associated with SVTA Configuration interface 2.x versions.
  • COI_v2.1 is associated with the Configuration interface v2.1. Also COI v2.1 proposes a completely new OpenAPI files distribution aligned with the SVTA Open Caching documentation . Before COI_v2.1 only 3 files contained the complete data model including the REST API definition whereas the last branch COI_v2.1 contains one yaml file per Interface with the exception of the configuration Interface that gathers 10 files. Each openAPI file exhibits:
    • A version number that corresponds to the document version number attached to that file.
    • The document URL.

Contributing

Everyone (including those with read access) can contribute through a pull request. Fork the repository and create a branch from the default one, keep it as much as possible in sync with the main default one (rebase). You should check that the pull request merge properly with the default main branch. You can ask for a review from one particular maintainer and/or from anyone. The pull request should mention the prefered maintainer for handling the pull request There is a list of the repository maintainers (MAINTAINERS.md) that can deal with pull requests.

About

This repository contains the Open Caching API as a series of YAML files compatible with OPenAPI

Resources

License

Stars

Watchers

Forks

Packages