blob: b6ec625eb1e53dc1ad410fefb3cf07c6b0d0f4f8 [file] [log] [blame]
# 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.
http_listen: ":8080" # the HTTP Server listen address, default is ":8080"
enable_profiling: true # enable profiling via web interfaces
# host:port/debug/pprof, default is true.
# 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.
app_namespaces: ["*"] # namespace list that controller will watch for resources,
# by default all namespaces (represented by "*") are watched.
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/v2alpha1" # the supported apisixroute api group version, can be
# "apisix.apache.org/v1" or "apisix.apache.org/v2alpha1",
# default is "apisix.apache.org/v2alpha1".
# APISIX related configurations.
apisix:
base_url: "http://127.0.0.1:9080/apisix/admin" # (Deprecated, use default_cluster_base_url) the APISIX admin api / manager api
# base url, it's required.
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
admin_key: "" # (Deprecated, use 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_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.