# https://hub.docker.com/_/alpine?tab=tags
FROM alpine:3.15

LABEL name="Stackspin management"
LABEL version="4.5"
LABEL vendor1="Greenhost"

ENV TAIKO_SKIP_CHROMIUM_DOWNLOAD=true
ENV TAIKO_BROWSER_PATH=/usr/bin/chromium-browser
ENV TAIKO_BROWSER_ARGS=--no-sandbox,--start-maximized,--disable-dev-shm-usage,--ignore-certificate-errors

ADD https://github.com/fluxcd/flux2/releases/download/v0.25.3/flux_0.25.3_linux_amd64.tar.gz /tmp/
COPY ./requirements.txt /requirements.txt
RUN \
  # Install kubectl from alpine edge until alpine 3.16 is released
  apk --no-cache add kubectl=~1.23.4-r0 \
    --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing && \
  apk --no-cache add \
    bash=~5.1.16-r0 \
    cargo=~1.56.1-r0 \
    chromium=~93.0.4577.82-r3 \
    curl=~7.80.0-r0 \
    # needed for installing pycurl python module
    curl-dev=~7.80.0-r0 \
    # Needed for "unbuffer" to timestamp cmds
    expect=~5.45.4-r2 \
    git=~2.34.1-r0 \
    libffi-dev=~3.4.2-r1 \
    make=~4.3-r0 \
    # Needed for timestamp cmd "ts"
    moreutils=~0.66-r1 \
    npm=~8.1.3-r0 \
    openssh-client-default=~8.8_p1-r1 \
    py3-pip=~20.3.4-r1 \
    python3-dev=~3.9.7-r4 \
    rsync=~3.2.3-r5 \
    yq=~4.14.1-r0 && \
  rm -rf /var/cache/* && \
  mkdir /var/cache/apk && \
  pip install --no-cache-dir --ignore-installed six -r /requirements.txt && \
  ln -s /usr/bin/python3 /usr/bin/python && \
  tar -xzf /tmp/flux*.tar.gz && mv ./flux /usr/local/bin && \
  npm install -g taiko@1.2.6