mirror of
https://github.com/certd/certd.git
synced 2026-07-07 13:07:36 +08:00
perf(certd-server): 使用 jks-go转换jks证书,大幅精简镜像大小
This commit is contained in:
+24
-6
@@ -38,21 +38,16 @@ RUN if [ -f /etc/debian_version ]; then \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
wget \
|
||||
openssl \
|
||||
netcat-openbsd \
|
||||
iputils-ping \
|
||||
dnsutils \
|
||||
iproute2 \
|
||||
&& wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /usr/share/keyrings/adoptium.gpg > /dev/null \
|
||||
&& echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" | tee /etc/apt/sources.list.d/adoptium.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends temurin-8-jre \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*; \
|
||||
elif [ -f /etc/alpine-release ]; then \
|
||||
apk add --no-cache openssl openjdk8-jre; \
|
||||
apk add --no-cache openssl wget ca-certificates; \
|
||||
else \
|
||||
echo "Unsupported base image"; exit 1; \
|
||||
fi
|
||||
@@ -63,6 +58,9 @@ ENV TERM=xterm
|
||||
ENV LEGO_VERSION=4.30.1
|
||||
ENV LEGO_DOWNLOAD_DIR=/app/tools/lego
|
||||
|
||||
ENV JKS_GO_VERSION=1.0.3
|
||||
ENV JKS_GO_DOWNLOAD_DIR=/app/tools/jks-go
|
||||
|
||||
ENV ALIYUN_CLIENT_CONNECT_TIMEOUT=10000
|
||||
ENV ALIYUN_CLIENT_READ_TIMEOUT=20000
|
||||
|
||||
@@ -79,6 +77,26 @@ RUN ARCH=$(uname -m) && \
|
||||
echo "Unsupported architecture: $ARCH"; \
|
||||
fi
|
||||
|
||||
RUN mkdir -p $JKS_GO_DOWNLOAD_DIR
|
||||
|
||||
# 根据架构下载jks-go
|
||||
RUN ARCH=$(uname -m) && \
|
||||
if [ "$ARCH" = "x86_64" ]; then \
|
||||
wget -O $JKS_GO_DOWNLOAD_DIR/jks-go_linux_amd64 https://github.com/certd/jks-go/releases/download/v${JKS_GO_VERSION}/jks-go_linux_amd64 && \
|
||||
chmod +x $JKS_GO_DOWNLOAD_DIR/jks-go_linux_amd64 && \
|
||||
ln -s $JKS_GO_DOWNLOAD_DIR/jks-go_linux_amd64 /usr/local/bin/jks-go; \
|
||||
elif [ "$ARCH" = "aarch64" ]; then \
|
||||
wget -O $JKS_GO_DOWNLOAD_DIR/jks-go_linux_arm64 https://github.com/certd/jks-go/releases/download/v${JKS_GO_VERSION}/jks-go_linux_arm64 && \
|
||||
chmod +x $JKS_GO_DOWNLOAD_DIR/jks-go_linux_arm64 && \
|
||||
ln -s $JKS_GO_DOWNLOAD_DIR/jks-go_linux_arm64 /usr/local/bin/jks-go; \
|
||||
elif [ "$ARCH" = "armv7l" ]; then \
|
||||
wget -O $JKS_GO_DOWNLOAD_DIR/jks-go_linux_arm_armv7 https://github.com/certd/jks-go/releases/download/v${JKS_GO_VERSION}/jks-go_linux_arm_armv7 && \
|
||||
chmod +x $JKS_GO_DOWNLOAD_DIR/jks-go_linux_arm_armv7 && \
|
||||
ln -s $JKS_GO_DOWNLOAD_DIR/jks-go_linux_arm_armv7 /usr/local/bin/jks-go; \
|
||||
else \
|
||||
echo "Unsupported architecture: $ARCH"; \
|
||||
fi
|
||||
|
||||
ENV TZ=Asia/Shanghai
|
||||
ENV NODE_ENV=production
|
||||
ENV MIDWAY_SERVER_ENV=production
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
LEGO_VERSION=4.30.1
|
||||
JKS_GO_VERSION=1.0.3
|
||||
certd_plugin_loadmode=dev
|
||||
@@ -20,6 +20,7 @@ run/
|
||||
|
||||
.env.pgpl.yaml
|
||||
tools/lego/*
|
||||
tools/jks-go
|
||||
!tools/lego/readme.md
|
||||
test.mjs
|
||||
isolate-*.log
|
||||
|
||||
@@ -132,5 +132,7 @@ export class MainConfiguration {
|
||||
logger.info(text);
|
||||
});
|
||||
logger.info("当前环境:", this.app.getEnv()); // prod
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ export abstract class CertApplyBaseConvertPlugin extends AbstractTaskPlugin {
|
||||
}
|
||||
this._result.pipelinePrivateVars.cert = cert;
|
||||
|
||||
if (isNew || !cert.pfx) {
|
||||
if (isNew || !cert.pfx || !cert.der || !cert.jks || !cert.p7b) {
|
||||
try {
|
||||
const converter = new CertConverter({ logger: this.logger });
|
||||
const res = await converter.convert({
|
||||
|
||||
Reference in New Issue
Block a user