Light Dark Auto

Proxy

Meta-object containing others

proxy

Each proxy is the sum total of all configurations that will be sent to each Grey Matter Proxy. This includes the listeners, domains, routes, shared_rules, and clusters. Each proxy object may be mapped to 0 or more physical instances; each of which will share the exact same configurations.

Features

  • Configure active filters
  • Directly set listeners

Example Object

{
    "proxy_key": "catalog-proxy",
    "zone_key": "default-zone",
    "name": "catalog",
    "domain_keys": [
        "catalog"
    ],
    "listener_keys": [
        "catalog-listener"
    ],
    "listeners": null,
    "active_proxy_filters": [
        "gm.metrics",
        "gm.observables",
        "envoy.rbac"
    ],
    "proxy_filters": {
        "gm_impersonation": {},
        "gm_observables": {
            "emitFullResponse": true,
            "useKafka": true,
            "topic": "catalog",
            "eventTopic": "observables",
            "kafkaServerConnection": "kafka-default.fabric.svc:9092"
        },
        "gm_oauth": {},
        "gm_inheaders": {},
        "gm_listauth": {},
        "gm_metrics": {
            "metrics_port": 8081,
            "metrics_host": "0.0.0.0",
            "metrics_dashboard_uri_path": "/metrics",
            "metrics_prometheus_uri_path": "/prometheus",
            "prometheus_system_metrics_interval_seconds": 15,
            "metrics_ring_buffer_size": 4096,
            "metrics_key_function": "depth"
        },
        "envoy_rbac": {
            "rules": {
                "action": 0,
                "policies": {
                    "1": {
                        "permissions": [
                            {
                                "any": true
                            }
                        ],
                        "principals": [
                            {
                                "header": {
                                    "name": "User_DN",
                                    "exact_match": "CN=local.user,OU=Engineering,O=Decipher Technology Studios,=Alexandria,=Virginia,C=US"
                                }
                            }
                        ]
                    },
                    "2": {
                        "permissions": [
                            {
                                "header": {
                                    "name": ":method",
                                    "exact_match": "GET"
                                }
                            }
                        ],
                        "principals": [
                            {
                                "any": true
                            }
                        ]
                    }
                }
            }
        }
    }
}

More Info