| # 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. |
| |
| # log options |
| log_level: "info" # the error log level, default is info, optional values are: |
| # debug |
| # info |
| # warn |
| # error |
| # panic |
| # fatal |
| log_output: "stderr" # the output file path of error log, default is stderr, when |
| # the file path is "stderr" or "stdout", logs are marshalled |
| # plainly, which is more readable for human; otherwise logs |
| # are marshalled in JSON format, which can be parsed by |
| # programs easily. |
| |
| log_rotate_output_path: "" # rotate output path, the logs will be written in this file |
| log_rotation_max_size: 100 # rotate max size, max size in megabytes of log file before it get rotated. It defaults to 100 |
| log_rotation_max_age: 0 # rotate max age, max age of old log files to retain |
| log_rotation_max_backups: 0 # rotate max backups, max numbers of old log files to retain |
| |
| cert_file: "/etc/webhook/certs/cert.pem" # the TLS certificate file path. |
| key_file: "/etc/webhook/certs/key.pem" # the TLS key file path. |
| |
| http_listen: ":8080" # the HTTP Server listen address, default is ":8080" |
| https_listen: ":8443" # the HTTPS Server listen address, default is ":8443" |
| ingress_publish_service: "" # the controller will use the Endpoint of this Service to |
| # update the status information of the Ingress resource. |
| # The format is "namespace/svc-name" to solve the situation that |
| # the data plane and the controller are not deployed in the same namespace. |
| ingress_status_address: [] # when there is no available information on the Service |
| # used for publishing on the data plane, |
| # the static address provided here will be |
| # used to update the status information of Ingress. |
| # When ingress-publish-service is specified at the same time, ingress-status-address is preferred. |
| # For example, no available LB exists in the bare metal environment. |
| enable_profiling: true # enable profiling via web interfaces |
| # host:port/debug/pprof, default is true. |
| apisix-resource-sync-interval: "300s" # Default interval for synchronizing Kubernetes resources to APISIX |
| # Kubernetes related configurations. |
| kubernetes: |
| kubeconfig: "" # the Kubernetes configuration file path, default is |
| # "", so the in-cluster configuration will be used. |
| resync_interval: "6h" # how long should apisix-ingress-controller |
| # re-synchronizes with Kubernetes, default is 6h, |
| # and the minimal resync interval is 30s. |
| namespace_selector: [""] # namespace_selector represent basis for selecting managed namespaces. |
| # the field is support since version 1.4.0 |
| # For example, "apisix.ingress=watching", so ingress will watching the namespaces which labels "apisix.ingress=watching" |
| election_id: "ingress-apisix-leader" # the election id for the controller leader campaign, |
| # only the leader will watch and delivery resource changes, |
| # other instances (as candidates) stand by. |
| ingress_class: "apisix" # the class of an Ingress object is set using the field |
| # IngressClassName in Kubernetes clusters version v1.18.0 |
| # or higher or the annotation "kubernetes.io/ingress.class" |
| # (deprecated). |
| ingress_version: "networking/v1" # the supported ingress api group version, can be "networking/v1beta1" |
| # , "networking/v1" (for Kubernetes version v1.19.0 or higher), and |
| # "extensions/v1beta1", default is "networking/v1". |
| watch_endpointslices: false # whether to watch EndpointSlices rather than Endpoints. |
| |
| apisix_route_version: "apisix.apache.org/v2" # the supported apisixroute api group version. |
| # the latest version is "apisix.apache.org/v2". |
| |
| enable_gateway_api: false # whether to enable support for Gateway API. |
| # Note: This feature is currently under development and may not work as expected. |
| # It is not recommended to use it in a production environment. |
| # Before we announce support for it to reach Beta level or GA. |
| api_version: apisix.apache.org/v2 # the default value of API version is "apisix.apache.org/v2", support "apisix.apache.org/v2beta3" and "apisix.apache.org/v2". |
| |
| plugin_metadata_cm: plugin-metadata-config-map |
| # APISIX related configurations. |
| apisix: |
| admin_api_version: v3 # the APISIX admin API version. can be "v2" or "v3" |
| |
| default_cluster_base_url: "http://127.0.0.1:9080/apisix/admin" # The base url of admin api / manager api |
| # of the default APISIX cluster |
| |
| default_cluster_admin_key: "" # the admin key used for the authentication of admin api / manager api in the |
| # default APISIX cluster, by default this field is unset. |
| |
| default_cluster_name: "default" # name of the default APISIX cluster. |