-
Notifications
You must be signed in to change notification settings - Fork 3
/
Containerfile
68 lines (53 loc) · 2.51 KB
/
Containerfile
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#
# Copyright (C) 2023 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
#
# SPDX-License-Identifier: Apache-2.0
FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/nodejs-18:1-80.1699550448 as node-builder
RUN npm install -g yarn
COPY ./podman-desktop-extension/src /opt/app-root/src/src
COPY ./podman-desktop-extension/package.json /opt/app-root/src/
COPY --chown=1001 ./podman-desktop-extension/yarn.lock /opt/app-root/src/
COPY ./podman-desktop-extension/tsconfig.json /opt/app-root/src/
COPY ./podman-desktop-extension/vite.config.js /opt/app-root/src/
COPY ./podman-desktop-extension/vitest.config.js /opt/app-root/src/
COPY ./podman-desktop-extension/LICENSE /opt/app-root/src/
COPY ./podman-desktop-extension/icon.png /opt/app-root/src/
COPY ./README.md /opt/app-root/src/
RUN yarn && yarn build
FROM scratch as extension-builder
COPY --from=node-builder /opt/app-root/src/dist/ /extension/dist
COPY ./podman-desktop-extension/package.json /extension/
COPY ./podman-desktop-extension/LICENSE /extension/
COPY ./podman-desktop-extension/icon.png /extension/
COPY ./README.md /extension/
FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/go-toolset:1.19.13-4.1697647145 as cli-builder
ARG PLATFORM_ARG
ARG OS_ARG
COPY ./go.mod /opt/app-root/src
COPY ./go.sum /opt/app-root/src
COPY ./main.go /opt/app-root/src
COPY ./pkg /opt/app-root/src/pkg/
COPY ./Makefile /opt/app-root/src
RUN make bin/doa.cross.${OS_ARG}.${PLATFORM_ARG}
FROM --platform=$TARGETPLATFORM scratch
ARG PLATFORM_ARG
ARG OS_ARG
ARG TARGET_ARG
LABEL org.opencontainers.image.title="OpenShift Checker" \
org.opencontainers.image.description="Analyze a Containerfile and highlight the directives and commands which could cause an unexpected behavior when running on an OpenShift cluster." \
org.opencontainers.image.vendor="Red Hat" \
io.podman-desktop.api.version=">= 1.5.3"
COPY --from=extension-builder /extension /extension
COPY --from=cli-builder /opt/app-root/src/bin/doa.cross.${OS_ARG}.${PLATFORM_ARG} /extension/${TARGET_ARG}