Refactor ingestor lease management and update Docker configurations - Updated CMD in Dockerfile to use the correct application entry point. - Added docker compose command to remove volumes in README. - Removed unnecessary restart policy from ingestor service in docker-compose.yaml. - Refactored manage_leases method in Ingestor class to improve clarity and parameter naming. - Added get_number_of_leases method in IngestorManager to retrieve active leases. - Implemented get_all_leases method in ResourceManager to fetch active leases from Redis. - Enhanced unit tests for lease management in test_ingestor_manager and test_resource_manager.
30 lines
772 B
Docker
30 lines
772 B
Docker
# syntax=docker/dockerfile:1.4
|
|
|
|
from python:3.11-slim
|
|
|
|
RUN apt-get update && apt-get install -y git openssh-client && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set the working directory
|
|
WORKDIR /app
|
|
|
|
# Copy the requirements file into the container
|
|
COPY requirements.txt .
|
|
COPY __init__.py .
|
|
|
|
# Copy code into the container
|
|
COPY ./ingestor ./ingestor
|
|
|
|
# Install the required packages
|
|
# Add github to known hosts
|
|
# This is needed for SSH to work
|
|
# The SSH key will NOT remain in the image
|
|
# IMPORTANT: this block requires BuildKit
|
|
# and the --ssh flag during docker build
|
|
RUN --mount=type=ssh \
|
|
mkdir -p ~/.ssh && \
|
|
ssh-keyscan github.com >> ~/.ssh/known_hosts && \
|
|
pip install --no-cache-dir -r requirements.txt
|
|
|
|
|
|
# Run the application
|
|
CMD ["python", "-m", "ingestor.app"] |