GlobalConfig CRD
EnRoute Technical Reference
GlobalConfig CRD
GlobalConfig
provides a mechanism to provide configuration global to the system. Such configuration may include configuring the rate-limit engine in EnRoute, configuring mesh integration options (like options for linkerd and istio), configuring a devportal for EnRoute
Here is an example GlobalConfig
for the EnRoute devportal
---
apiVersion: enroute.saaras.io/v1
kind: GlobalConfig
metadata:
name: devportal-config
namespace: portal
spec:
name: devportal-config
type: globalconfig_devportal
config: |
{
"service_docs" : [
{"service" : "namespace2.httpbin", "doc_url" : "https://httpbin.org/spec.json" },
{"service" : "namespace2.petstore","doc_url" : "https://petstore.swagger.io/v2/swagger.json" },
{"service" : "namespace2.k8s-1-dot-24-api","doc_url" : "https://raw.githubusercontent.com/kubernetes/kubernetes/release-1.24/api/openapi-spec/swagger.json" }
]
}
Similarly a GlobalConfig
to enable/disable mesh integration (like Linkerd and istio) and specify global TLS options can be specified like this -
---
apiVersion: enroute.saaras.io/v1
kind: GlobalConfig
metadata:
labels:
app: web
name: enable-linkerd
namespace: default
spec:
name: linkerd-global-config
type: globalconfig_globals
config: |
{
"linkerd_enabled": true,
"linkerd_header_disabled": false,
"linkerd_servicemode_disabled": false,
"istio_enabled": false,
"tlsContext" : { "alpnProtos" : ["http/1.1"] }
}
GlobalConfig to Envoy configuration
GlobalConfig
configuration influences multiple parts of Envoy config
Complete GlobalConfig CRD Spec
A complete description of the GlobalConfig
CRD spec is located in github