mirror of
https://github.com/recklessop/Zerto_Exporter.git
synced 2026-07-04 00:13:15 -04:00
Refactor to prometheus_client, JSON logging, and codebase cleanup
- Replace file-based metrics and HTTP server with prometheus_client (Gauge + start_http_server), eliminating file I/O race conditions - Fix ThreadProbe and thread restart lambda bugs - Switch logging from RotatingFileHandler to JSON stdout for fluentd/Loki - Add PYTHONUNBUFFERED=1 to Dockerfile for immediate container log output - Upgrade base image from python:3.12.3-slim to python:3.13-slim - Upgrade pyvmomi to 9.0.0.0; pin pydantic>=2.9.0 and typing_extensions>=4.12.2 to use pre-built Python 3.13 wheels (removes Rust toolchain from build) - Remove unused packages: boto3, botocore, s3transfer, jmespath, redis, docopt, pyflakes, posthog - Remove unused imports (Posthog, CaseInsensitiveDict) and dead variables (callhomestats, local_site_info, lastStats) - Fix service_profile() NameError (siteidentifier -> serviceProfileIdentifier) - Remove bare print() in zvma.py __authhandler__, replace with self.log.info() - Remove all commented-out PostHog blocks from zvma10/zvma.py - Delete legacy zvma9_7/ module and app/logs/ directory - Remove deprecated 'version: 3.3' from docker-compose.yml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+3
-8
@@ -1,11 +1,10 @@
|
||||
FROM python:3.12.3-slim
|
||||
FROM python:3.13-slim
|
||||
|
||||
EXPOSE 9999
|
||||
|
||||
# Install system dependencies
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
curl \
|
||||
gcc \
|
||||
libffi-dev \
|
||||
libssl-dev \
|
||||
@@ -13,14 +12,12 @@ RUN apt-get update \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# Install Rust and Cargo using curl with IPv4 only
|
||||
RUN CURL_IPRESOLVE=4 curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Set PYTHONPATH to include /usr/src/app
|
||||
ENV PYTHONPATH=/usr/src/app
|
||||
# Disable stdout buffering so logs appear immediately in the container console
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Copy the zerto exporter into the container
|
||||
COPY app /usr/src/app/
|
||||
@@ -29,8 +26,6 @@ COPY app /usr/src/app/
|
||||
RUN [ -f uuid.txt ] && rm uuid.txt || echo "No uuid.txt file to delete"
|
||||
|
||||
# Install Python dependencies
|
||||
# Set environment variable for PyO3 compatibility
|
||||
ENV PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
|
||||
RUN pip install --upgrade pip
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user