You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by kv...@apache.org on 2020/12/01 08:32:07 UTC

[apisix-docker] branch master updated: feat: modify docs for Apache APISIX 2.1 (#91)

This is an automated email from the ASF dual-hosted git repository.

kvn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-docker.git


The following commit(s) were added to refs/heads/master by this push:
     new e4f7c27  feat: modify docs for Apache APISIX 2.1 (#91)
e4f7c27 is described below

commit e4f7c273c45d1095a0eef13ab396dfbca5241c1c
Author: kv <gx...@163.com>
AuthorDate: Tue Dec 1 16:31:46 2020 +0800

    feat: modify docs for Apache APISIX 2.1 (#91)
    
    * change: modify docs for Apache APISIX 2.1
    
    * fix: rm repeat desc
    
    * fix: Distinguish between 1.x and 2.x
    
    * fix: keep the image from Apache APISIX is built from master in docker-compose
    
    * change: update default configuration in config.yaml
    
    * change(doc): remove the gen-config-yaml which is not needed any more
---
 .github/workflows/linux_alpine_ci.yaml |   2 +-
 .github/workflows/linux_ci.yml         |   2 +-
 README.md                              |  33 ++++++---
 example/README.md                      |   2 +-
 example/apisix_conf/config.yaml        | 128 ++-------------------------------
 example/docker-compose.yml             |   5 +-
 example/gen-config-yaml.sh             |  15 ----
 manual.md                              |   2 +-
 8 files changed, 39 insertions(+), 150 deletions(-)

diff --git a/.github/workflows/linux_alpine_ci.yaml b/.github/workflows/linux_alpine_ci.yaml
index 53c3876..aa46bab 100644
--- a/.github/workflows/linux_alpine_ci.yaml
+++ b/.github/workflows/linux_alpine_ci.yaml
@@ -12,4 +12,4 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - name: use docker-compose
-      run: cd ./example && sh gen-config-yaml.sh && docker-compose -f docker-compose-alpine.yml -p docker-apisix up -d
+      run: cd ./example && docker-compose -f docker-compose-alpine.yml -p docker-apisix up -d
diff --git a/.github/workflows/linux_ci.yml b/.github/workflows/linux_ci.yml
index aec9dd9..dc15281 100644
--- a/.github/workflows/linux_ci.yml
+++ b/.github/workflows/linux_ci.yml
@@ -12,4 +12,4 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - name: use docker-compose
-      run: cd ./example && sh gen-config-yaml.sh && docker-compose -p docker-apisix up -d
+      run: cd ./example && docker-compose -p docker-apisix up -d
diff --git a/README.md b/README.md
index abcdc29..1059266 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,30 @@
 **Docker images are not official ASF releases but provided for convenience. Recommended usage is always to build the source.**
 
-## QuickStart
+## How To Build Image
+
+**The master branch is for the verison of Apache APISIX 2.x . If you need a previous version, please build from the [v1.x](https://github.com/apache/apisix-docker/releases/tag/v1.x) tag.**
+
+### Build an image from source
+
+1. install release version:
+```
+# Assign Apache release version number to variable `APISIX_VERSION`, for example: 2.1 . The latest version can be find at `https://github.com/apache/apisix/releases`
+
+export APISIX_VERSION=2.1
+docker build -t apisix:${APISIX_VERSION}-alpine --build-arg APISIX_VERSION=${APISIX_VERSION} -f alpine/Dockerfile alpine
+```
+
+2. install master branch version, which has latest code(ONLY for the developer's convenience):
+```
+export APISIX_VERSION=master
+docker build -t apisix:${APISIX_VERSION}-alpine --build-arg APISIX_VERSION=${APISIX_VERSION} -f alpine/Dockerfile alpine
+```
+
+### Manual deploy apisix via docker
+
+[Manual deploy](manual.md) 
+
+### QuickStart via docker-compose
 
 **start all modules with docker-compose**
 
@@ -11,10 +35,3 @@ $ docker-compose -p docker-apisix up -d
 
 You can refer to [the docker-compose example](example/README.md) for more try.
 
-## How To Build Image
-
-[Build your own image](build.md) 
-
-## Manual deploy apisix via docker
-
-[Manual deploy](manual.md) 
\ No newline at end of file
diff --git a/example/README.md b/example/README.md
index ca3d8af..bf54b6d 100644
--- a/example/README.md
+++ b/example/README.md
@@ -1,7 +1,7 @@
 ### Run
 
 ```
-$ sh gen-config-yaml.sh && docker-compose -p docker-apisix up -d
+$ docker-compose -p docker-apisix up -d
 ```
 
 ### Configure
diff --git a/example/apisix_conf/config.yaml b/example/apisix_conf/config.yaml
index 3c1c962..7b83475 100644
--- a/example/apisix_conf/config.yaml
+++ b/example/apisix_conf/config.yaml
@@ -1,137 +1,23 @@
 apisix:
   node_listen: 9080              # APISIX listening port
-  enable_heartbeat: true
-  enable_admin: true
-  enable_admin_cors: true         # Admin API support CORS response headers.
-  enable_debug: false
-  enable_dev_mode: false          # Sets nginx worker_processes to 1 if set to true
-  enable_reuseport: true          # Enable nginx SO_REUSEPORT switch if set to true.
-  enable_ipv6: true
-  config_center: etcd             # etcd: use etcd to store the config value
-                                  # yaml: fetch the config value from local yaml file `/your_path/conf/apisix.yaml`
+  enable_ipv6: false
 
-  #proxy_protocol:                 # Proxy Protocol configuration
-  #  listen_http_port: 9181        # The port with proxy protocol for http, it differs from node_listen and port_admin.
-                                   # This port can only receive http request with proxy protocol, but node_listen & port_admin
-                                   # can only receive http request. If you enable proxy protocol, you must use this port to
-                                   # receive http request with proxy protocol
-  #  listen_https_port: 9182       # The port with proxy protocol for https
-  #  enable_tcp_pp: true           # Enable the proxy protocol for tcp proxy, it works for stream_proxy.tcp option
-  #  enable_tcp_pp_to_upstream: true # Enables the proxy protocol to the upstream server
+  allow_admin:                  # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
+    - 127.0.0.0/24              # If we don't set any IP list, then any IP access is allowed by default.
+    - 172.17.0.0/24
 
-  proxy_cache:                     # Proxy Caching configuration
-    cache_ttl: 10s                 # The default caching time if the upstream does not specify the cache time
-    zones:                         # The parameters of a cache
-    - name: disk_cache_one         # The name of the cache, administrator can be specify
-                                   # which cache to use by name in the admin api
-      memory_size: 50m             # The size of shared memory, it's used to store the cache index
-      disk_size: 1G                # The size of disk, it's used to store the cache data
-      disk_path: "/tmp/disk_cache_one" # The path to store the cache data
-      cache_levels: "1:2"           # The hierarchy levels of a cache
-  #  - name: disk_cache_two
-  #    memory_size: 50m
-  #    disk_size: 1G
-  #    disk_path: "/tmp/disk_cache_two"
-  #    cache_levels: "1:2"
-
-#  allow_admin:                  # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
-#    - 127.0.0.0/24              # If we don't set any IP list, then any IP access is allowed by default.
-#    - 172.17.0.0/24
-  #   - "::/64"
-  # port_admin: 9180              # use a separate port
-
-  # Default token when use API to call for Admin API.
-  # *NOTE*: Highly recommended to modify this value to protect APISIX's Admin API.
-  # Disabling this configuration item means that the Admin API does not
-  # require any authentication.
   admin_key:
-    -
-      name: "admin"
+    - name: "admin"
       key: edd1c9f034335f136f87ad84b625c8f1
       role: admin                 # admin: manage all configuration data
                                   # viewer: only can view configuration data
-    -
-      name: "viewer"
+    - name: "viewer"
       key: 4054f7cf07e344346cd3f287985e76a2
       role: viewer
-  router:
-    http: 'radixtree_uri'         # radixtree_uri: match route by uri(base on radixtree)
-                                  # radixtree_host_uri: match route by host + uri(base on radixtree)
-    ssl: 'radixtree_sni'          # radixtree_sni: match route by SNI(base on radixtree)
-  # stream_proxy:                 # TCP/UDP proxy
-  #   tcp:                        # TCP proxy port list
-  #     - 9100
-  #     - 9101
-  #   udp:                        # UDP proxy port list
-  #     - 9200
-  #     - 9211
-  dns_resolver:                   # default DNS resolver, with disable IPv6 and enable local DNS
-    - 127.0.0.11
-    - 114.114.114.114
-    - 223.5.5.5
-    - 1.1.1.1
-    - 8.8.8.8
-  dns_resolver_valid: 30          # valid time for dns result 30 seconds
-  resolver_timeout: 5             # resolver timeout
-  ssl:
-    enable: true
-    enable_http2: true
-    listen_port: 9443
-    ssl_protocols: "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3"
-    ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES2 [...]
-
-nginx_config:                     # config for render the template to genarate nginx.conf
-  error_log: "logs/error.log"
-  error_log_level: "warn"         # warn,error
-  worker_rlimit_nofile: 20480     # the number of files a worker process can open, should be larger than worker_connections
-  event:
-    worker_connections: 10620
-  http:
-    access_log: "logs/access.log"
-    keepalive_timeout: 60s         # timeout during which a keep-alive client connection will stay open on the server side.
-    client_header_timeout: 60s     # timeout for reading client request header, then 408 (Request Time-out) error is returned to the client
-    client_body_timeout: 60s       # timeout for reading client request body, then 408 (Request Time-out) error is returned to the client
-    send_timeout: 10s              # timeout for transmitting a response to the client.then the connection is closed
-    underscores_in_headers: "on"   # default enables the use of underscores in client request header fields
-    real_ip_header: "X-Real-IP"    # http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header
-    real_ip_from:                  # http://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from
-      - 127.0.0.1
-      - 'unix:'
-    #lua_shared_dicts:              # add custom shared cache to nginx.conf
-    #  ipc_shared_dict: 100m        # custom shared cache, format: `cache-key: cache-size`
 
 etcd:
   host:                           # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
     - "http://172.18.5.10:2379"     # multiple etcd address
   prefix: "/apisix"               # apisix configurations prefix
-  timeout: 3                      # 3 seconds
+  timeout: 30                     # 30 seconds
 
-plugins:                          # plugin list
-  - example-plugin
-  - limit-req
-  - limit-count
-  - limit-conn
-  - key-auth
-  - basic-auth
-  - prometheus
-  - node-status
-  - jwt-auth
-  - zipkin
-  - ip-restriction
-  - grpc-transcode
-  - serverless-pre-function
-  - serverless-post-function
-  - openid-connect
-  - proxy-rewrite
-  - redirect
-  - response-rewrite
-  - fault-injection
-  - udp-logger
-  - wolf-rbac
-  - proxy-cache
-  - tcp-logger
-  - proxy-mirror
-  - kafka-logger
-  - cors
-stream_plugins:
-  - mqtt-proxy
diff --git a/example/docker-compose.yml b/example/docker-compose.yml
index 109626b..bb5cfd0 100644
--- a/example/docker-compose.yml
+++ b/example/docker-compose.yml
@@ -1,11 +1,12 @@
 version: "3"
 
 services:
-
   apisix:
     build:
       context: ./..
-      dockerfile: centos/Dockerfile
+      dockerfile: alpine/Dockerfile
+      args:
+        APISIX_VERSION: master
     restart: always
     volumes:
       - ./apisix_log:/usr/local/apisix/logs
diff --git a/example/gen-config-yaml.sh b/example/gen-config-yaml.sh
deleted file mode 100755
index 07a81ab..0000000
--- a/example/gen-config-yaml.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-export etcd_url='http://etcd:2379'
-
-wget https://raw.githubusercontent.com/apache/apisix/master/conf/config-default.yaml -O config.yaml
-
-if [[ "$unamestr" == 'Darwin' ]]; then
-	sed -i '' -e ':a' -e 'N' -e '$!ba' -e "s/allow_admin[a-z: #\/._]*\n\( *- [0-9a-zA-Z: #\/._',]*\n*\)*//g" config.yaml
-	sed -i '' -e "s%http://[0-9.]*:2379%`echo $etcd_url`%g" config.yaml
-else
-	sed -i -e ':a' -e 'N' -e '$!ba' -e "s/allow_admin[a-z: #\/._]*\n\( *- [0-9a-zA-Z: #\/._',]*\n*\)*//g" config.yaml
-	sed -i -e "s%http://[0-9.]*:2379%`echo $etcd_url`%g" config.yaml
-fi
-
-mv config.yaml ./apisix_conf/config.yaml
\ No newline at end of file
diff --git a/manual.md b/manual.md
index 5207c1d..8c07451 100644
--- a/manual.md
+++ b/manual.md
@@ -23,7 +23,7 @@ docker run -it --name etcd-server \
 -p 2380:2380  \
 --network apisix \
 --ip 172.18.5.10 \
---env ALLOW_NONE_AUTHENTICATION=yes bitnami/etcd:3.3.13-r80
+--env ALLOW_NONE_AUTHENTICATION=yes bitnami/etcd:3.4.9
 ```
 
 > Note: