-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile.allinone
53 lines (41 loc) · 2.47 KB
/
Dockerfile.allinone
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
50
51
52
53
FROM registry.redhat.io/ubi9/nodejs-22:latest@sha256:1260d0a794193dc5939433ccab1d0cdfb5063f5be697be5c8d3b8f0fec243aac as builder-ui
WORKDIR /opt/app-root/src
USER root
COPY jaeger-ui jaeger-ui
# this directory is checked by ecosystem-cert-preflight-checks task in Konflux
COPY jaeger-ui/LICENSE /licenses/
WORKDIR /opt/app-root/src/jaeger-ui
RUN npm ci --ignore-scripts
RUN npm run build
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_8_golang_1.22@sha256:414352c89e06f25f79b4927328504edcdbfe676cd9596b44afff2eb4117c17e0 as builder
WORKDIR /opt/app-root/src
USER root
COPY .git .git
COPY jaeger jaeger
# this directory is checked by ecosystem-cert-preflight-checks task in Konflux
COPY jaeger/LICENSE /licenses/
WORKDIR /opt/app-root/src/jaeger
COPY --from=builder-ui /opt/app-root/src/jaeger-ui /opt/app-root/src/jaeger-ui
RUN rm -rf ./cmd/query/app/ui/actual && mkdir ./cmd/query/app/ui/actual && cp -r /opt/app-root/src/jaeger-ui/packages/jaeger-ui/build/* ./cmd/query/app/ui/actual/ && find ./cmd/query/app/ui/actual -type f | xargs gzip && \
exportOrFail() { echo $1; if [[ $1 == *= ]]; then echo "Error: empty variable assignment"; exit 1; else export "$1"; fi } && \
exportOrFail VERSION_PKG="github.com/jaegertracing/jaeger/pkg/version" && \
exportOrFail VERSION_DATE=`date -u +'%Y-%m-%dT%H:%M:%SZ'` && \
exportOrFail GIT_LATEST_TAG=`git describe --abbrev=0 --tags --always` && \
exportOrFail GIT_COMMIT_SHA=`git rev-parse HEAD` && \
go build -C ./cmd/all-in-one -mod=mod -tags ui -o ./jaeger -trimpath -ldflags "-s -w -X ${VERSION_PKG}.commitSHA=${GIT_COMMIT_SHA} -X ${VERSION_PKG}.latestVersion=${GIT_LATEST_TAG} -X ${VERSION_PKG}.date=${VERSION_DATE}"
FROM registry.redhat.io/ubi8/ubi-minimal:latest@sha256:c12e67af6a7e15113d76bc72f10bef2045c026c71ec8b7124c8a075458188a83
WORKDIR /
RUN mkdir /licenses
COPY jaeger/LICENSE /licenses/.
COPY --from=builder /opt/app-root/src/jaeger/cmd/all-in-one/jaeger /usr/bin/jaeger
ARG USER_UID=1001
USER ${USER_UID}
ENTRYPOINT ["/usr/bin/jaeger"]
LABEL com.redhat.component="jaeger-all-in-one-container" \
name="rhosdt/jaeger-all-in-one-rhel8" \
summary="Jaeger all-in-one" \
description="All-in-one for the distributed tracing system" \
io.k8s.description="All-in-one for the distributed tracing system." \
io.openshift.expose-services="16686:uihttp,14267:tchannel,14268:http,14250:grpc,4317:grpc,4318:http" \
io.openshift.tags="tracing" \
io.k8s.display-name="Jaeger all-in-one"