{"record":{"id":"9b9139e0adfd4307","repo":"quarkusio/quarkus","slug":"proxy-configuration-name-none-has-a-special-mean","errorCode":null,"errorMessage":"Proxy configuration name `none` has a special meaning and configuring it via quarkus.proxy.\"none\".* options is not possible. Remove all quarkus.proxy.\"none\".* keys from your configuration.","messagePattern":"Proxy configuration name `none` has a special meaning and configuring it via quarkus\\.proxy\\.\"none\"\\.\\* options is not possible\\. Remove all quarkus\\.proxy\\.\"none\"\\.\\* keys from your configuration\\.","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"extensions/proxy-registry/runtime/src/main/java/io/quarkus/proxy/runtime/ProxyConfigurationRecorder.java","lineNumber":34,"sourceCode":"\n@Recorder\npublic class ProxyConfigurationRecorder {\n    private final RuntimeValue<ProxyConfig> runtimeConfig;\n\n    public ProxyConfigurationRecorder(RuntimeValue<ProxyConfig> runtimeConfig) {\n        this.runtimeConfig = runtimeConfig;\n    }\n\n    public Supplier<ProxyConfigurationRegistry> init() {\n        ProxyConfig proxyConfig = runtimeConfig.getValue();\n\n        Optional<ProxyConfiguration> defaultConfig = build(\"quarkus.proxy.\", proxyConfig.defaultProxyConfig());\n\n        Map<String, ProxyConfiguration> namedConfigs = new HashMap<>();\n        for (Map.Entry<String, ProxyConfig.NamedProxyConfig> entry : proxyConfig.namedProxyConfigs().entrySet()) {\n            String name = entry.getKey();\n            if (ProxyConfigurationRegistry.NONE.equals(name)) {\n                throw new IllegalStateException(\"Proxy configuration name `none` has a special meaning and configuring it\"\n                        + \" via quarkus.proxy.\\\"none\\\".* options is not possible. Remove all quarkus.proxy.\\\"none\\\".* keys\"\n                        + \" from your configuration.\");\n            }\n\n            Optional<ProxyConfiguration> namedConfig = build(\"quarkus.proxy.\\\"\" + name + \"\\\".\", entry.getValue());\n            if (namedConfig.isPresent()) {\n                namedConfigs.put(name, namedConfig.get());\n            }\n        }\n\n        ProxyConfigurationRegistry registry = new ProxyConfigurationRegistryImpl(namedConfigs, defaultConfig);\n\n        return new Supplier<ProxyConfigurationRegistry>() {\n            @Override\n            public ProxyConfigurationRegistry get() {\n                return registry;\n            }\n        };","sourceCodeStart":16,"sourceCodeEnd":52,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/proxy-registry/runtime/src/main/java/io/quarkus/proxy/runtime/ProxyConfigurationRecorder.java#L16-L52","documentation":"The name 'none' is reserved by the Quarkus proxy registry to mean 'no proxy'. During startup, ProxyConfigurationRecorder.init() rejects any user-defined proxy configuration named 'none' with an IllegalStateException, because it would conflict with that sentinel meaning.","triggerScenarios":"Defining configuration keys like quarkus.proxy.\"none\".host=... in application.properties (or env vars such as QUARKUS_PROXY__NONE__HOST), so a named proxy config keyed 'none' exists at startup.","commonSituations":"Copy-pasting proxy config blocks and leaving the name 'none'; assuming 'none' disables the proxy when it is actually reserved; environment-specific configs adding a none entry.","solutions":["Remove all quarkus.proxy.\"none\".* keys from application.properties (and env/system properties)","Rename the configuration to a non-reserved name, e.g. quarkus.proxy.\"myproxy\".*","To disable proxying for certain hosts, use the non-proxy-hosts setting of an existing proxy config instead"],"exampleFix":"// before\nquarkus.proxy.\"none\".host=proxy.example.com\nquarkus.proxy.\"none\".port=8080\n// after\nquarkus.proxy.\"corporate\".host=proxy.example.com\nquarkus.proxy.\"corporate\".port=8080","handlingStrategy":"validation","validationCode":"// config audit before startup\nSet<String> names = config.getPropertyNames()\n    .map(p -> p.startsWith(\"quarkus.proxy.\") ? p : null)\n    .filter(Objects::nonNull)\n    .collect(java.util.stream.Collectors.toSet());\nif (names.stream().anyMatch(p -> p.startsWith(\"quarkus.proxy.\\\"none\\\".\") || p.startsWith(\"quarkus.proxy.none.\"))) {\n    throw new IllegalArgumentException(\"Reserved proxy name 'none' must not be configured\");\n}","typeGuard":"static boolean isReservedProxyName(String name) {\n    return ProxyConfigurationRegistry.NONE.equals(name);\n}","tryCatchPattern":"try {\n    application.start(); // or trigger recorder\n} catch (IllegalStateException e) {\n    if (e.getMessage() != null && e.getMessage().contains(\"`none`\")) {\n        throw new IllegalStateException(\"Remove quarkus.proxy.\\\"none\\\".* keys from configuration\", e);\n    }\n    throw e;\n}","preventionTips":["Never name a proxy config 'none'","Grep config files for quarkus.proxy.\"none\" before builds","Check env vars QUARKUS_PROXY__NONE__* in CI/containers","Rename intentional 'none' blocks to real names"],"tags":["proxy","configuration","reserved-name","startup"],"backgroundTag":"reserved-config-name","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"}