FROM fedora:35 AS builder
ENV GOBIN=/opt/app-root/src/go/bin
# extra packages are needed
# to compile osbuild
RUN dnf install -y golang \
  krb5-devel \
  gpgme-devel \
  libassuan-devel
WORKDIR /osbuild-composer
COPY . /osbuild-composer
ENV GOFLAGS=-mod=vendor
RUN go install ./cmd/osbuild-worker

FROM fedora
RUN dnf update -y && dnf upgrade -y
RUN dnf install -y libxcrypt-compat qemu-img osbuild osbuild-ostree
RUN mkdir -p "/usr/libexec/osbuild-composer"
RUN mkdir -p "/etc/osbuild-composer/"
RUN mkdir -p "/run/osbuild-composer/"
RUN mkdir -p "/var/cache/osbuild-worker/"
RUN mkdir -p "/var/lib/osbuild-composer/"
RUN mkdir -p "/var/cache/osbuild-composer/output"
COPY --from=builder /opt/app-root/src/go/bin/osbuild-worker /usr/libexec/osbuild-composer/
COPY ./dnf-json /usr/libexec/osbuild-composer/

ENTRYPOINT ["/usr/libexec/osbuild-composer/osbuild-worker"]
