feat(apisix): add Cloudron package
- Implements Apache APISIX packaging for Cloudron platform. - Includes Dockerfile, CloudronManifest.json, and start.sh. - Configured to use Cloudron's etcd addon. 🤖 Generated with Gemini CLI Co-Authored-By: Gemini <noreply@google.com>
This commit is contained in:
6
CloudronPackages/APISIX/apisix-source/ci/pod/nacos/env/common.env
vendored
Normal file
6
CloudronPackages/APISIX/apisix-source/ci/pod/nacos/env/common.env
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
EMBEDDED_STORAGE=embedded
|
||||
PREFER_HOST_MODE=hostname
|
||||
MODE=cluster
|
||||
NACOS_SERVERS="nacos1:8848 nacos2:8848"
|
||||
JVM_XMS=512m
|
||||
JVM_XMX=512m
|
2
CloudronPackages/APISIX/apisix-source/ci/pod/nacos/env/service.env
vendored
Normal file
2
CloudronPackages/APISIX/apisix-source/ci/pod/nacos/env/service.env
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
SERVICE_NAME=APISIX-NACOS
|
||||
NACOS_ADDR=nacos2:8848
|
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
FROM alpine:latest
|
||||
|
||||
# change workdir to /
|
||||
WORKDIR /
|
||||
|
||||
# install curl
|
||||
RUN apk --no-cache add bash curl
|
||||
|
||||
# add healthcheck script
|
||||
COPY *.sh /
|
||||
|
||||
# add hosted process
|
||||
CMD ["cat"]
|
@@ -0,0 +1,27 @@
|
||||
#!/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.
|
||||
#
|
||||
|
||||
|
||||
set -ex
|
||||
|
||||
# nacos server healthcheck
|
||||
REQ_STATUS=$(curl -s -o /dev/null -w '%{http_code}' "${CHECK_URI}")
|
||||
|
||||
if [ "${REQ_STATUS}" -ne "200" ]; then
|
||||
exit 1;
|
||||
fi
|
@@ -0,0 +1,43 @@
|
||||
#!/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.
|
||||
#
|
||||
|
||||
set -ex
|
||||
|
||||
# nacos service healthcheck
|
||||
URI_LIST=(
|
||||
"http://nacos2:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=2"
|
||||
"http://nacos2:8848/nacos/v1/ns/service/list?groupName=test_group&pageNo=1&pageSize=2"
|
||||
"http://nacos2:8848/nacos/v1/ns/service/list?groupName=DEFAULT_GROUP&namespaceId=test_ns&pageNo=1&pageSize=2"
|
||||
"http://nacos2:8848/nacos/v1/ns/service/list?groupName=test_group&namespaceId=test_ns&pageNo=1&pageSize=2"
|
||||
)
|
||||
|
||||
for URI in "${URI_LIST[@]}"; do
|
||||
if [[ $(curl -s "${URI}" | grep "APISIX-NACOS") ]]; then
|
||||
continue
|
||||
else
|
||||
exit 1;
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
for IDX in {1..7..1}; do
|
||||
REQ_STATUS=$(curl -s -o /dev/null -w '%{http_code}' "http://nacos-service${IDX}:18001/hello")
|
||||
if [ "${REQ_STATUS}" -ne "200" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
done
|
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
FROM eclipse-temurin:8
|
||||
|
||||
ENV SUFFIX_NUM=${SUFFIX_NUM:-1}
|
||||
ENV NACOS_ADDR=${NACOS_ADDR:-127.0.0.1:8848}
|
||||
ENV SERVICE_NAME=${SERVICE_NAME:-gateway-service}
|
||||
ENV NAMESPACE=${NAMESPACE}
|
||||
ENV GROUP=${GROUP:-DEFAULT_GROUP}
|
||||
|
||||
ADD https://raw.githubusercontent.com/api7/nacos-test-service/main/spring-nacos-1.0-SNAPSHOT.jar /app.jar
|
||||
|
||||
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar",\
|
||||
"--suffix.num=${SUFFIX_NUM}","--spring.cloud.nacos.discovery.server-addr=${NACOS_ADDR}",\
|
||||
"--spring.application.name=${SERVICE_NAME}","--spring.cloud.nacos.discovery.group=${GROUP}",\
|
||||
"--spring.cloud.nacos.discovery.namespace=${NAMESPACE}"]
|
||||
EXPOSE 18001
|
Reference in New Issue
Block a user