Skip to content

Commit 6a43647

Browse files
authored
Merge pull request #114 from lcarva/use-better-binaries
Use trusted binary or build from source
2 parents 63c5629 + 54e1611 commit 6a43647

File tree

7 files changed

+1724
-14
lines changed

7 files changed

+1724
-14
lines changed

Dockerfile

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,36 @@
1-
#
2-
# Base image for use as a step runner for RHTAP pipelines
3-
#
1+
FROM registry.redhat.io/rhtas/cosign-rhel9:1.1.0@sha256:6fa39582a3d62a2aa5404397bb638fdd0960f9392db659d033d7bacf70bddfb1 as cosign
42

5-
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.5@sha256:d85040b6e3ed3628a89683f51a38c709185efc3fb552db2ad1b9180f2a6c38be
3+
FROM registry.redhat.io/rhtas/ec-rhel9:0.5@sha256:3d330b4c742f584be63cf11e451f7822863a5960976a721e18bd8b2e9f1c0038 as ec
4+
5+
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:v1.23@sha256:ca0c771ecd4f606986253f747e2773fe2960a6b5e8e7a52f6a4797b173ac7f56 as go-builder
6+
7+
WORKDIR /build
68

7-
# Todo:
8-
# - Pin all the versions (maybe)
9-
# - Don't hard code the arch and platform in curl downloads
10-
# - Use RH builds instead of upstream where possible
11-
# - Check the sigature files for the curl downloads
9+
COPY . .
10+
11+
ENV GOBIN=/usr/local/bin/
12+
13+
RUN \
14+
cd tools/yq && \
15+
go install -trimpath --mod=readonly github.com/mikefarah/yq/v4 && \
16+
yq --version
17+
18+
RUN \
19+
cd tools/syft && \
20+
go install -trimpath --mod=readonly github.com/anchore/syft/cmd/syft && \
21+
syft version
22+
23+
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.5@sha256:d85040b6e3ed3628a89683f51a38c709185efc3fb552db2ad1b9180f2a6c38be
1224

1325
RUN \
1426
microdnf upgrade --assumeyes --nodocs --setopt=keepcache=0 --refresh && \
1527
microdnf -y --nodocs --setopt=keepcache=0 install which git-core jq python3.11 podman buildah podman fuse-overlayfs findutils && \
1628
ln -s /usr/bin/python3.11 /usr/bin/python3
1729

18-
RUN \
19-
curl -sL https://github.com/mikefarah/yq/releases/download/v4.44.3/yq_linux_amd64 -o /usr/bin/yq && chmod 755 /usr/bin/yq && \
20-
curl -sL https://github.com/sigstore/cosign/releases/download/v2.4.1/cosign-linux-amd64 -o /usr/bin/cosign && chmod 755 /usr/bin/cosign && \
21-
curl -sL https://github.com/enterprise-contract/ec-cli/releases/download/v0.6.104/ec_linux_amd64 -o /usr/bin/ec && chmod 755 /usr/bin/ec && \
22-
curl -sL https://github.com/anchore/syft/releases/download/v1.14.2/syft_1.14.2_linux_amd64.tar.gz | tar zxf - syft && mv syft /usr/bin/syft
30+
COPY --from=cosign /usr/local/bin/cosign /usr/bin/cosign
31+
COPY --from=ec /usr/local/bin/ec /usr/bin/ec
32+
COPY --from=go-builder /usr/local/bin/yq /usr/bin/yq
33+
COPY --from=go-builder /usr/local/bin/syft /usr/bin/syft
2334

2435
WORKDIR /work
2536

tools/syft/go.mod

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
module github.com/redhat-appstudio/tssc-dev-multi-ci/tools/syft
2+
3+
go 1.23.0
4+
5+
require github.com/anchore/syft v1.14.2
6+
7+
require (
8+
dario.cat/mergo v1.0.1 // indirect
9+
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
10+
github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 // indirect
11+
github.com/BurntSushi/toml v1.4.0 // indirect
12+
github.com/CycloneDX/cyclonedx-go v0.9.1 // indirect
13+
github.com/DataDog/zstd v1.5.5 // indirect
14+
github.com/Masterminds/goutils v1.1.1 // indirect
15+
github.com/Masterminds/semver v1.5.0 // indirect
16+
github.com/Masterminds/semver/v3 v3.3.0 // indirect
17+
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
18+
github.com/Microsoft/go-winio v0.6.2 // indirect
19+
github.com/Microsoft/hcsshim v0.11.7 // indirect
20+
github.com/ProtonMail/go-crypto v1.0.0 // indirect
21+
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
22+
github.com/acobaugh/osrelease v0.1.0 // indirect
23+
github.com/adrg/xdg v0.5.1 // indirect
24+
github.com/anchore/bubbly v0.0.0-20231115134915-def0aba654a9 // indirect
25+
github.com/anchore/clio v0.0.0-20240522144804-d81e109008aa // indirect
26+
github.com/anchore/fangs v0.0.0-20240903175602-e716ef12c23d // indirect
27+
github.com/anchore/go-collections v0.0.0-20240216171411-9321230ce537 // indirect
28+
github.com/anchore/go-logger v0.0.0-20230725134548-c21dafa1ec5a // indirect
29+
github.com/anchore/go-macholibre v0.0.0-20220308212642-53e6d0aaf6fb // indirect
30+
github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 // indirect
31+
github.com/anchore/go-version v1.2.2-0.20200701162849-18adb9c92b9b // indirect
32+
github.com/anchore/packageurl-go v0.1.1-0.20241018175412-5c22e6360c4f // indirect
33+
github.com/anchore/stereoscope v0.0.5-0.20241018131503-a38c93517fc7 // indirect
34+
github.com/andybalholm/brotli v1.0.4 // indirect
35+
github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 // indirect
36+
github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492 // indirect
37+
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
38+
github.com/becheran/wildmatch-go v1.0.0 // indirect
39+
github.com/bmatcuk/doublestar/v4 v4.7.1 // indirect
40+
github.com/charmbracelet/bubbles v0.20.0 // indirect
41+
github.com/charmbracelet/bubbletea v1.1.1 // indirect
42+
github.com/charmbracelet/harmonica v0.2.0 // indirect
43+
github.com/charmbracelet/lipgloss v0.13.0 // indirect
44+
github.com/charmbracelet/x/ansi v0.2.3 // indirect
45+
github.com/charmbracelet/x/term v0.2.0 // indirect
46+
github.com/cloudflare/circl v1.3.8 // indirect
47+
github.com/containerd/cgroups v1.1.0 // indirect
48+
github.com/containerd/containerd v1.7.23 // indirect
49+
github.com/containerd/containerd/api v1.7.19 // indirect
50+
github.com/containerd/continuity v0.4.2 // indirect
51+
github.com/containerd/errdefs v0.3.0 // indirect
52+
github.com/containerd/fifo v1.1.0 // indirect
53+
github.com/containerd/log v0.1.0 // indirect
54+
github.com/containerd/platforms v0.2.1 // indirect
55+
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
56+
github.com/containerd/ttrpc v1.2.5 // indirect
57+
github.com/containerd/typeurl/v2 v2.1.1 // indirect
58+
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
59+
github.com/deitch/magic v0.0.0-20230404182410-1ff89d7342da // indirect
60+
github.com/distribution/reference v0.6.0 // indirect
61+
github.com/docker/cli v27.3.1+incompatible // indirect
62+
github.com/docker/distribution v2.8.3+incompatible // indirect
63+
github.com/docker/docker v27.3.1+incompatible // indirect
64+
github.com/docker/docker-credential-helpers v0.7.0 // indirect
65+
github.com/docker/go-connections v0.4.0 // indirect
66+
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
67+
github.com/docker/go-units v0.5.0 // indirect
68+
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
69+
github.com/dustin/go-humanize v1.0.1 // indirect
70+
github.com/edsrzf/mmap-go v1.1.0 // indirect
71+
github.com/elliotchance/phpserialize v1.4.0 // indirect
72+
github.com/emirpasic/gods v1.18.1 // indirect
73+
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
74+
github.com/facebookincubator/nvdtools v0.1.5 // indirect
75+
github.com/felixge/fgprof v0.9.3 // indirect
76+
github.com/felixge/httpsnoop v1.0.4 // indirect
77+
github.com/fsnotify/fsnotify v1.7.0 // indirect
78+
github.com/gabriel-vasile/mimetype v1.4.6 // indirect
79+
github.com/github/go-spdx/v2 v2.3.2 // indirect
80+
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
81+
github.com/go-git/go-billy/v5 v5.5.0 // indirect
82+
github.com/go-git/go-git/v5 v5.12.0 // indirect
83+
github.com/go-logr/logr v1.4.1 // indirect
84+
github.com/go-logr/stdr v1.2.2 // indirect
85+
github.com/go-restruct/restruct v1.2.0-alpha // indirect
86+
github.com/gogo/protobuf v1.3.2 // indirect
87+
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
88+
github.com/golang/protobuf v1.5.4 // indirect
89+
github.com/golang/snappy v0.0.4 // indirect
90+
github.com/google/go-cmp v0.6.0 // indirect
91+
github.com/google/go-containerregistry v0.20.2 // indirect
92+
github.com/google/licensecheck v0.3.1 // indirect
93+
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd // indirect
94+
github.com/google/uuid v1.6.0 // indirect
95+
github.com/gookit/color v1.5.4 // indirect
96+
github.com/hashicorp/errwrap v1.1.0 // indirect
97+
github.com/hashicorp/go-multierror v1.1.1 // indirect
98+
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
99+
github.com/hashicorp/hcl v1.0.0 // indirect
100+
github.com/huandu/xstrings v1.5.0 // indirect
101+
github.com/iancoleman/strcase v0.3.0 // indirect
102+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
103+
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
104+
github.com/jedib0t/go-pretty/v6 v6.6.1 // indirect
105+
github.com/jinzhu/copier v0.4.0 // indirect
106+
github.com/kastenhq/goversion v0.0.0-20230811215019-93b2f8823953 // indirect
107+
github.com/kevinburke/ssh_config v1.2.0 // indirect
108+
github.com/klauspost/compress v1.17.8 // indirect
109+
github.com/klauspost/pgzip v1.2.5 // indirect
110+
github.com/knqyf263/go-rpmdb v0.1.1 // indirect
111+
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
112+
github.com/magiconair/properties v1.8.7 // indirect
113+
github.com/mattn/go-colorable v0.1.13 // indirect
114+
github.com/mattn/go-isatty v0.0.20 // indirect
115+
github.com/mattn/go-localereader v0.0.2-0.20220822084749-2491eb6c1c75 // indirect
116+
github.com/mattn/go-runewidth v0.0.16 // indirect
117+
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
118+
github.com/mholt/archiver/v3 v3.5.1 // indirect
119+
github.com/microsoft/go-rustaudit v0.0.0-20220730194248-4b17361d90a5 // indirect
120+
github.com/mitchellh/copystructure v1.2.0 // indirect
121+
github.com/mitchellh/go-homedir v1.1.0 // indirect
122+
github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect
123+
github.com/mitchellh/mapstructure v1.5.0 // indirect
124+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
125+
github.com/moby/docker-image-spec v1.3.1 // indirect
126+
github.com/moby/locker v1.0.1 // indirect
127+
github.com/moby/sys/mountinfo v0.7.2 // indirect
128+
github.com/moby/sys/sequential v0.5.0 // indirect
129+
github.com/moby/sys/signal v0.7.0 // indirect
130+
github.com/moby/sys/user v0.3.0 // indirect
131+
github.com/moby/sys/userns v0.1.0 // indirect
132+
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
133+
github.com/muesli/cancelreader v0.2.2 // indirect
134+
github.com/muesli/termenv v0.15.2 // indirect
135+
github.com/ncruces/go-strftime v0.1.9 // indirect
136+
github.com/nwaples/rardecode v1.1.0 // indirect
137+
github.com/olekukonko/tablewriter v0.0.5 // indirect
138+
github.com/opencontainers/go-digest v1.0.0 // indirect
139+
github.com/opencontainers/image-spec v1.1.0 // indirect
140+
github.com/opencontainers/runtime-spec v1.1.0 // indirect
141+
github.com/opencontainers/selinux v1.11.0 // indirect
142+
github.com/pborman/indent v1.2.1 // indirect
143+
github.com/pelletier/go-toml v1.9.5 // indirect
144+
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
145+
github.com/pierrec/lz4/v4 v4.1.19 // indirect
146+
github.com/pjbgf/sha1cd v0.3.0 // indirect
147+
github.com/pkg/errors v0.9.1 // indirect
148+
github.com/pkg/profile v1.7.0 // indirect
149+
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
150+
github.com/rivo/uniseg v0.4.7 // indirect
151+
github.com/saferwall/pe v1.5.4 // indirect
152+
github.com/sagikazarmark/locafero v0.4.0 // indirect
153+
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
154+
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect
155+
github.com/sassoftware/go-rpmutils v0.4.0 // indirect
156+
github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e // indirect
157+
github.com/secDre4mer/pkcs7 v0.0.0-20240322103146-665324a4461d // indirect
158+
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
159+
github.com/shopspring/decimal v1.4.0 // indirect
160+
github.com/sirupsen/logrus v1.9.3 // indirect
161+
github.com/skeema/knownhosts v1.2.2 // indirect
162+
github.com/sourcegraph/conc v0.3.0 // indirect
163+
github.com/spdx/tools-golang v0.5.5 // indirect
164+
github.com/spf13/afero v1.11.0 // indirect
165+
github.com/spf13/cast v1.7.0 // indirect
166+
github.com/spf13/cobra v1.8.1 // indirect
167+
github.com/spf13/pflag v1.0.5 // indirect
168+
github.com/spf13/viper v1.19.0 // indirect
169+
github.com/subosito/gotenv v1.6.0 // indirect
170+
github.com/sylabs/sif/v2 v2.19.1 // indirect
171+
github.com/sylabs/squashfs v1.0.0 // indirect
172+
github.com/therootcompany/xz v1.0.1 // indirect
173+
github.com/ulikunitz/xz v0.5.12 // indirect
174+
github.com/vbatts/go-mtree v0.5.4 // indirect
175+
github.com/vbatts/tar-split v0.11.3 // indirect
176+
github.com/vifraa/gopom v1.0.0 // indirect
177+
github.com/wagoodman/go-partybus v0.0.0-20230516145632-8ccac152c651 // indirect
178+
github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0 // indirect
179+
github.com/xanzy/ssh-agent v0.3.3 // indirect
180+
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
181+
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
182+
github.com/zyedidia/generic v1.2.2-0.20230320175451-4410d2372cb1 // indirect
183+
go.opencensus.io v0.24.0 // indirect
184+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
185+
go.opentelemetry.io/otel v1.24.0 // indirect
186+
go.opentelemetry.io/otel/metric v1.24.0 // indirect
187+
go.opentelemetry.io/otel/trace v1.24.0 // indirect
188+
go.uber.org/atomic v1.9.0 // indirect
189+
go.uber.org/multierr v1.9.0 // indirect
190+
golang.org/x/crypto v0.28.0 // indirect
191+
golang.org/x/exp v0.0.0-20231108232855-2478ac86f678 // indirect
192+
golang.org/x/mod v0.21.0 // indirect
193+
golang.org/x/net v0.30.0 // indirect
194+
golang.org/x/sync v0.8.0 // indirect
195+
golang.org/x/sys v0.26.0 // indirect
196+
golang.org/x/term v0.25.0 // indirect
197+
golang.org/x/text v0.19.0 // indirect
198+
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
199+
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect
200+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c // indirect
201+
google.golang.org/grpc v1.62.1 // indirect
202+
google.golang.org/protobuf v1.34.2 // indirect
203+
gopkg.in/ini.v1 v1.67.0 // indirect
204+
gopkg.in/warnings.v0 v0.1.2 // indirect
205+
gopkg.in/yaml.v3 v3.0.1 // indirect
206+
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
207+
modernc.org/libc v1.55.3 // indirect
208+
modernc.org/mathutil v1.6.0 // indirect
209+
modernc.org/memory v1.8.0 // indirect
210+
modernc.org/sqlite v1.33.1 // indirect
211+
modernc.org/strutil v1.2.0 // indirect
212+
modernc.org/token v1.1.0 // indirect
213+
)

0 commit comments

Comments
 (0)