{"record":{"id":"8cccd11cb84a643a","repo":"quarkusio/quarkus","slug":"proxy-configuration-name-was-specified-but-i","errorCode":null,"errorMessage":"Proxy configuration '${name}' was specified, but it does not exist.","messagePattern":"Proxy configuration '(.+?)' was specified, but it does not exist\\.","errorType":"exception","errorClass":"ConfigurationException","httpStatus":null,"severity":"critical","filePath":"extensions/smallrye-graphql-client/runtime/src/main/java/io/quarkus/smallrye/graphql/client/runtime/SmallRyeGraphQLClientRecorder.java","lineNumber":278,"sourceCode":"                    throw new ConfigurationException(\"TLS configuration '\" + quarkusConfig.tlsConfigurationName().get()\n                            + \"' was specified, but no TLS configuration registry could be found.\");\n                }\n            }\n        }\n        return Optional.empty();\n    }\n\n    private Optional<ProxyConfiguration> resolveProxyConfiguration(GraphQLClientConfig clientConfig) {\n        if (Arc.container() != null) {\n            ProxyConfigurationRegistry proxyConfigurationRegistry = Arc.container().select(ProxyConfigurationRegistry.class)\n                    .orNull();\n            if (proxyConfigurationRegistry != null) {\n                if (clientConfig.proxyConfigurationName().isPresent()) {\n                    // explicit proxy config\n                    Optional<ProxyConfiguration> namedConfig = proxyConfigurationRegistry\n                            .get(clientConfig.proxyConfigurationName());\n                    if (namedConfig.isEmpty()) {\n                        throw new ConfigurationException(\"Proxy configuration '\" + clientConfig.proxyConfigurationName().get()\n                                + \"' was specified, but it does not exist.\");\n                    }\n                    return namedConfig;\n                } else {\n                    // no explicit proxy config -> get the default proxy configuration if it exists\n                    return proxyConfigurationRegistry.get(Optional.empty());\n                }\n            } else {\n                if (clientConfig.proxyConfigurationName().isPresent()) {\n                    throw new ConfigurationException(\"Proxy configuration '\" + clientConfig.proxyConfigurationName().get()\n                            + \"' was specified, but no Proxy configuration registry could be found.\");\n                }\n            }\n        }\n        return Optional.empty();\n    }\n\n    record TlsClientInfo(String tlsConfigName, HttpClient httpClient) {","sourceCodeStart":260,"sourceCodeEnd":296,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/smallrye-graphql-client/runtime/src/main/java/io/quarkus/smallrye/graphql/client/runtime/SmallRyeGraphQLClientRecorder.java#L260-L296","documentation":"At build time the GraphQL client recorder resolves the proxy configuration named by clientConfig.proxyConfigurationName through the proxy configuration registry. If the registry has no entry under that name, a ConfigurationException is thrown and startup fails. The message placeholder ${name} is the configured proxy configuration name.","triggerScenarios":"quarkus.smallrye-graphql-client.<client>.proxy-configuration-name (or equivalent client config) is set to a name for which no proxy configuration is registered in the ProxyConfigurationRegistry.","commonSituations":"Typo in the proxy name; proxy defined only for another client/scope; proxy config section removed during refactor; environment-specific profiles defining the proxy in one profile but the name referenced globally.","solutions":["Define a proxy configuration registered under exactly that name in the registry","Fix or remove the proxy-configuration-name property","Remove the property entirely to use the default proxy configuration (if one is registered)"],"exampleFix":"// before\nquarkus.smallrye-graphql-client.my-client.proxy-configuration-name=corp-proxy\n// (no proxy named corp-proxy registered)\n\n// after — register it or use the default\nquarkus.smallrye-graphql-client.my-client.proxy-configuration-name=corporate-proxy\n// plus a registry entry named \"corporate-proxy\"","handlingStrategy":"validation","validationCode":"// Check the property before starting clients\nOptional<String> proxyName = ConfigProvider.getConfig()\n        .getOptionalValue(\"quarkus.smallrye-graphql-client.my-client.proxy-configuration-name\", String.class);\nproxyName.ifPresent(n -> {\n    if (!proxyRegistry.get(Optional.of(n)).isPresent()) {\n        throw new IllegalStateException(\"Proxy configuration '\" + n + \"' is not registered\");\n    }\n});","typeGuard":null,"tryCatchPattern":"try {\n    client.query(\"...\").execute();\n} catch (ConfigurationException e) {\n    if (e.getMessage().startsWith(\"Proxy configuration\")) {\n        throw new IllegalStateException(\"Registered proxy names must match proxy-configuration-name\", e);\n    }\n    throw e;\n}","preventionTips":["Centralize proxy names as constants shared with the registry registration code","Add a startup test asserting all referenced proxy names resolve","Document every registered proxy name next to its definition","Prefer the default proxy configuration when one global proxy suffices"],"tags":["proxy","configuration","startup-failure","quarkus"],"backgroundTag":"proxy-configuration-not-found","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}