Configuration Interface API Version 2

Project Status:

(roll over for info)

Completed

The project has been completed.

Start:

October 1, 2022

Estimated Completion:

December 31, 2023
  • Home
  • Configuration Interface API Version 2

Problem Statement

The interchange of content delivery configuration metadata between the various entities in the delivery ecosystem is essential for efficient interoperability. The need for an industry-standard API and metadata model becomes increasingly important as content and service providers automate more of their operations, and as technologies such as open caching require coordination of content delivery configurations. A single, unifying method to manage configurations across all delivery providers can not only mitigate potential errors but also reduce the required time to deploy configurations to multiple networks.

Project Description

The project has focused on gathering and analyzing use cases and requirements from each of the types of participants in CDN and Open Caching Configuration Management. This covers the perspectives of Content Providers, CDNs, ISPs, and Open Caching technology providers. The effort has focused on extending the IETF CDNi metadata model to cover real-world use cases in the CDN and Open Caching ecosystem, as well as defining a simple API  for basic configuration publishing and an advanced API that addresses the full life cycle of CDN configuration management (versioning, promotion across environments, configuration sharing, etc…).

Project Type

Code and Document

Project Leads

Advisors

Published Documents

Version: 3.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2028-1: Configuration Interface Part 1: Overview and Architecture

This is the first part in a set of documents that specify the Streaming Video Technology Alliance (SVTA) Configuration Interface, defining both the metadata model and Application Programming Interfaces (APIs) for entities to publish and retrieve configuration metadata. This document specifies the motivational drivers, use cases, and standards to facilitate interoperability within the content delivery network (CDN) and Open Caching ecosystems. The full document set presents a layered architecture that extends the Internet Engineering Task Force (IETF) CDN Interconnect (CDNI) Metadata and Capabilities Models and adds publishing APIs to provide configuration management capabilities required by the CDN and Open Caching industries.

Version: 3.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2029-1: Configuration Interface Part 2: CDNI Metadata Model Extensions

The Internet Engineering Task Force (IETF) Content Delivery Networks Interconnection (CDNI) Metadata Interface enables interconnected content delivery networks (CDNs) to exchange content distribution metadata in order to enable content acquisition and delivery. This document and its subparts describe extensions to the CDNI Metadata Object Model as documented in “CDNI Metadata” [RFC8006] to address the complex requirements of the commercial CDN industry and to support a wider set of use cases such as Open Caching.

Version: 3.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2030-1: Configuration Interface Part 3: Simple Configuration Metadata API

This is part 3 in a set of documents that specify the Streaming Video Alliance (SVTA) Configuration Interface. This document presents the Simple Configuration Metadata API, which provides basic metadata retrieval and publishing capabilities, as introduced in SVTA Configuration Interface Part 1 Introduction & Architecture [SVTA2028].

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2031: Configuration Interface Part 2a: Metadata Expression Language (MEL)

This document specifies the syntax and provides usage examples for an expression language to be used within Streaming Video Technology Alliance (SVTA)/Content Delivery Network Interconnection (CDNI) Metadata Interface (MI) objects. The purpose of this expression language is to enable metadata to be applied conditionally (based on aspects of an HTTP request), and to enable Hypertext Transfer Protocol (HTTP) responses to be generated or altered dynamically.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2032: Configuration Interface Part 2b: Processing Stages Metadata

This document specifies a set of objects extending the Content Delivery Network Interconnection (CDNI) metadata model [RFC8006] to allow for metadata to be applied conditionally and at various points in a dCDNs processing of requests. The concept of Processing Stages are introduced, where each stage in a CDN’s processing pipeline presents an opportunity to examine requests and responses and make alterations as needed. Metadata, such as caching rules, can be applied conditionally (based on aspects of an HTTP request header), and HTTP responses from a source can be altered dynamically (such as adding or dropping an HTTP header). This standard leverages the expression language documented in the Metadata Expression Language (MEL) Specification [SVTA2031].

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2033: Configuration Interface Part 2c: Cache Control Metadata

This specification adds to the basic cache control metadata defined in [RFC8006], providing content providers and upstream CDNs (uCDNs) more fine-grained control over downstream CDN (dCDN) caching. Use cases include overriding or adjusting cache control headers from the origin, bypassing caching altogether, or altering cache keys with dynamically generated values.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2034: Configuration Interface Part 2d: Source Access Control Metadata

This specification provides an alternative to the MI.SourceMetadata objects defined in [RFC8006], providing greatly extended capabilities with regards to defining multiple sources, load balancing, and failover rules across those sources, as well as a mechanism for a content delivery network (CDN) to monitor source health and pull unhealthy sources out of rotation. Additionally, new methods are defined for authentication access to an upstream source/origin.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2035: Configuration Interface Part 2e: Client Access Control Metadata

This specification adds to the basic client access control metadata in [RFC8006], providing content providers and upstream content delivery networks (uCDNs) extended capabilities in defining location and time window restrictions. Support is also provided to define required Transport Layer Security (TLS) certificates and encryption levels.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2036: Configuration Interface Part 2f: Edge Control Metadata

This specification defines configuration metadata objects related to controlling edge access to resources via content delivery networks (CDNs) and Open Caching systems. Configuring Cross-Origin Resource Sharing (CORS) access rules and the dynamic generation of CORS headers is a key feature of typical configurations, as are the ability to define response body compression rules and client connection timeouts.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2037: Configuration Interface Part 2g: Delivery Metadata

This specification adds to the core set of configuration metadata defined in [RFC8006], providing delivery metadata to define traffic types, Open Caching request delegation behavior for Open Caching node selection, and request routing modes of traffic delegation.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2038: Configuration Interface Part 2h: Private Features Metadata

This specification defines a mechanism for downstream content delivery networks (dCDNs) to define private extensions to the metadata model that are mutually agreed upon between participating upstream content delivery networks (uCDNs) and dCDNs.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2039: Configuration Interface Part 2i: Protected Secrets Metadata

This document defines a simple mechanism for protected secret data (such as salt values or encryption keys) that may be embedded in configuration metadata or capabilities advertisements.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2040: Configuration Interface Part 4: Service Configuration Model

This specification introduces the Service Configuration Model, an object layer that wraps the HostMatch metadata defined in [RFC8006] with a construct defining content delivery network (CDN) Services and Properties (groups of hosts with shared metadata definitions), as well as reusable metadata definitions that can be used across all of a service’s CDN Properties. The Service Configuration Model represents a self-contained bundle of configuration metadata and definitions that can be published and deployed as an atomic unit without external references. This model is defined independently of any Application Programming Interface (API) and will be used as the basis for the Streaming Video Technology Alliance (SVTA) Orchestration API.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2041: Configuration Interface Part 5: Metadata Capabilities

This document defines the requirements and model for a CDNI Footprint & Capabilities (FCI) object that allows a downstream content delivery network (dCDN) to advertise the configuration metadata capabilities that it supports. It goes beyond the simple FCI.Metadata object defined in [RFC80008] by providing fine-grained advertisements with allowed usage contexts and allowed values as well as advertisements for specific Metadata Expression Language (MEL) capabilities.

Version: 1.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2042: Configuration Interface Part 6: Orchestration API

The Orchestration API provides full configuration metadata lifecycle management, with publishing and staged deployment as distinct operations, along with versioning and rollback capabilities. The API provides capabilities required by infrastructure orchestration tools such as Terraform and Ansible to issue the commands necessary to update a dCDN configuration to a desired state.

Version: 2.0

Date Plublished: 04/15/2024

More Details

Add to Basket

SVTA2052: Configuration Interface: Document Manifest Version 2.0

The SVTA Configuration Interface is a multi-part set of documents defining both the metadata model and Application Programming Interfaces (APIs) for entities to publish and retrieve configuration metadata for content caching and delivery.

This manifest specifies the SVTA document numbers and versions of each of the parts and subparts comprising a version of the Configuration Interface. Each individual document in the set is assigned a unique SVTA document number and is versioned independently. OpenAPI definitions as well as communications of compliance with this standard may make references such as Configuration Interface Version 2.0 or Configuration Interface Version 2.1. Those versions of this document manifest can be referenced to determine the SVTA document numbers and versions of the parts and subparts that comprise any given version of the Configuration Interface standard.

Goals and Objectives

This project has the following goals and objectives:
  • To define an API specification that provides for the deployment and management of cache configurations across multiple CDN providers and Open Caching Nodes.

Project Scope

The API specification produced by this project will PROVIDE:
  • A list of supported cache configuration features
  • Description of a programmatic method by which to deploy configurations to different caching systems
  • Programmatic methods for error detection and error correction in configuration deployment
  • A data structure and recommended container for configuration representation
The API specification will NOT PROVIDE:
  • Any specific programming languages that should be used to extract metrics
  • Any support for configuration features not specifically listed and addressed by methods within the API

Contributors

The following members have contributed to this project. Click on their name to visit their profile. If they have not published their profile, the link will redirect to their LinkedIn profile.

Additional References