Problem:
When GridNetwork.spec.gatewayRefs[].consumerConfig.enabled is set to true, the operator generates a complete praxis.yaml with inline intelligent_route candidates and load balancer clusters. However, the Praxis intelligent_route filter does not support inline candidates (it only reads from an overlay_file on disk). The generated consumer config causes a silent 403 because intelligent_route never sets the target cluster in the request context.
Workaround:
Set consumerConfig.enabled: false (or omit it). The operator will then generate routing-overlay.json and routing-config.json keys in the ConfigMap. Write a separate hand-crafted edge Praxis config that references the overlay file via overlay_file:
filter: intelligent_route
overlay_file: /etc/praxis/routing/routing-overlay.json
Mount both ConfigMaps (hand-written config + operator overlay) as separate volumes in the edge gateway pod.
Suggested fix:
Either make the consumer config mode generate a format that Praxis supports, or document that consumerConfig requires a Praxis build that supports inline candidates.
Problem:
When
GridNetwork.spec.gatewayRefs[].consumerConfig.enabledis set totrue, the operator generates a completepraxis.yamlwith inlineintelligent_routecandidates and load balancer clusters. However, the Praxisintelligent_routefilter does not support inline candidates (it only reads from anoverlay_fileon disk). The generated consumer config causes a silent 403 becauseintelligent_routenever sets the target cluster in the request context.Workaround:
Set
consumerConfig.enabled: false(or omit it). The operator will then generaterouting-overlay.jsonandrouting-config.jsonkeys in the ConfigMap. Write a separate hand-crafted edge Praxis config that references the overlay file viaoverlay_file:Mount both ConfigMaps (hand-written config + operator overlay) as separate volumes in the edge gateway pod.
Suggested fix:
Either make the consumer config mode generate a format that Praxis supports, or document that
consumerConfigrequires a Praxis build that supports inline candidates.