# ci-full — heaviest image, includes everything for release, molecule, deploy.
#
# Used by: release, publish, release-dry-run, molecule-tests,
#          provision-infra, deploy-observability, provision-zitadel,
#          deploy-customer, integration-tests
#
# Layers on top of ci-quality: adds release tools, molecule, deploy deps,
# git-cliff, and OpenTofu.

FROM git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-quality:latest

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

# Install rsync (required by molecule_docker for file sync between host and test containers)
RUN apt-get update && apt-get install -y --no-install-recommends rsync \
    && rm -rf /var/lib/apt/lists/*

# Install devx[release,molecule,deploy] from local source
COPY . /tmp/devx
RUN pip install --no-cache-dir /tmp/devx[release,molecule,deploy] \
    && rm -rf /tmp/devx

# Install git-cliff (changelog generator for release job), OpenTofu (for infra deploy jobs),
# and promtool (Prometheus rule validator — used by every infra CI run for alert validation)
RUN python3 -m devx.tools.install_tools --tool git-cliff --tool tofu --tool promtool
