thechromosomes opened a new issue, #11464:
URL: https://github.com/apache/apisix/issues/11464

   ### Current Behavior
   
   I am using a Docker setup to run APISIX alongside the APISIX Dashboard. 
While I have successfully enabled several plugins through the APISIX Dashboard 
configuration file, I have encountered an issue where certain plugins, such as 
the batch-request plugin, are not functioning as expected.
   
   However, if I move the plugin configuration directly into the APISIX 
configuration file, the plugin works correctly, but it does not appear in the 
APISIX Dashboard.
   
   
   REF: https://github.com/apache/apisix-docker/tree/master/example
   
   ### Expected Behavior
   
   The batch-request plugin should function correctly when configured through 
the APISIX Dashboard, and it should be visible within the Dashboard interface.
   
   Actual Behavior:
   The batch-request plugin does not work when configured through the APISIX 
Dashboard but works when configured directly in the APISIX configuration file. 
Additionally, the plugin does not appear in the Dashboard when configured 
directly in APISIX.
   
   ### Error Logs
   
   NA
   
   ### Steps to Reproduce
   
   Configure the batch-request plugin in the APISIX Dashboard configuration 
file.
   Start the Docker containers for APISIX and the APISIX Dashboard.
   Attempt to use the batch-request plugin and observe that it is not 
functioning.
   Move the batch-request plugin configuration to the APISIX configuration file.
   Restart the Docker containers.
   Note that the batch-request plugin now works, but it is not visible in the 
APISIX Dashboard.
   
   ### Environment
   
   APISIX version: 3.9.0
   Operating system: Linux
   OpenResty / Nginx version: openresty/1.25.3.1
   etcd version: 3.5.0
   APISIX Dashboard version: 3.0.1
   keycloak version: 25.0.1
   
   ```
   
   DASHBORAD CONFIG.YML
   #
   # Licensed to the Apache Software Foundation (ASF) under one or more
   # contributor license agreements.  See the NOTICE file distributed with
   # this work for additional information regarding copyright ownership.
   # The ASF licenses this file to You under the Apache License, Version 2.0
   # (the "License"); you may not use this file except in compliance with
   # the License.  You may obtain a copy of the License at
   #
   #     http://www.apache.org/licenses/LICENSE-2.0
   #
   # Unless required by applicable law or agreed to in writing, software
   # distributed under the License is distributed on an "AS IS" BASIS,
   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   # See the License for the specific language governing permissions and
   # limitations under the License.
   #
   
   conf:
     listen:
       host: 0.0.0.0 # `manager api` listening ip or host name
       port: 9000 # `manager api` listening port
     allow_list: # If we don't set any IP list, then any IP access is allowed 
by default.
       - 0.0.0.0/0
     etcd:
       endpoints: # supports defining multiple etcd host addresses for an etcd 
cluster
         - "http://etcd:2378";
           # yamllint disable rule:comments-indentation
           # etcd basic auth info
       # username: "root"    # ignore etcd username if not enable etcd auth
       # password: "123456"  # ignore etcd password if not enable etcd auth
       mtls:
         key_file: "" # Path of your self-signed client side key
         cert_file: "" # Path of your self-signed client side cert
         ca_file: "" # Path of your self-signed ca cert, the CA is used to sign 
callers' certificates
       # prefix: /apisix     # apisix config's prefix in etcd, /apisix by 
default
     log:
       error_log:
         level: warn # supports levels, lower to higher: debug, info, warn, 
error, panic, fatal
         file_path:
           logs/error.log # supports relative path, absolute path, standard 
output
           # such as: logs/error.log, /tmp/logs/error.log, /dev/stdout, 
/dev/stderr
       access_log:
         file_path:
           logs/access.log # supports relative path, absolute path, standard 
output
           # such as: logs/access.log, /tmp/logs/access.log, /dev/stdout, 
/dev/stderr
           # log example: 2020-12-09T16:38:09.039+0800  INFO    
filter/logging.go:46    /apisix/admin/routes/r1 {"status": 401, "host": 
"127.0.0.1:9000", "query": "asdfsafd=adf&a=a", "requestId": 
"3d50ecb8-758c-46d1-af5b-cd9d1c820156", "latency": 0, "remoteIP": "127.0.0.1", 
"method": "PUT", "errs": []}
   
     security:
       access_control_allow_origin: "https://grafana-test.hh-medic.com";
       access_control_allow_credentials: true # support using custom cors 
configration
       access_control_allow_headers: "Authorization"
       access_control-allow_methods: "*"
       x_frame_options: "deny"
       content_security_policy: "default-src 'self'; script-src 'self' 
'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' 
data:; frame-src *" # You can set frame-src to provide content for your grafana 
panel.
   
   authentication:
     secret:
       secret # secret for jwt token generation.
       # NOTE: Highly recommended to modify this value to protect `manager api`.
       # if it's default value, when `manager api` start, it will generate a 
random string to replace it.
     expire_time: 3600 # jwt token expire time, in second
     users: # yamllint enable rule:comments-indentation
       - username: admin # username and password for login `manager api`
         password: admin
       - username: user
         password: user
   
   plugins: # plugin list (sorted in alphabetical order)
     - api-breaker
     - authz-keycloak
     - basic-auth
     - batch-requests
     - consumer-restriction
     - cors
     - dubbo-proxy
     - echo
     - error-log-logger
     - example-plugin
     - fault-injection
     - grpc-transcode
     - hmac-auth
     - http-logger
     - ip-restriction
     - jwt-auth
     - kafka-logger
     - key-auth
     - limit-conn
     - limit-count
     - limit-req
     - log-rotate
     - node-status
     - openid-connect
     - prometheus
     - proxy-cache
     - proxy-mirror
     - proxy-rewrite
     - redirect
     - referer-restriction
     - request-id
     - request-validation
     - response-rewrite
     - serverless-post-function
     - serverless-pre-function
     - skywalking
     - sls-logger
     - syslog
     - tcp-logger
     - udp-logger
     - uri-blocker
     - wolf-rbac
     - zipkin
     - server-info
     - traffic-split
     - elasticsearch-logger
     - forward-auth
     - workflow
     - public-api
   
   ```
   
   ```
   APISIX CONFIG.YML
   #
   # Licensed to the Apache Software Foundation (ASF) under one or more
   # contributor license agreements.  See the NOTICE file distributed with
   # this work for additional information regarding copyright ownership.
   # The ASF licenses this file to You under the Apache License, Version 2.0
   # (the "License"); you may not use this file except in compliance with
   # the License.  You may obtain a copy of the License at
   #
   #     http://www.apache.org/licenses/LICENSE-2.0
   #
   # Unless required by applicable law or agreed to in writing, software
   # distributed under the License is distributed on an "AS IS" BASIS,
   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   # See the License for the specific language governing permissions and
   # limitations under the License.
   #
   
   apisix:
     node_listen: 9080 # APISIX listening port
     enable_ipv6: false
   
     enable_admin: true
     control:
       ip: "0.0.0.0"
       port: 9092
   
     ssl:
       ssl_trusted_certificate: /etc/ssl/certs/ca-certificates.crt
   
   deployment:
     admin:
       allow_admin: # 
https://nginx.org/en/docs/http/ngx_http_access_module.html#allow
         - 0.0.0.0/0 # We need to restrict ip access rules for security. 
0.0.0.0/0 is for test.
   
       admin_key:
         - name: "admin"
           key: XXXXXX #change while going to production
           role: admin # admin: manage all configuration data
   
         - name: "viewer"
           key: 4054f7cf07e344346cd3f287985e76a2
           role: viewer
   
     etcd:
       host: # it's possible to define multiple etcd hosts addresses of the 
same etcd cluster.
         - "http://etcd:2378"; # multiple etcd address
       prefix: "/apisix" # apisix configurations prefix
       timeout: 30 # 30 seconds
   
   plugin_attr:
     prometheus:
       export_addr:
         ip: "0.0.0.0"
         port: 9091
         
   
   ```


-- 
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