You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/06/16 13:57:34 UTC

[GitHub] [apisix] hf400159 commented on a diff in pull request #7262: docs: Add configuration docs for apisix and env variables

hf400159 commented on code in PR #7262:
URL: https://github.com/apache/apisix/pull/7262#discussion_r899084603


##########
docs/en/latest/configuration/config-yaml.md:
##########
@@ -0,0 +1,556 @@
+---
+title: Configuration Options
+---
+
+<!--
+#
+# 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.
+#
+-->
+
+This page describes the configuration options defined in the `conf/config-default.yaml`.
+
+## `apisix`
+
+ <table>
+        <thead>
+            <tr>
+                <th>Config Options</th>
+                <th>Type</th>
+                <th>Default Value</th>
+                <th>Description</th>
+                <th>Remarks</th>
+            </tr>
+        </thead>
+        <tbody>
+            <tr>
+                <td rowspan=4>
+                    <code>admin_api_mtls
+                        <ul>
+                            <li>admin_ssl_cert</li>
+                            <li>admin_ssl_cert_jey</li>
+                            <li>admin_ssl_ca_cert</li>
+                        </ul>
+                    </code>
+                </td>
+                <td colspan=3>Depends on <code>port_admin</code> and <code>https_admin</code>.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Path of you self-signed server side certificate.</td>
+            </tr>
+            <tr>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Path of your self-signed server side key.</td>
+            </tr>
+            <tr>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Path of your self-signed CA certificate. The CA is used to sign all admin api callers certificates.
+                </td>
+            </tr>
+            <tr>
+                <td rowspan=3><code>admin_listen
+            <ul><li>ip</li>
+            <li>port</li>
+            </ul>
+            </code>
+                </td>
+                <td></td>
+                <td></td>
+                <td>Use a separate configuration for admin to listen on.</td>
+                <td rowspan=3>Disabled by default</td>
+            </tr>
+            <tr>
+                <td>IP address</td>
+                <td>127.0.0.1</td>
+                <td>Specific IP, if not set, then the default value is 0.0.0.0</td>
+            </tr>
+            <tr>
+                <td>port</td>
+                <td>9180</td>
+                <td>Specific port</td>
+            </tr>
+            <tr>
+                <td><code>allow_admin</code></td>
+                <td>IP list</td>
+                <td>127.0.0.0/24</td>
+                <td>Allow admins only on specified addresses. Allows on all addresses when not IP list is set.</td>
+                <td>Put valid IP addresses only. For IPv6 <code>::/64</code>.</td>
+            </tr>
+            <tr>
+                <td><code>config_center</code></td>
+                <td>string</td>
+                <td>etcd</td>
+                <td>Use config from yaml file or store config to etcd.</td>
+                <td>Possible values: <em>etcd</em> or <em>yaml</em></td>
+            </tr>
+            <tr>
+                <td rowspan=3>
+                    <code>control
+                        <ul>
+                            <li>ip</li>
+                            <li>port</li>
+                        </ul>
+                    </code>
+                </td>
+                <td colspan=3></td>
+                <td rowspan=3>Disabled by default</td>
+            </tr>
+            <tr>
+                <td>IP address</td>
+                <td>127.0.0.1</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>port</td>
+                <td>9090</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>delete_uri_tail_slash</code></td>
+                <td>boolean</td>
+                <td>false</td>
+                <td>Enabling this will remove any terminating <strong>/</strong> from the end of the URI.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>disable_sync_configuration_during_start</code></td>
+                <td>boolean</td>
+                <td>false</td>
+                <td></td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>dns_resolver</code></td>
+                <td>IP addresses</td>
+                <td>1.1.1.1, 8.8.8.8</td>

Review Comment:
   `1.1.1.1` is not a DNS address.



##########
docs/en/latest/configuration/config-yaml.md:
##########
@@ -0,0 +1,556 @@
+---
+title: Configuration Options
+---
+
+<!--
+#
+# 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.
+#
+-->
+
+This page describes the configuration options defined in the `conf/config-default.yaml`.
+
+## `apisix`
+
+ <table>
+        <thead>
+            <tr>
+                <th>Config Options</th>
+                <th>Type</th>
+                <th>Default Value</th>
+                <th>Description</th>
+                <th>Remarks</th>
+            </tr>
+        </thead>
+        <tbody>
+            <tr>
+                <td rowspan=4>
+                    <code>admin_api_mtls
+                        <ul>
+                            <li>admin_ssl_cert</li>
+                            <li>admin_ssl_cert_jey</li>
+                            <li>admin_ssl_ca_cert</li>
+                        </ul>
+                    </code>
+                </td>
+                <td colspan=3>Depends on <code>port_admin</code> and <code>https_admin</code>.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Path of you self-signed server side certificate.</td>
+            </tr>
+            <tr>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Path of your self-signed server side key.</td>
+            </tr>
+            <tr>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Path of your self-signed CA certificate. The CA is used to sign all admin api callers certificates.
+                </td>
+            </tr>
+            <tr>
+                <td rowspan=3><code>admin_listen
+            <ul><li>ip</li>
+            <li>port</li>
+            </ul>
+            </code>
+                </td>
+                <td></td>
+                <td></td>
+                <td>Use a separate configuration for admin to listen on.</td>
+                <td rowspan=3>Disabled by default</td>
+            </tr>
+            <tr>
+                <td>IP address</td>
+                <td>127.0.0.1</td>
+                <td>Specific IP, if not set, then the default value is 0.0.0.0</td>
+            </tr>
+            <tr>
+                <td>port</td>
+                <td>9180</td>
+                <td>Specific port</td>
+            </tr>
+            <tr>
+                <td><code>allow_admin</code></td>
+                <td>IP list</td>
+                <td>127.0.0.0/24</td>
+                <td>Allow admins only on specified addresses. Allows on all addresses when not IP list is set.</td>
+                <td>Put valid IP addresses only. For IPv6 <code>::/64</code>.</td>
+            </tr>
+            <tr>
+                <td><code>config_center</code></td>
+                <td>string</td>
+                <td>etcd</td>
+                <td>Use config from yaml file or store config to etcd.</td>
+                <td>Possible values: <em>etcd</em> or <em>yaml</em></td>
+            </tr>
+            <tr>
+                <td rowspan=3>
+                    <code>control
+                        <ul>
+                            <li>ip</li>
+                            <li>port</li>
+                        </ul>
+                    </code>
+                </td>
+                <td colspan=3></td>
+                <td rowspan=3>Disabled by default</td>
+            </tr>
+            <tr>
+                <td>IP address</td>
+                <td>127.0.0.1</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td>port</td>
+                <td>9090</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>delete_uri_tail_slash</code></td>
+                <td>boolean</td>
+                <td>false</td>
+                <td>Enabling this will remove any terminating <strong>/</strong> from the end of the URI.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>disable_sync_configuration_during_start</code></td>
+                <td>boolean</td>
+                <td>false</td>
+                <td></td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>dns_resolver</code></td>
+                <td>IP addresses</td>
+                <td>1.1.1.1, 8.8.8.8</td>
+                <td>Set DNS resolvers, reads from <code>/etc/resolv.conf</code> if not set</td>
+                <td>Disabled by default</td>
+            </tr>
+            <tr>
+                <td><code>dns_resolver_valid</code></td>
+                <td>integer</td>
+                <td>30</td>
+                <td>If set, override the TTL of the valid records.</td>
+                <td>In seconds. Disabled by default</td>
+            </tr>
+            <tr>
+                <td><code>enable_admin</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td>Enables the admin mode.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_admin_cors</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td>Enables the CORS response headers.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_control</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td></td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_dev_mode</code></td>
+                <td>boolean</td>
+                <td>false</td>
+                <td>Sets nginx <code>worker_processes</code> to 1 when set true</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_ipv6</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td></td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_resolv_search_opt</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td>Enables search option in resolv.conf</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_reuseport</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td>Enables nginx <code>SO_REUSEPORT</code> switch if set to true.</td>
+                <td></td>
+            </tr>
+            <tr>
+                <td><code>enable_server_tokens</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td>Enables the APISIX version number in the Server header.</td>
+            </tr>
+            <tr>
+                <td><code>extra_lua_cpath</code></td>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Load third party Lua code by extending <code>lua_package_cpath</code></td>
+                <td>Can override builtin code.</td>
+            </tr>
+            <tr>
+                <td><code>extra_lua_path</code></td>
+                <td>string</td>
+                <td>&quot;&quot;</td>
+                <td>Load third party Lua code by extending <code>lua_package_path</code></td>
+                <td>Can override builtin code.</td>
+            </tr>
+            <tr>
+                <td><code>https_admin</code></td>
+                <td>boolean</td>
+                <td>true</td>
+                <td> Enables HTTPS when using a separate port for the Admin API.</td>
+                <td>Admin API will use <em>conf/apisix_admin_api.crt</em> and <em>conf/apisix_admin_api.key</em> as
+                    HTTPS certificate.
+                </td>
+            </tr>
+            <tr>
+                <td><code>lua_module_hook</code></td>
+                <td>string</td>
+                <td>N/A</td>
+                <td>The hook module used to inject third party code.</td>
+                <td>Disabled by default</td>
+            </tr>
+            <tr>
+                <td rowspan=4><code>node_listen</code>
+                    <ul>
+                        <li><code>ip</code></li>
+                        <li><code>enable_http2</code></li>
+                        <li><code>port</code></li>
+                    </ul>
+                </td>
+                <td>port</td>
+                <td>9080</td>
+                <td>APISIX listening port</td>
+                <td rowspan=4> Accepts a port value in default mode e.g.
+                    <br>
+                    <code> node_listen: 9080</code><br>
+                    Can also accept an array of options e.g.<br>
+                    <code>
+                        <pre>node_listen:<br> - port: 9081<br>   enable_http2: true<br>   ip: 127.0.0.2</pre>

Review Comment:
   There are strange formats here.
   ![image](https://user-images.githubusercontent.com/97138894/174083635-c1bec85d-10c3-41ba-9690-81ccef01cffd.png)
   



##########
docs/en/latest/configuration/configuration.md:
##########
@@ -0,0 +1,37 @@
+---
+title: Configure Apache APISIX
+---
+
+<!--
+#
+# 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.
+#
+-->
+
+Apache APISIX is highly customizable with a lot of configuration options. By default it uses the [`conf/config-default.yaml`](https://github.com/apache/apisix/blob/master/conf/config-default.yaml) file for configuration. The configuration defined in this file can be overridden by adding the desired configuration to the `conf/config.yaml` file, for any unconfigured options it will fallback to default configurations. Given below are the types of the configuration file and their uses.
+
+| File Name                  | Description                                                                       |
+| -------------------------- | --------------------------------------------------------------------------------- |
+| `conf/config-default.yaml` | Default configuration, **Do not edit this file**                                  |
+| `conf/config.yaml`         | Add your desired configuration to this file, overrides `conf/config-default.yaml` |
+| `conf/apisix.yaml`         |                                                                                   |
+| `conf/debug.yaml`          |                                                                                   |

Review Comment:
   Debug Mode configuration file. https://apisix.apache.org/docs/apisix/architecture-design/debug-mode



##########
docs/en/latest/configuration/configuration.md:
##########
@@ -0,0 +1,37 @@
+---
+title: Configure Apache APISIX
+---
+
+<!--
+#
+# 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.
+#
+-->
+
+Apache APISIX is highly customizable with a lot of configuration options. By default it uses the [`conf/config-default.yaml`](https://github.com/apache/apisix/blob/master/conf/config-default.yaml) file for configuration. The configuration defined in this file can be overridden by adding the desired configuration to the `conf/config.yaml` file, for any unconfigured options it will fallback to default configurations. Given below are the types of the configuration file and their uses.
+
+| File Name                  | Description                                                                       |
+| -------------------------- | --------------------------------------------------------------------------------- |
+| `conf/config-default.yaml` | Default configuration, **Do not edit this file**                                  |
+| `conf/config.yaml`         | Add your desired configuration to this file, overrides `conf/config-default.yaml` |
+| `conf/apisix.yaml`         |                                                                                   |

Review Comment:
   ```suggestion
   | `conf/apisix.yaml`         |  Configuration file is required for APISIX in standalone mode.    |
   ```



-- 
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-unsubscribe@apisix.apache.org

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