diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 635a8864..00000000 --- a/Dockerfile +++ /dev/null @@ -1,60 +0,0 @@ -# -# 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:17-jre-jammy - -ARG BUILD_DATE -ARG VCS_REF -ARG VERSION -LABEL org.label-schema.build-date=$BUILD_DATE \ - org.label-schema.name="Apache Pulsar Manager" \ - org.label-schema.description="An Apache Pulsar Manager for management Pulsar clusters" \ - org.label-schema.url="https://github.com/apache/pulsar-manager" \ - org.label-schema.vcs-ref=$VCS_REF \ - org.label-schema.vcs-url="https://github.com/apache/pulsar-manager" \ - org.label-schema.vendor="Apache Software Foundation" \ - org.label-schema.version=$VERSION \ - org.label-schema.schema-version="1.0" - -RUN apt-get update - -RUN apt-get install --yes nginx supervisor postgresql \ - && rm -rf /tmp/* \ - && rm -rf /var/lib/apt/lists/* - -RUN mkdir -p /run/nginx - -WORKDIR /pulsar-manager - -COPY build/distributions/pulsar-manager.tar . - -RUN tar -xf pulsar-manager.tar - -RUN rm -r pulsar-manager.tar - -COPY docker/default.conf /etc/nginx/conf.d/ - -COPY docker/startup.sh /pulsar-manager/ - -COPY docker/init_db.sql /pulsar-manager/ - -COPY docker/entrypoint.sh /pulsar-manager/ - -COPY front-end/dist /usr/share/nginx/html/ - -ENTRYPOINT [ "/pulsar-manager/entrypoint.sh" ] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 6af21cf0..1da2afa6 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -39,14 +39,28 @@ echo 'Starting Pulsar Manager Front end' nginx echo 'Starting Pulsar Manager Back end' -/pulsar-manager/pulsar-manager/bin/pulsar-manager \ - --redirect.host=${REDIRECT_HOST} \ - --redirect.port=${REDIRECT_PORT} \ - --spring.datasource.driver-class-name=${DRIVER_CLASS_NAME} \ - --spring.datasource.url=${URL} \ - --spring.datasource.username=${USERNAME} \ - --spring.datasource.password=${PASSWORD} \ - --spring.datasource.initialization-mode=never \ - --logging.level.org.apache=${LOG_LEVEL} \ - --backend.jwt.token=${JWT_TOKEN} - --tls.enabled=${TLS:=false} \ No newline at end of file + +touch /pulsar-manager/supervisor.sock +chmod 777 /pulsar-manager/supervisor.sock + + +if [[ -n "$JWT_TOKEN" ]] && [[ -n "$PUBLIC_KEY" ]] && [[ -n "$PRIVATE_KEY" ]] +then + echo "Use public key and private key to init JWT." + supervisord -c /etc/supervisord-private-key.conf -n +elif [[ -n "$JWT_TOKEN" ]] && [[ -n "$SECRET_KEY" ]] +then + echo "Use secret key to init JWT." + supervisord -c /etc/supervisord-secret-key.conf -n +elif [[ -n "$JWT_TOKEN" ]] +then + echo "Enable JWT auth." + supervisord -c /etc/supervisord-token.conf -n +elif [[ -n "$SPRING_CONFIGURATION_FILE" ]] +then + echo "Start Pulsar Manager by specifying a configuration file." + supervisord -c /etc/supervisord-configuration-file.conf -n +else + echo "Start servie no enable JWT." + supervisord -c /etc/supervisord.conf -n +fi