NONRTRIC-946: Servicemanager - mock kong and capif as library
[nonrtric/plt/sme.git] / servicemanager / Dockerfile
1 #==================================================================================
2 #   Copyright (C) 2024: OpenInfra Foundation Europe
3 #
4 #   Licensed under the Apache License, Version 2.0 (the "License");
5 #   you may not use this file except in compliance with the License.
6 #   You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #   Unless required by applicable law or agreed to in writing, software
11 #   distributed under the License is distributed on an "AS IS" BASIS,
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #   See the License for the specific language governing permissions and
14 #   limitations under the License.
15 #
16 #==================================================================================
17
18 ##
19 ## Build
20 ##
21 FROM nexus3.o-ran-sc.org:10001/golang:1.19.2-bullseye AS build
22
23 WORKDIR /app/capifcore
24
25 COPY capifcore/go.mod .
26 COPY capifcore/go.sum .
27 RUN go mod download
28
29 COPY ./capifcore/. .
30
31 WORKDIR /app/servicemanager
32
33 COPY servicemanager/go.mod .
34 COPY servicemanager/go.sum .
35 RUN go mod download
36
37 COPY ./servicemanager/. .
38
39 RUN go build
40
41 WORKDIR /app/servicemanager/internal
42 RUN go build kongclearup.go
43
44 ##
45 ## Deploy
46 ##
47
48 FROM ubuntu:22.04
49
50 # We use the /app/servicemanager directory as this is where our servicemanager build expects to find its .env file.
51 WORKDIR /app/servicemanager
52
53 ## Copy from "build" stage
54 COPY --from=build /app/servicemanager/servicemanager .
55 COPY --from=build /app/servicemanager/internal/kongclearup .
56
57 ENTRYPOINT ["/app/servicemanager/servicemanager"]