Release image version 1.12.2
[testsuite.git] / docker / Dockerfile
1 FROM ubuntu:20.04 as base
2
3 ## Be careful of Windows newlines
4 MAINTAINER "ONAP"
5 LABEL name="Docker image for the ONAP Robot Testing Framework"
6 LABEL usage="docker run -e ROBOT_TEST=<testname> -ti onapete"
7 ENV BUILDTIME=true
8 ENV DEBIAN_FRONTEND noninteractive
9
10 ARG KUBERNETES_VERSION="v1.23.8"
11 ARG HELM_VERSION="v3.8.2"
12
13 ARG PYTHON_UTILS_REPO=git.onap.org/testsuite/python-testing-utils.git
14 ARG PYTHON_UTILS_TAG=master
15
16 ARG DEMO_REPO=git.onap.org/demo
17 ARG DEMO_TAG=master
18
19 # Install apt packages, Python, Pip, etc
20 RUN apt-get update &&  \
21     apt-get install --no-install-recommends --assume-yes  \
22     chromium-browser  \
23     chromium-chromedriver  \
24     dnsutils  \
25     git  \
26     gcc  \
27     libffi-dev  \
28     libssl-dev  \
29     lighttpd  \
30     make  \
31     net-tools  \
32     netbase  \
33     unzip  \
34     zip  \
35     x11-utils  \
36     x11-xserver-utils  \
37     xvfb  \
38     xxd  \
39     wget  \
40     vim  \
41     python3.8  \
42     python3.8-dev  \
43     python3-pip &&  \
44     ln -s /usr/bin/python3 /usr/bin/python && \
45     apt-get autoremove --assume-yes &&  \
46     rm -rf /var/lib/apt/lists/* &&  \
47     apt-get clean
48
49 # Get kubectl
50 ADD https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/amd64/kubectl /usr/local/bin/kubectl
51 # Get helm
52 ADD https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 get_helm.sh
53
54 COPY requirements.txt requirements.txt
55
56 RUN mkdir -p /var/opt/ONAP &&  \
57     pip3 install --no-cache-dir -r requirements.txt setuptools wheel virtualenv &&  \
58     pip3 install --no-cache-dir git+https://$PYTHON_UTILS_REPO@$PYTHON_UTILS_TAG#egg=robotframework-onap\&subdirectory=robotframework-onap && \
59     git clone --depth 1 https://$DEMO_REPO -b $DEMO_TAG /var/opt/ONAP/demo &&  \
60     chmod +x /usr/local/bin/kubectl &&  \
61     chmod 700 get_helm.sh &&  \
62     ./get_helm.sh --version $HELM_VERSION
63
64
65 COPY html/ /var/opt/ONAP/html
66 COPY robot/ /var/opt/ONAP/robot
67 COPY *.sh /var/opt/ONAP/
68 COPY docker/lighttpd.conf /etc/lighttpd/lighttpd.conf
69 COPY docker/authorization /etc/lighttpd/authorization
70
71 RUN mkdir -p /app &&  \
72     cp /var/opt/ONAP/setup-hvves.sh /app &&  \
73     chmod 600 /var/opt/ONAP/robot/assets/keys/* &&  \
74     chmod 777 /var/opt/ONAP/*.sh &&  \
75     cd /var/opt/ONAP &&  \
76     ./setup.sh
77
78 CMD ["lighttpd", "-D", "-f",  "/etc/lighttpd/lighttpd.conf"]