用途:读取并校验 Omni Gateway(MuleSoft Flex Gateway)conf.d 目录中的 YAML 配置。当配置变更后网关返回意外的 4xx/5xx 错误时使用。
配置文件位置:Linux(systemd)为 /usr/local/share/mulesoft/flex-gateway/conf.d/;Docker 通过 -v <host-path>:/usr/local/share/mulesoft/flex-gateway/conf.d 挂载;Kubernetes 用 ConfigMap 或 PV 挂载到同一内部路径。每个文件可含一个或多个以 ---- 分隔的 YAML 文档。
主要能力:先解析并清点所有 .yaml/.yml 文件中的文档,列出文件、文档序号、apiVersion、kind、名称、命名空间与是否可解析;随后做逐资源结构校验(apiVersion 必须为 gateway.mulesoft.com/v1alpha1 或 v1beta1,kind 须为 7 种已知类型之一,metadata.name 非空,各 kind 必填字段齐全,Configuration 的 spec 只能含一个子键,circuitBreaker/tracing 必须用 v1beta1);检查 ApiInstance 路由方式(内联 services 与独立 Service+route PolicyBinding 两种,不可混用于同一 ApiInstance)、地址是否绑定 0.0.0.0;做跨引用检查(PolicyBinding 的 targetRef 与 policyRef 是否存在、端口冲突、Contract.spec.apiId 是否匹配 ApiInstance、Extension 链能否解析);检查 Service 地址(HTTPS 是否显式端口、h2:// 上游、localhost 仅限同主机部署);并按子类型检查 Configuration(Redis 地址 host:port、TLS 最低版本、日志级别、forwardProxy 明文凭据等)。最后输出结构化报告,含文件清单、结构问题、路由与策略问题、服务地址问题、配置问题、建议修复与总体状态,区分硬错误与警告。
限制:仅依据资料中列出的规则做静态校验,不保证覆盖运行时全部行为;未知 kind 或未知 policy 名称只作为警告处理;部分检查项(如 Secret 是否为 base64)为启发式判断。资料未提供安装步骤、价格或平台支持细节。