You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by sp...@apache.org on 2022/06/30 01:57:52 UTC
[apisix] branch master updated: ci: don't start unused service
This is an automated email from the ASF dual-hosted git repository.
spacewander pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix.git
The following commit(s) were added to refs/heads/master by this push:
new c781376ce ci: don't start unused service
c781376ce is described below
commit c781376ce1d7340ba090cbc1d0f956ad1da564d6
Author: spacewander <sp...@gmail.com>
AuthorDate: Tue Jun 28 09:32:31 2022 +0800
ci: don't start unused service
Signed-off-by: spacewander <sp...@gmail.com>
---
.github/workflows/build.yml | 62 +++++--
.github/workflows/centos7-ci.yml | 34 +++-
Makefile | 1 -
ci/init-last-test-service.sh | 30 +++
...init-service.sh => init-plugin-test-service.sh} | 9 -
...docker-compose.yml => docker-compose.first.yml} | 195 --------------------
ci/pod/docker-compose.last.yml | 97 ++++++++++
ci/pod/docker-compose.plugin.yml | 201 +++++++++++++++++++++
ci/pod/kafka/kafka-server/env/common.env | 9 +-
.../kafka-server/env/{common.env => last.env} | 0
10 files changed, 406 insertions(+), 232 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6834d8651..21d185cbe 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -67,6 +67,21 @@ jobs:
echo "##[set-output name=version;]$(echo ${GITHUB_REF##*/})"
echo "##[set-output name=fullname;]$(echo apache-apisix-${GITHUB_REF##*/}-src.tgz)"
+ - name: Extract test type
+ shell: bash
+ id: test_env
+ run: |
+ test_dir="${{ matrix.test_dir }}"
+ if [[ $test_dir =~ 't/plugin' ]]; then
+ echo "##[set-output name=type;]$(echo 'plugin')"
+ fi
+ if [[ $test_dir =~ 't/admin ' ]]; then
+ echo "##[set-output name=type;]$(echo 'first')"
+ fi
+ if [[ $test_dir =~ ' t/xrpc' ]]; then
+ echo "##[set-output name=type;]$(echo 'last')"
+ fi
+
- name: Linux launch common services
run: |
make ci-env-up project_compose_ci=ci/pod/docker-compose.common.yml
@@ -82,32 +97,28 @@ jobs:
rm -rf $(ls -1 --ignore=*.tgz --ignore=ci --ignore=t --ignore=utils --ignore=.github)
tar zxvf ${{ steps.branch_env.outputs.fullname }}
- - name: Build wasm code
- if: matrix.os_name == 'linux_openresty'
+ - name: Start CI env (FIRST_TEST)
+ if: steps.test_env.outputs.type == 'first'
run: |
- export TINYGO_VER=0.20.0
- wget https://github.com/tinygo-org/tinygo/releases/download/v${TINYGO_VER}/tinygo_${TINYGO_VER}_amd64.deb 2>/dev/null
- sudo dpkg -i tinygo_${TINYGO_VER}_amd64.deb
- cd t/wasm && find . -type f -name "*.go" | xargs -Ip tinygo build -o p.wasm -scheduler=none -target=wasi p
+ # launch deps env
+ make ci-env-up project_compose_ci=ci/pod/docker-compose.${{ steps.test_env.outputs.type }}.yml
- - name: Build xDS library
+ - name: Start CI env (PLUGIN_TEST)
+ if: steps.test_env.outputs.type == 'plugin'
run: |
- cd t/xds-library
- go build -o libxds.so -buildmode=c-shared main.go export.go
+ make ci-env-up project_compose_ci=ci/pod/docker-compose.${{ steps.test_env.outputs.type }}.yml
+ sudo ./ci/init-${{ steps.test_env.outputs.type }}-test-service.sh
- - name: Linux Before install
- run: sudo ./ci/${{ matrix.os_name }}_runner.sh before_install
-
- - name: Start CI env
+ - name: Start CI env (LAST_TEST)
+ if: steps.test_env.outputs.type == 'last'
run: |
# generating SSL certificates for Kafka
sudo keytool -genkeypair -keyalg RSA -dname "CN=127.0.0.1" -alias 127.0.0.1 -keystore ./ci/pod/kafka/kafka-server/selfsigned.jks -validity 365 -keysize 2048 -storepass changeit
- # launch deps env
- make ci-env-up
- sudo ./ci/linux-ci-init-service.sh
+ make ci-env-up project_compose_ci=ci/pod/docker-compose.${{ steps.test_env.outputs.type }}.yml
+ sudo ./ci/init-${{ steps.test_env.outputs.type }}-test-service.sh
- name: Start Dubbo Backend
- if: matrix.os_name == 'linux_openresty'
+ if: matrix.os_name == 'linux_openresty' && steps.test_env.outputs.type == 'plugin'
run: |
sudo apt install -y maven
cd t/lib/dubbo-backend
@@ -115,6 +126,23 @@ jobs:
cd dubbo-backend-provider/target
java -Djava.net.preferIPv4Stack=true -jar dubbo-demo-provider.one-jar.jar > /tmp/java.log &
+ - name: Build xDS library
+ if: steps.test_env.outputs.type == 'last'
+ run: |
+ cd t/xds-library
+ go build -o libxds.so -buildmode=c-shared main.go export.go
+
+ - name: Build wasm code
+ if: matrix.os_name == 'linux_openresty' && steps.test_env.outputs.type == 'last'
+ run: |
+ export TINYGO_VER=0.20.0
+ wget https://github.com/tinygo-org/tinygo/releases/download/v${TINYGO_VER}/tinygo_${TINYGO_VER}_amd64.deb 2>/dev/null
+ sudo dpkg -i tinygo_${TINYGO_VER}_amd64.deb
+ cd t/wasm && find . -type f -name "*.go" | xargs -Ip tinygo build -o p.wasm -scheduler=none -target=wasi p
+
+ - name: Linux Before install
+ run: sudo ./ci/${{ matrix.os_name }}_runner.sh before_install
+
- name: Linux Install
run: |
sudo --preserve-env=OPENRESTY_VERSION \
diff --git a/.github/workflows/centos7-ci.yml b/.github/workflows/centos7-ci.yml
index 589e5ed69..b308c79fb 100644
--- a/.github/workflows/centos7-ci.yml
+++ b/.github/workflows/centos7-ci.yml
@@ -45,6 +45,21 @@ jobs:
run: |
echo "##[set-output name=version;]$(echo ${GITHUB_REF##*/})"
+ - name: Extract test type
+ shell: bash
+ id: test_env
+ run: |
+ test_dir="${{ matrix.test_dir }}"
+ if [[ $test_dir =~ 't/plugin' ]]; then
+ echo "##[set-output name=type;]$(echo 'plugin')"
+ fi
+ if [[ $test_dir =~ 't/admin ' ]]; then
+ echo "##[set-output name=type;]$(echo 'first')"
+ fi
+ if [[ $test_dir =~ ' t/xds-library' ]]; then
+ echo "##[set-output name=type;]$(echo 'last')"
+ fi
+
- name: Linux launch common services
run: |
make ci-env-up project_compose_ci=ci/pod/docker-compose.common.yml
@@ -66,6 +81,7 @@ jobs:
rm -rf $(ls -1 --ignore=apisix-build-tools --ignore=t --ignore=utils --ignore=ci --ignore=Makefile --ignore=rockspec)
- name: Build xDS library
+ if: steps.test_env.outputs.type == 'last'
run: |
cd t/xds-library
go build -o libxds.so -buildmode=c-shared main.go export.go
@@ -77,12 +93,24 @@ jobs:
docker run -itd -v /home/runner/work/apisix/apisix:/apisix --env TEST_FILE_SUB_DIR="$TEST_FILE_SUB_DIR" --name centos7Instance --net="host" --dns 8.8.8.8 --dns-search apache.org docker.io/centos:7 /bin/bash
# docker exec centos7Instance bash -c "cp -r /tmp/apisix ./"
- - name: Run other docker containers for test
+ - name: Start CI env (FIRST_TEST)
+ if: steps.test_env.outputs.type == 'first'
+ run: |
+ make ci-env-up project_compose_ci=ci/pod/docker-compose.${{ steps.test_env.outputs.type }}.yml
+
+ - name: Start CI env (PLUGIN_TEST)
+ if: steps.test_env.outputs.type == 'plugin'
+ run: |
+ make ci-env-up project_compose_ci=ci/pod/docker-compose.${{ steps.test_env.outputs.type }}.yml
+ ./ci/init-${{ steps.test_env.outputs.type }}-test-service.sh
+
+ - name: Start CI env (LAST_TEST)
+ if: steps.test_env.outputs.type == 'last'
run: |
# generating SSL certificates for Kafka
keytool -genkeypair -keyalg RSA -dname "CN=127.0.0.1" -alias 127.0.0.1 -keystore ./ci/pod/kafka/kafka-server/selfsigned.jks -validity 365 -keysize 2048 -storepass changeit
- make ci-env-up
- ./ci/linux-ci-init-service.sh
+ make ci-env-up project_compose_ci=ci/pod/docker-compose.${{ steps.test_env.outputs.type }}.yml
+ ./ci/init-${{ steps.test_env.outputs.type }}-test-service.sh
- name: Install dependencies
run: |
diff --git a/Makefile b/Makefile
index 989fe3714..6c82a6a94 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,6 @@ SHELL := /bin/bash -o pipefail
# Project basic setting
VERSION ?= master
project_name ?= apache-apisix
-project_compose_ci ?= ci/pod/docker-compose.yml
project_release_name ?= $(project_name)-$(VERSION)-src
diff --git a/ci/init-last-test-service.sh b/ci/init-last-test-service.sh
new file mode 100755
index 000000000..f49d4a747
--- /dev/null
+++ b/ci/init-last-test-service.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+#
+# 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.
+#
+
+docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2
+docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3
+docker exec -i apache-apisix_kafka-server2_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4
+docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test-consumer
+
+# create messages for test-consumer
+for i in `seq 30`
+do
+ docker exec -i apache-apisix_kafka-server1_1 bash -c "echo "testmsg$i" | /opt/bitnami/kafka/bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test-consumer"
+ echo "Produces messages to the test-consumer topic, msg: testmsg$i"
+done
+echo "Kafka service initialization completed"
diff --git a/ci/linux-ci-init-service.sh b/ci/init-plugin-test-service.sh
similarity index 85%
rename from ci/linux-ci-init-service.sh
rename to ci/init-plugin-test-service.sh
index 73477a5fe..5f4685023 100755
--- a/ci/linux-ci-init-service.sh
+++ b/ci/init-plugin-test-service.sh
@@ -19,15 +19,6 @@
docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2
docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3
docker exec -i apache-apisix_kafka-server2_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4
-docker exec -i apache-apisix_kafka-server1_1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test-consumer
-
-# create messages for test-consumer
-for i in `seq 30`
-do
- docker exec -i apache-apisix_kafka-server1_1 bash -c "echo "testmsg$i" | /opt/bitnami/kafka/bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test-consumer"
- echo "Produces messages to the test-consumer topic, msg: testmsg$i"
-done
-echo "Kafka service initialization completed"
# prepare openwhisk env
docker pull openwhisk/action-nodejs-v14:nightly
diff --git a/ci/pod/docker-compose.yml b/ci/pod/docker-compose.first.yml
similarity index 55%
rename from ci/pod/docker-compose.yml
rename to ci/pod/docker-compose.first.yml
index 68dab85c5..a13ad3cf1 100644
--- a/ci/pod/docker-compose.yml
+++ b/ci/pod/docker-compose.first.yml
@@ -18,95 +18,6 @@
version: "3.8"
services:
- ## Redis
- apisix_redis:
- # The latest image is the latest stable version
- image: redis:latest
- restart: unless-stopped
- ports:
- - "6379:6379"
- networks:
- apisix_net:
-
-
- ## keycloak
- apisix_keycloak:
- image: sshniro/keycloak-apisix:1.0.0
- environment:
- KEYCLOAK_USER: admin
- KEYCLOAK_PASSWORD: 123456
- restart: unless-stopped
- ports:
- - "8090:8080"
- - "8443:8443"
- networks:
- apisix_net:
-
-
- ## kafka-cluster
- zookeeper-server1:
- image: bitnami/zookeeper:3.6.0
- env_file:
- - ci/pod/kafka/zookeeper-server/env/common.env
- restart: unless-stopped
- ports:
- - "2181:2181"
- networks:
- kafka_net:
-
- zookeeper-server2:
- image: bitnami/zookeeper:3.6.0
- env_file:
- - ci/pod/kafka/zookeeper-server/env/common.env
- restart: unless-stopped
- ports:
- - "12181:12181"
- networks:
- kafka_net:
-
- kafka-server1:
- image: bitnami/kafka:2.8.1
- env_file:
- - ci/pod/kafka/kafka-server/env/common.env
- environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper-server1:2181
- restart: unless-stopped
- ports:
- - "9092:9092"
- - "9093:9093"
- - "9094:9094"
- depends_on:
- - zookeeper-server1
- - zookeeper-server2
- networks:
- kafka_net:
- volumes:
- - ./ci/pod/kafka/kafka-server/kafka_jaas.conf:/opt/bitnami/kafka/config/kafka_jaas.conf:ro
- - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.keystore.jks:ro
- - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.truststore.jks:ro
-
- kafka-server2:
- image: bitnami/kafka:2.8.1
- env_file:
- - ci/pod/kafka/kafka-server/env/common.env
- environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper-server2:2181
- restart: unless-stopped
- ports:
- - "19092:9092"
- - "19093:9093"
- - "19094:9094"
- depends_on:
- - zookeeper-server1
- - zookeeper-server2
- networks:
- kafka_net:
- volumes:
- - ./ci/pod/kafka/kafka-server/kafka_jaas.conf:/opt/bitnami/kafka/config/kafka_jaas.conf:ro
- - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.keystore.jks:ro
- - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.truststore.jks:ro
-
-
## Eureka
eureka:
image: bitinit/eureka
@@ -116,19 +27,6 @@ services:
ports:
- "8761:8761"
-
- ## SkyWalking
- skywalking:
- image: apache/skywalking-oap-server:8.7.0-es6
- restart: unless-stopped
- ports:
- - "1234:1234"
- - "11800:11800"
- - "12800:12800"
- networks:
- skywalk_net:
-
-
## Consul
consul_1:
image: consul:1.7
@@ -148,37 +46,6 @@ services:
networks:
consul_net:
-
- ## HashiCorp Vault
- vault:
- image: vault:1.9.0
- container_name: vault
- restart: unless-stopped
- ports:
- - "8200:8200"
- cap_add:
- - IPC_LOCK
- environment:
- VAULT_DEV_ROOT_TOKEN_ID: root
- VAULT_DEV_LISTEN_ADDRESS: 0.0.0.0:8200
- command: [ "vault", "server", "-dev" ]
- networks:
- vault_net:
-
-
- ## OpenLDAP
- openldap:
- image: bitnami/openldap:2.5.8
- environment:
- LDAP_ADMIN_USERNAME: amdin
- LDAP_ADMIN_PASSWORD: adminpassword
- LDAP_USERS: user01,user02
- LDAP_PASSWORDS: password1,password2
- ports:
- - "1389:1389"
- - "1636:1636"
-
-
## Nacos cluster
nacos_auth:
hostname: nacos1
@@ -368,69 +235,7 @@ services:
networks:
nacos_net:
- rocketmq_namesrv:
- image: apacherocketmq/rocketmq:4.6.0
- container_name: rmqnamesrv
- restart: unless-stopped
- ports:
- - "9876:9876"
- command: sh mqnamesrv
- networks:
- rocketmq_net:
-
- rocketmq_broker:
- image: apacherocketmq/rocketmq:4.6.0
- container_name: rmqbroker
- restart: unless-stopped
- ports:
- - "10909:10909"
- - "10911:10911"
- - "10912:10912"
- depends_on:
- - rocketmq_namesrv
- command: sh mqbroker -n rocketmq_namesrv:9876 -c ../conf/broker.conf
- networks:
- rocketmq_net:
-
- # Open Policy Agent
- opa:
- image: openpolicyagent/opa:0.35.0
- restart: unless-stopped
- ports:
- - 8181:8181
- command: run -s /example.rego /echo.rego /data.json
- volumes:
- - type: bind
- source: ./ci/pod/opa/example.rego
- target: /example.rego
- - type: bind
- source: ./ci/pod/opa/echo.rego
- target: /echo.rego
- - type: bind
- source: ./ci/pod/opa/data.json
- target: /data.json
- networks:
- opa_net:
-
- # Splunk HEC Logging Service
- splunk:
- image: splunk/splunk:8.2.3
- restart: unless-stopped
- ports:
- - "18088:8088"
- environment:
- SPLUNK_PASSWORD: "ApacheAPISIX@666"
- SPLUNK_START_ARGS: "--accept-license"
- SPLUNK_HEC_TOKEN: "BD274822-96AA-4DA6-90EC-18940FB2414C"
- SPLUNK_HEC_SSL: "False"
-
networks:
- apisix_net:
consul_net:
- kafka_net:
nacos_net:
- skywalk_net:
- rocketmq_net:
- vault_net:
- opa_net:
diff --git a/ci/pod/docker-compose.last.yml b/ci/pod/docker-compose.last.yml
new file mode 100644
index 000000000..dbc835fde
--- /dev/null
+++ b/ci/pod/docker-compose.last.yml
@@ -0,0 +1,97 @@
+#
+# 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.
+#
+
+version: "3.8"
+
+services:
+ ## Redis
+ apisix_redis:
+ # The latest image is the latest stable version
+ image: redis:latest
+ restart: unless-stopped
+ ports:
+ - "6379:6379"
+ networks:
+ apisix_net:
+
+ ## kafka-cluster
+ zookeeper-server1:
+ image: bitnami/zookeeper:3.6.0
+ env_file:
+ - ci/pod/kafka/zookeeper-server/env/common.env
+ restart: unless-stopped
+ ports:
+ - "2181:2181"
+ networks:
+ kafka_net:
+
+ zookeeper-server2:
+ image: bitnami/zookeeper:3.6.0
+ env_file:
+ - ci/pod/kafka/zookeeper-server/env/common.env
+ restart: unless-stopped
+ ports:
+ - "12181:12181"
+ networks:
+ kafka_net:
+
+ kafka-server1:
+ image: bitnami/kafka:2.8.1
+ env_file:
+ - ci/pod/kafka/kafka-server/env/last.env
+ environment:
+ KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper-server1:2181
+ restart: unless-stopped
+ ports:
+ - "9092:9092"
+ - "9093:9093"
+ - "9094:9094"
+ depends_on:
+ - zookeeper-server1
+ - zookeeper-server2
+ networks:
+ kafka_net:
+ volumes:
+ - ./ci/pod/kafka/kafka-server/kafka_jaas.conf:/opt/bitnami/kafka/config/kafka_jaas.conf:ro
+ - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.keystore.jks:ro
+ - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.truststore.jks:ro
+
+ kafka-server2:
+ image: bitnami/kafka:2.8.1
+ env_file:
+ - ci/pod/kafka/kafka-server/env/last.env
+ environment:
+ KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper-server2:2181
+ restart: unless-stopped
+ ports:
+ - "19092:9092"
+ - "19093:9093"
+ - "19094:9094"
+ depends_on:
+ - zookeeper-server1
+ - zookeeper-server2
+ networks:
+ kafka_net:
+ volumes:
+ - ./ci/pod/kafka/kafka-server/kafka_jaas.conf:/opt/bitnami/kafka/config/kafka_jaas.conf:ro
+ - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.keystore.jks:ro
+ - ./ci/pod/kafka/kafka-server/selfsigned.jks:/opt/bitnami/kafka/config/certs/kafka.truststore.jks:ro
+
+
+networks:
+ apisix_net:
+ kafka_net:
diff --git a/ci/pod/docker-compose.plugin.yml b/ci/pod/docker-compose.plugin.yml
new file mode 100644
index 000000000..d03508600
--- /dev/null
+++ b/ci/pod/docker-compose.plugin.yml
@@ -0,0 +1,201 @@
+#
+# 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.
+#
+
+version: "3.8"
+
+services:
+ ## Redis
+ apisix_redis:
+ # The latest image is the latest stable version
+ image: redis:latest
+ restart: unless-stopped
+ ports:
+ - "6379:6379"
+ networks:
+ apisix_net:
+
+
+ ## keycloak
+ apisix_keycloak:
+ image: sshniro/keycloak-apisix:1.0.0
+ environment:
+ KEYCLOAK_USER: admin
+ KEYCLOAK_PASSWORD: 123456
+ restart: unless-stopped
+ ports:
+ - "8090:8080"
+ - "8443:8443"
+ networks:
+ apisix_net:
+
+
+ ## kafka-cluster
+ zookeeper-server1:
+ image: bitnami/zookeeper:3.6.0
+ env_file:
+ - ci/pod/kafka/zookeeper-server/env/common.env
+ restart: unless-stopped
+ ports:
+ - "2181:2181"
+ networks:
+ kafka_net:
+
+ zookeeper-server2:
+ image: bitnami/zookeeper:3.6.0
+ env_file:
+ - ci/pod/kafka/zookeeper-server/env/common.env
+ restart: unless-stopped
+ ports:
+ - "12181:12181"
+ networks:
+ kafka_net:
+
+ kafka-server1:
+ image: bitnami/kafka:2.8.1
+ env_file:
+ - ci/pod/kafka/kafka-server/env/common.env
+ environment:
+ KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper-server1:2181
+ restart: unless-stopped
+ ports:
+ - "9092:9092"
+ depends_on:
+ - zookeeper-server1
+ - zookeeper-server2
+ networks:
+ kafka_net:
+
+ kafka-server2:
+ image: bitnami/kafka:2.8.1
+ env_file:
+ - ci/pod/kafka/kafka-server/env/common.env
+ environment:
+ KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper-server2:2181
+ restart: unless-stopped
+ ports:
+ - "19092:9092"
+ depends_on:
+ - zookeeper-server1
+ - zookeeper-server2
+ networks:
+ kafka_net:
+
+ ## SkyWalking
+ skywalking:
+ image: apache/skywalking-oap-server:8.7.0-es6
+ restart: unless-stopped
+ ports:
+ - "1234:1234"
+ - "11800:11800"
+ - "12800:12800"
+ networks:
+ skywalk_net:
+
+ ## HashiCorp Vault
+ vault:
+ image: vault:1.9.0
+ container_name: vault
+ restart: unless-stopped
+ ports:
+ - "8200:8200"
+ cap_add:
+ - IPC_LOCK
+ environment:
+ VAULT_DEV_ROOT_TOKEN_ID: root
+ VAULT_DEV_LISTEN_ADDRESS: 0.0.0.0:8200
+ command: [ "vault", "server", "-dev" ]
+ networks:
+ vault_net:
+
+
+ ## OpenLDAP
+ openldap:
+ image: bitnami/openldap:2.5.8
+ environment:
+ LDAP_ADMIN_USERNAME: amdin
+ LDAP_ADMIN_PASSWORD: adminpassword
+ LDAP_USERS: user01,user02
+ LDAP_PASSWORDS: password1,password2
+ ports:
+ - "1389:1389"
+ - "1636:1636"
+
+
+ rocketmq_namesrv:
+ image: apacherocketmq/rocketmq:4.6.0
+ container_name: rmqnamesrv
+ restart: unless-stopped
+ ports:
+ - "9876:9876"
+ command: sh mqnamesrv
+ networks:
+ rocketmq_net:
+
+ rocketmq_broker:
+ image: apacherocketmq/rocketmq:4.6.0
+ container_name: rmqbroker
+ restart: unless-stopped
+ ports:
+ - "10909:10909"
+ - "10911:10911"
+ - "10912:10912"
+ depends_on:
+ - rocketmq_namesrv
+ command: sh mqbroker -n rocketmq_namesrv:9876 -c ../conf/broker.conf
+ networks:
+ rocketmq_net:
+
+ # Open Policy Agent
+ opa:
+ image: openpolicyagent/opa:0.35.0
+ restart: unless-stopped
+ ports:
+ - 8181:8181
+ command: run -s /example.rego /echo.rego /data.json
+ volumes:
+ - type: bind
+ source: ./ci/pod/opa/example.rego
+ target: /example.rego
+ - type: bind
+ source: ./ci/pod/opa/echo.rego
+ target: /echo.rego
+ - type: bind
+ source: ./ci/pod/opa/data.json
+ target: /data.json
+ networks:
+ opa_net:
+
+ # Splunk HEC Logging Service
+ splunk:
+ image: splunk/splunk:8.2.3
+ restart: unless-stopped
+ ports:
+ - "18088:8088"
+ environment:
+ SPLUNK_PASSWORD: "ApacheAPISIX@666"
+ SPLUNK_START_ARGS: "--accept-license"
+ SPLUNK_HEC_TOKEN: "BD274822-96AA-4DA6-90EC-18940FB2414C"
+ SPLUNK_HEC_SSL: "False"
+
+
+networks:
+ apisix_net:
+ kafka_net:
+ skywalk_net:
+ rocketmq_net:
+ vault_net:
+ opa_net:
diff --git a/ci/pod/kafka/kafka-server/env/common.env b/ci/pod/kafka/kafka-server/env/common.env
index adc9d7cad..06200b9b0 100644
--- a/ci/pod/kafka/kafka-server/env/common.env
+++ b/ci/pod/kafka/kafka-server/env/common.env
@@ -1,8 +1,3 @@
ALLOW_PLAINTEXT_LISTENER=yes
-KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
-KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092,SSL://0.0.0.0:9093,SASL_PLAINTEXT://0.0.0.0:9094
-KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092,SSL://127.0.0.1:9093,SASL_PLAINTEXT://127.0.0.1:9094
-KAFKA_CFG_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM=
-KAFKA_CFG_SSL_KEYSTORE_LOCATION=/opt/bitnami/kafka/config/certs/kafka.keystore.jks
-KAFKA_CFG_SSL_KEYSTORE_PASSWORD=changeit
-KAFKA_CFG_SSL_KEY_PASSWORD=changeit
+KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
+KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
diff --git a/ci/pod/kafka/kafka-server/env/common.env b/ci/pod/kafka/kafka-server/env/last.env
similarity index 100%
copy from ci/pod/kafka/kafka-server/env/common.env
copy to ci/pod/kafka/kafka-server/env/last.env