# 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
+# 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
WORKDIR $GOPATH/src/VESPA
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"]