ilya-tishonok opened a new issue, #11239:
URL: https://github.com/apache/apisix/issues/11239

   ### Current Behavior
   
   When running Apache APISIX in standalone mode, there seems to be an issue 
with the environment variable substitution mechanism where variables with a 
common prefix are not correctly recognized. This results in the wrong values 
being used for certain configuration settings.
   
   For example for configuration (```apisix.yaml```):
   ```yaml
   organizations_server:
     keepalive_pool: ${{ORGANIZATIONS_SERVER_KEEPALIVE_POOL}}
     keepalive_timeout: ${{ORGANIZATIONS_SERVER_KEEPALIVE_TIMEOUT}}
     keepalive: ${{ORGANIZATIONS_SERVER_KEEPALIVE}}
   ```
   
   and envs:
   ```ORGANIZATIONS_SERVER_KEEPALIVE_POOL=60000```
   ```ORGANIZATIONS_SERVER_KEEPALIVE_TIMEOUT=10000```
   ```ORGANIZATIONS_SERVER_KEEPALIVE=wrong_value```
   
   values for keepalive_pool and keepalive_timeout are incorrectly populated 
with the value of ORGANIZATIONS_SERVER_KEEPALIVE (i.e., ```wrong_value```).
   
   ### Expected Behavior
   
   Configuration values should be correctly populated according to their 
corresponding environment variables based on unique, fully matched variable 
names.
   
   ### Error Logs
   
   
![image](https://github.com/apache/apisix/assets/67690609/a7cea746-e88e-44ca-9c7f-121c748fcc7c)
   
   
   ### Steps to Reproduce
   
   1. Ensure basic config.yaml and apisix.yaml configurations are set up for 
APISIX in standalone mode.
   2. Modify the configuration to reference environment variables that share 
the same prefix but are intended for different settings. For example, include 
references to TEST_ENV_CORRECT and TEST_ENV in the configuration as follows:
   ```yaml
   example_config:
     correct_value: ${{TEST_ENV_CORRECT}}
     base_value: ${{TEST_ENV}}
   ```
   3. Set the environment variables to different values:
   ```TEST_ENV_CORRECT=expected_value```
   ```TEST_ENV=base_value```
   4. Start APISIX.
   
   ### Environment
   
   - Docker image: apache/apisix:3.8.0-debian


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to