Updating go.sum and go.mod in vespa
[ric-plt/vespamgr.git] / Dockerfile
old mode 100644 (file)
new mode 100755 (executable)
index de491db..17bbb25
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
+#
+#   This source code is part of the near-RT RIC (RAN Intelligent Controller)
+#   platform project (RICP).
+#
 
-# Start from golang v1.12 base image
-FROM golang:1.12 as gobuild
+FROM golang:1.16 as gobuild
+
+# Install utilities
+RUN apt update && apt install -y iputils-ping net-tools curl sudo
 
 # Set the Working Directory for ves-agent inside the container
 RUN mkdir -p $GOPATH/src/VESPA
@@ -31,41 +37,30 @@ RUN export GOPATH=$HOME/go && \
     export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
     go install -v ./ves-agent
 
-# Set the Working Directory for vesmgr inside the container
-RUN mkdir -p $GOPATH/src/vesmgr
-WORKDIR $GOPATH/src/vesmgr
-
-# Copy vesmgr to the Working Directory
-COPY $HOME/ .
+# Set the Working Directory for vespamgr inside the container
+RUN mkdir -p /go/src/vespamgr
+RUN mkdir -p /cfg
+COPY . /go/src/vespamgr
+WORKDIR /go/src/vespamgr
 
-RUN GO111MODULE=on go mod download
-
-# Run vesmgr UT
-RUN export GOPATH=$HOME/go && \
-    export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
-    go test ./...
+RUN ./build_vesmgr.sh
 
-# Install vesmgr
-RUN export GOPATH=$HOME/go && \
-    export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
-    go install -v ./cmd/vesmgr
-
-#################
-#
-# Second phase, copy compiled stuff to a runtime container
-
-# Ubuntu or something smaller?
+# Final, executable and deployable container
 FROM ubuntu:18.04
-# For trouble-shooting
-RUN apt-get update; apt-get install -y \
-    iputils-ping \
-    net-tools \
-    curl
 
-# Create the configuration directory for ves agent
 RUN mkdir -p /etc/ves-agent
-COPY --from=gobuild root/go/bin /root/go/bin
+
+COPY --from=gobuild /usr/local/lib /usr/local/lib
+COPY --from=gobuild /root/go/bin /root/go/bin
+COPY --from=gobuild /root/go/bin/vespamgr /usr/local/bin/vesmgr
+COPY --from=gobuild /root/go/bin/vespamgr /vespamgr
+COPY --from=gobuild /go/src/vespamgr/config/* /cfg/
+COPY --from=gobuild /go/src/vespamgr/config/plt-counter.json /cfg/plt-counter.json
+RUN ldconfig
+
+ENV CFG_FILE=/cfg/config-file.json
+ENV RMR_SEED_RT=/cfg/uta_rtg.rt
 
 ENV PATH="/root/go/bin:${PATH}"
 
-ENTRYPOINT ["vesmgr"]
+ENTRYPOINT ["/vespamgr"]