blob: b18db1ef0c0d8cc107e291ff76d8050ff50c6234 [file] [log] [blame]
..
..
.. Licensed under the Apache License, Version 2.0 (the "License");
.. you may not use this file except in compliance with the License.
.. You may obtain a copy of the License at
..
.. http://www.apache.org/licenses/LICENSE-2.0
..
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS,
.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
.. See the License for the specific language governing permissions and
.. limitations under the License.
..
.. _cdni_admin:
****************************
CDNi Administration
****************************
:abbr:`CDNi (Content Delivery Network Interconnect)` specifications define the standards for interoperability within the :abbr:`CDN (Content Delivery Network)` and open caching ecosystems set forth by the :abbr:`IETF (Internet Engineering Task Force)`. This integration utilizes the :abbr:`APIs (Application Programming Interfaces)` defined by the :abbr:`SVA (Streaming Video Alliance)`.
.. seealso:: For complete details on CDNi and the related API specifications see :rfc:`8006`, :rfc:`8007`, :rfc:`8008`, and the :abbr:`SVA (Streaming Video Alliance)` documents titled `Footprint and Capabilities Interface: Open Caching API`, `Open Caching API Implementation Guidelines`, `Configuration Interface: Part 1 Specification - Overview & Architecture`, `Configuration Interface: Part 2 Specification – CDNi Metadata Model Extensions`, and `Configuration Interface: Part 3 Specification – Publishing Layer APIs`.
In short, these documents describe the :abbr:`CDNi (Content Delivery Network Interconnect)` metadata interface that enables interconnected :abbr:`CDNs (Content Delivery Networks)` to exchange content distribution metadata to enable content acquisition and delivery. These define the interfaces through which a :abbr:`uCDN (Upstream Content Delivery Network)` and a :abbr:`dCDN (Downstream Content Delivery Network)` can communicate configuration and capacity information.
For our use case, it is assumed that :abbr:`ATC (Apache Traffic Control)` is the :abbr:`dCDN (Downstream Content Delivery Network)`.
.. Note:: This is currently under construction and will be for a while. This document will be updated as new features are supported.
/OC/FCI/advertisement
=====================
.. seealso:: :ref:`to-api-oc-fci-advertisement`
The advertisement response is unique for the :abbr:`uCDN (Upstream Content Delivery Network)` and contains the complete footprint and capabilities information structure the :abbr:`dCDN (Downstream Content Delivery Network)` wants to expose. This endpoint will return an array of generic :abbr:`FCI (Footprint and Capabilities Advertisement Interface)` base objects, including type, value, and footprint for each. Currently supported base object types are `FCI.Capacitiy` and `FCI.Telemetry` but these will be expanded in the future.
/OC/CI/configuration
====================
.. seealso:: :ref:`to-api-oc-fci-configuration`
An endpoint that is used to push (``PUT``), fetch (``GET``), or delete (``DELETE``) the entire metadata set for a given :abbr:`uCDN (Upstream Content Delivery Network)` from a :abbr:`JWT (JSON Web Token)`. This puts the requested change into a queue to be reviewed later and returns an endpoint to view the asynchronous status updates.
.. Note:: This is under construction. Currently only ``PUT`` is supported and in a very limited sense.
/OC/CI/configuration/{{host}}
=============================
.. seealso:: :ref:`to-api-oc-fci-configuration-host`
An endpoint that is used to push (``PUT``), fetch (``GET``), or delete (``DELETE``) the metadata set that is attached to host name for a given :abbr:`uCDN (Upstream Content Delivery Network)` from a :abbr:`JWT (JSON Web Token)`. This puts the requested change into a queue to be reviewed later and returns an endpoint to view the asynchronous status updates.
.. Note:: This is under construction. Currently only ``PUT`` is supported and in a very limited sense.
/OC/CI/configuration/request/{{id}}/{{approved}}
================================================
.. seealso:: :ref:`to-api-oc-fci-configuration-request-id-approved`
This endpoint allows a user to approve or deny a queued update request from the previous endpoints. A denial will result in the removal from the queue and a ``FAILED`` status update. An approval will result in the changes being made to the configuration and a ``SUCCEEDED`` status update.
.. Note:: This is under construction and only supports very limited metadata field and limited configuration updates.