Skip to content

Version Drift, Script Redundancy, and Documentation Errors in docker-images #11

@PATELSHAIL7125

Description

@PATELSHAIL7125

Team 102

Observation: Version Drift, Script Redundancy, and Documentation Errors in docker-images

While reviewing the docker-images repository, I identified several systemic issues that impact build reliability, consistency, and maintainability.


Issues Identified

Base Image Version Drift

  • keploy-ci-python/Dockerfile (line 3) and keploy-ci-java/Dockerfile (line 3) are pinned to 1.2.9
  • keploy-ci-node/Dockerfile (line 3) is pinned to 1.2.14

This creates inconsistent base environments across language stacks.


Script Redundancy (Duplication)

  • The minio-cache helper script exists in:

    • keploy-ci-node/
    • keploy-ci-playwright/

These scripts are identical but maintained separately, increasing maintenance overhead and risk of divergence.


Outdated & Incorrect Documentation

  • README.md (line 12) states the base image is docker:26.1-dind

  • Actual keploy-ci/Dockerfile (line 7) uses debian:trixie-slim

  • README.md (line 13) claims Go 1.25.0

  • Dockerfile (line 9) uses Go 1.25.7

This mismatch can mislead contributors during debugging or setup.


Non-Deterministic Tagging

  • keploy-ci-awscli/Dockerfile (line 3) uses aws-cli:latest

Using :latest violates CI best practices and may introduce unexpected breaking changes.


Why This Is Problematic

  • Inconsistent Test Environments
    Fixes applied to one base image may not exist across all stacks, causing unreliable CI behavior.

  • Maintenance Burden
    Updates to minio-cache must be repeated manually in multiple locations.

  • Developer Confusion
    Incorrect README information leads to wrong assumptions about OS and tool versions.

  • Unreliable Builds
    The :latest tag makes builds non-reproducible.


Expected Behavior

  • All variant images (Python, Java, Node, etc.) should use a unified base version.
  • Shared utility scripts should live in the core keploy-ci image.
  • Documentation must match actual Dockerfile configurations.
  • External images should use immutable version tags.

Impact

  • Standardization: Consistent CI environments
  • Reduced Maintenance: Single source of truth for shared scripts
  • Reliability: Reproducible builds without unexpected breaks
  • Clarity: Accurate documentation for contributors

I’d be happy to help implement these improvements if assigned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions