debian-forge-composer/distribution/Dockerfile-ubi
Christian Kellner 4c55063a55 Dockerfile-ubi: install gpgme devel package in builder
The go package `proglottis/gpgme` a dependency of `containers/image/v5`
package uses `libgpgme`. In the near future `internal/container`, which
depends on `containers/image/v5`, will be used directly in composer and
thus we need to install the `gpgme` devel package and its build deps.
2022-07-21 13:32:07 +02:00

32 lines
1.4 KiB
Text

FROM registry.access.redhat.com/ubi8/go-toolset:latest AS builder
# We need to be root to install packages, but ubi8/go-toolset defaults to uid 1001
USER 0
# The go package `proglottis/gpgme` a dependency of `containers/image/v5` package
# uses `libgpgme` so we need to install it and its build dependencies
RUN dnf install -y gpgme-devel libassuan-devel
USER 1001
COPY . .
ENV GOFLAGS=-mod=vendor
RUN go install ./cmd/osbuild-composer/
FROM registry.access.redhat.com/ubi8/go-toolset:latest AS builder2
RUN go get -u github.com/jackc/tern
FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
RUN microdnf install python3 python3-dnf
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-composer/"
RUN mkdir -p "/var/lib/osbuild-composer/"
RUN mkdir -p "/usr/share/osbuild-composer/"
RUN mkdir -p "/opt/migrate/"
COPY --from=builder /opt/app-root/src/go/bin/osbuild-composer /usr/libexec/osbuild-composer/
COPY ./containers/osbuild-composer/entrypoint.py /opt/entrypoint.py
COPY ./dnf-json /usr/libexec/osbuild-composer/
COPY ./pkg/jobqueue/dbjobqueue/schemas /opt/migrate/schemas
COPY --from=builder2 /opt/app-root/src/go/bin/tern /opt/migrate/
EXPOSE 8080 8700
ENTRYPOINT ["python3", "/opt/entrypoint.py", "--remote-worker-api", "--composer-api", "--shutdown-wait-period", "15"]