-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathDockerfile
49 lines (37 loc) · 1.68 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Build vmaas app with local changes to vmaas-lib
FROM registry.access.redhat.com/ubi9/ubi-minimal
ARG VAR_RPMS=""
RUN curl -o /etc/yum.repos.d/postgresql.repo \
https://copr.fedorainfracloud.org/coprs/mmraka/postgresql-16/repo/epel-9/mmraka-postgresql-16-epel-9.repo
RUN microdnf install -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \
python311 python3.11-pip python3-rpm which nginx rpm-devel git-core shadow-utils diffutils systemd libicu postgresql go-toolset \
$VAR_RPMS && \
ln -s /usr/lib64/python3.9/site-packages/rpm /usr/lib64/python3.11/site-packages/rpm && \
ln -s $(basename /usr/lib64/python3.9/site-packages/rpm/_rpm.*.so) /usr/lib64/python3.9/site-packages/rpm/_rpm.so && \
microdnf clean all
RUN git clone https://github.com/RedHatInsights/vmaas.git --branch master /vmaas
WORKDIR /vmaas
ENV LC_ALL=C.utf8
ENV LANG=C.utf8
ARG VAR_POETRY_INSTALL_OPT="--only main"
RUN pip3.11 install --upgrade pip && \
pip3.11 install --upgrade poetry~=1.5
RUN poetry export $VAR_POETRY_INSTALL_OPT -f requirements.txt --output requirements.txt && \
pip3.11 install -r requirements.txt
RUN install -m 1777 -d /data && \
adduser --gid 0 -d /vmaas --no-create-home vmaas
RUN mkdir -p /vmaas/go/src/vmaas && chown -R vmaas:root /vmaas/go
RUN mv /vmaas/vmaas-go/* /vmaas/go/src/vmaas
ENV PYTHONPATH=/vmaas
ENV GOPATH=/vmaas/go \
PATH=$PATH:/vmaas/go/bin
RUN mkdir /vmaas-lib && chown -R vmaas:root /vmaas-lib
ADD go.* /vmaas-lib/
ADD /vmaas/ /vmaas-lib/vmaas/
WORKDIR /vmaas/go/src/vmaas
RUN go mod edit -replace github.com/redhatinsights/vmaas-lib=/vmaas-lib
RUN go mod tidy
RUN go mod download
RUN go build -v main.go
WORKDIR /vmaas
USER vmaas