A Custom Resource Definition (CRD) is a way to extend the Kubernetes API for use cases that are not directly covered by core Kubernetes. Similar to core Kubernetes resources, a CRD is defined as YAML. The Kubernetes API server will process CRDs as it does any other resource, and report on the configuration content of a CRD to any authorized consumer of the Kubernetes API.
The Ambassador Edge Stack relies heavily on CRDs for configuration. For example, the
Mapping resource is a CRD:
---apiVersion: getambassador.io/v2kind: Mappingmetadata:name: httpbin-mappingspec:prefix: /httpbin/service: http://httpbin.org