feat: add logrotate support with SIGHUP signal handling
Some checks failed
Build RPM Package / Build RPM Packages (CentOS 7, Rocky 8/9/10) (push) Has been cancelled
Some checks failed
Build RPM Package / Build RPM Packages (CentOS 7, Rocky 8/9/10) (push) Has been cancelled
- Add Reopenable interface in api/types.go for log rotation support - Add FileWriter.Reopen() method to reopen log files after rotation - Add MultiWriter.Reopen() method to propagate rotation to all writers - Update main.go to handle SIGHUP signal for systemctl reload - Add logrotate configuration file (packaging/logrotate/ja4sentinel) - Update systemd service with ExecReload for graceful rotation - Update architecture.yml with logrotate documentation - Update RPM spec and Dockerfile.package to include logrotate files - Bump version to 1.1.0 Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@ -35,7 +35,7 @@ COPY . .
|
||||
|
||||
# Build binary for Linux
|
||||
# Binary will be dynamically linked but compatible with all RHEL-based distros
|
||||
ARG VERSION=1.0.8
|
||||
ARG VERSION=1.1.0
|
||||
ARG BUILD_TIME=""
|
||||
ARG GIT_COMMIT=""
|
||||
RUN mkdir -p dist && \
|
||||
@ -53,7 +53,7 @@ FROM rockylinux:9 AS rpm-builder
|
||||
WORKDIR /package
|
||||
|
||||
# VERSION must be redeclared for each stage that needs it
|
||||
ARG VERSION=1.0.8
|
||||
ARG VERSION=1.1.0
|
||||
|
||||
# Install rpm-build tools (Rocky Linux 9)
|
||||
RUN dnf install -y \
|
||||
@ -64,7 +64,8 @@ RUN dnf install -y \
|
||||
&& dnf clean all
|
||||
|
||||
# Setup rpmbuild directory structure
|
||||
RUN mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
RUN mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} && \
|
||||
mkdir -p /root/rpmbuild/SOURCES/logrotate
|
||||
|
||||
# Copy spec file
|
||||
COPY packaging/rpm/ja4sentinel.spec /root/rpmbuild/SPECS/ja4sentinel.spec
|
||||
@ -72,11 +73,13 @@ COPY packaging/rpm/ja4sentinel.spec /root/rpmbuild/SPECS/ja4sentinel.spec
|
||||
# Copy binary from Go builder and other files to SOURCES
|
||||
COPY --from=builder /build/dist/ja4sentinel /root/rpmbuild/SOURCES/ja4sentinel
|
||||
COPY packaging/systemd/ja4sentinel.service /root/rpmbuild/SOURCES/ja4sentinel.service
|
||||
COPY packaging/logrotate/ja4sentinel /root/rpmbuild/SOURCES/logrotate/ja4sentinel
|
||||
COPY config.yml.example /root/rpmbuild/SOURCES/config.yml
|
||||
|
||||
# Set permissions
|
||||
RUN chmod 755 /root/rpmbuild/SOURCES/ja4sentinel && \
|
||||
chmod 644 /root/rpmbuild/SOURCES/ja4sentinel.service && \
|
||||
chmod 644 /root/rpmbuild/SOURCES/logrotate/ja4sentinel && \
|
||||
chmod 640 /root/rpmbuild/SOURCES/config.yml
|
||||
|
||||
# Build RPM for Rocky Linux 8 (el8)
|
||||
|
||||
Reference in New Issue
Block a user