{"record":{"id":"79bd90317d135d11","repo":"quarkusio/quarkus","slug":"cannot-find-the-proxy-registry-configuration-s","errorCode":null,"errorMessage":"Cannot find the Proxy registry configuration '%s'","messagePattern":"Cannot find the Proxy registry configuration '(.+?)'","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"extensions/oidc-common/runtime/src/main/java/io/quarkus/oidc/common/runtime/OidcCommonUtils.java","lineNumber":385,"sourceCode":"\n    public static long getConnectionDelayInMillis(OidcCommonConfig oidcConfig) {\n        final long connectionDelayInSecs = getConnectionDelay(oidcConfig);\n        final long connectionRetryCount = connectionDelayInSecs > 1 ? connectionDelayInSecs / 2 : 1;\n        if (connectionRetryCount > 1) {\n            LOG.infof(\"Connecting to OpenId Connect Provider for up to %d times every 2 seconds\", connectionRetryCount);\n        }\n        return connectionDelayInSecs * 1000;\n    }\n\n    public static Optional<ProxyOptions> toProxyOptions(OidcCommonConfig.Proxy oidcProxyConfig,\n            ProxyConfigurationRegistry proxyConfigurationRegistry) {\n        if (oidcProxyConfig.proxyConfigurationName().isEmpty()) {\n            return Optional.empty();\n        }\n\n        var maybeProxyConfig = proxyConfigurationRegistry.get(oidcProxyConfig.proxyConfigurationName());\n        if (maybeProxyConfig.isEmpty()) {\n            throw new ConfigurationException(\"Cannot find the Proxy registry configuration '%s'\"\n                    .formatted(oidcProxyConfig.proxyConfigurationName().get()));\n        }\n\n        var proxyRegistryConfig = maybeProxyConfig.get().assertHttpType();\n        final String hostProperty = proxyRegistryConfig.host();\n        final int portProperty = proxyRegistryConfig.port();\n        final Optional<String> usernameProperty = proxyRegistryConfig.username();\n        final Optional<String> passwordProperty = proxyRegistryConfig.password();\n        final Optional<Duration> proxyConnectTimeoutProperty = proxyRegistryConfig.proxyConnectTimeout();\n        if (proxyRegistryConfig.nonProxyHosts().isPresent()) {\n            throw new ConfigurationException(\n                    \"The OIDC proxy configuration currently does not support the 'quarkus.proxy.\\\"\"\n                            + oidcProxyConfig.proxyConfigurationName().get() + \"\\\".non-proxy-hosts' property\");\n        }\n\n        JsonObject jsonOptions = new JsonObject();\n        // Vert.x Client currently does not expect a host having a scheme but keycloak-authorization expects scheme and host.\n        // Having a dedicated scheme property is probably better, but since it is property is not taken into account in Vertx Client","sourceCodeStart":367,"sourceCodeEnd":403,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/oidc-common/runtime/src/main/java/io/quarkus/oidc/common/runtime/OidcCommonUtils.java#L367-L403","documentation":"Quarkus lets you reference a named proxy configuration registered at build time via quarkus.oidc.proxy... name/registry config. At startup, toProxyOptions looks the name up in the proxy configuration registry; if no registered proxy configuration with that name exists, startup fails with this message containing the requested name.","triggerScenarios":"oidcProxyConfig.proxyConfigurationName() is set to a name that proxyConfigurationRegistry.get(...) does not contain, when building the HTTP client options (via proxyOpt).","commonSituations":"Typo in the proxy configuration name; the @RegistryConfig proxy configuration block was removed or renamed; extension providing the proxy registration is missing so registry is empty; case-sensitivity mismatch in the name.","solutions":["Fix the name so it exactly matches a registered proxy configuration (check quarkus.oidc.proxy.* and the registry @RegistryConfig name)","Add the missing proxy registry configuration block that the name refers to","Remove the proxy configuration name property if no proxy is needed","Confirm the build-time config supplying the registry entries is present in the current profile"],"exampleFix":"# before (references non-existent registry entry)\nquarkus.oidc.proxy.configuration-name=corp-proxy\n\n# after (register the configuration it points to)\nquarkus.oidc.proxy.configuration-name=corp-proxy\nquarkus.http.proxy... # or ensure the @RegistryConfig block named 'corp-proxy' exists","handlingStrategy":"validation","validationCode":"String proxyName = ConfigProvider.getConfig().getOptionalValue(\"quarkus.oidc.proxy.configuration-name\", String.class).orElse(null);\nif (proxyName != null && !KNOWN_PROXY_REGISTRY_NAMES.contains(proxyName))\n    throw new IllegalStateException(\"Unknown proxy registry configuration: \" + proxyName);","typeGuard":null,"tryCatchPattern":"try {\n    start();\n} catch (ConfigurationException e) {\n    if (e.getMessage().startsWith(\"Cannot find the Proxy registry configuration\")) log.error(\"Register or correct the proxy configuration name\");\n    throw e;\n}","preventionTips":["Centralize proxy registry names as constants shared between the registry block and the reference","Rename the registry entry and its references in the same change","Confirm the build-time config profile providing the registry entry is active"],"tags":["quarkus","oidc","proxy","configuration"],"backgroundTag":"unresolved-config-reference","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}