-
Notifications
You must be signed in to change notification settings - Fork 40
/
Dockerfile.distro
206 lines (156 loc) · 6.1 KB
/
Dockerfile.distro
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
ARG BASE_IMAGE=latest
#--------------------------------------
# Images
#--------------------------------------
FROM ghcr.io/containerbase/ubuntu:20.04 AS focal
FROM ghcr.io/containerbase/ubuntu:22.04 AS jammy
FROM ghcr.io/containerbase/ubuntu:24.04 AS noble
FROM ghcr.io/containerbase/ubuntu:24.04 AS latest
#--------------------------------------
# Image: base
#--------------------------------------
FROM ${BASE_IMAGE} AS base
ARG TARGETARCH
COPY dist/docker/ /
COPY dist/cli/containerbase-cli-${TARGETARCH} /usr/local/containerbase/bin/containerbase-cli
ARG APT_HTTP_PROXY
ARG CONTAINERBASE_DEBUG
ARG CONTAINERBASE_CDN
ARG CONTAINERBASE_LOG_LEVEL
RUN install-containerbase
# renovate: datasource=github-tags packageName=git/git
RUN install-tool git v2.47.0
#--------------------------------------
# Image: build
#--------------------------------------
FROM base AS build
RUN uname -p | tee | grep x86_64
RUN touch /.dummy
RUN prepare-tool all
#--------------------------------------
# Image: test
#--------------------------------------
FROM build AS test
# renovate: datasource=github-releases packageName=bazelbuild/bazelisk
RUN install-tool bazelisk v1.24.0
# renovate: datasource=npm
RUN install-tool bun 1.1.34
# renovate: datasource=docker
RUN install-tool dart 3.5.4
# renovate: datasource=github-releases packageName=moby/moby
RUN install-tool docker v27.3.1
# renovate: datasource=dotnet packageName=dotnet-sdk
RUN install-tool dotnet 8.0.404
# renovate: datasource=github-releases packageName=containerbase/flutter-prebuild
RUN install-tool flutter 3.24.4
# renovate: datasource=github-releases packageName=fluxcd/flux2
RUN install-tool flux v2.4.0
# renovate: datasource=github-releases packageName=git-lfs/git-lfs
RUN install-tool git-lfs v3.6.0
# renovate: datasource=github-releases packageName=gleam-lang/gleam
RUN install-tool gleam 1.6.1
# renovate: datasource=github-releases packageName=containerbase/golang-prebuild
RUN install-tool golang 1.23.3
# renovate: datasource=github-releases packageName=helm/helm
RUN install-tool helm v3.16.3
# renovate: datasource=github-releases packageName=helmfile/helmfile
RUN install-tool helmfile v0.169.1
# renovate: datasource=github-releases packageName=kubernetes/kubernetes
RUN install-tool kubectl v1.31.3
# renovate: datasource=github-releases packageName=kubernetes-sigs/kustomize
RUN install-tool kustomize 5.5.0
# renovate: datasource=datasource=github-releases packageName=containerbase/nix-prebuild
RUN install-tool nix 2.24.10
# renovate: datasource=github-releases packageName=PowerShell/PowerShell
RUN install-tool powershell v7.4.6
# renovate: datasource=docker versioning=docker
RUN install-tool rust 1.82.0
# renovate: datasource=github-releases packageName=containerbase/skopeo-prebuild
RUN install-tool skopeo 1.16.1
# renovate: datasource=github-releases packageName=getsops/sops
RUN install-tool sops v3.9.1
# renovate: datasource=docker versioning=docker
RUN install-tool swift 6.0.2
# renovate: datasource=docker packageName=hashicorp/terraform versioning=docker
RUN install-tool terraform 1.9.8
# renovate: datasource=github-releases packageName=jsonnet-bundler/jsonnet-bundler
RUN install-tool jb v0.6.0
# renovate: datasource=github-releases packageName=vmware-tanzu/carvel-vendir
RUN install-tool vendir v0.42.0
#--------------------------------------
# Image: test-erlang
#--------------------------------------
FROM build AS test-erlang
# renovate: datasource=github-releases packageName=containerbase/erlang-prebuild versioning=docker
RUN install-tool erlang 27.1.2.0
# renovate: datasource=github-releases packageName=elixir-lang/elixir
RUN install-tool elixir 1.17.3
#--------------------------------------
# Image: test-java
#--------------------------------------
FROM build AS test-java
# renovate: datasource=java-version packageName=java-jre
RUN install-tool java 21.0.5+11.0.LTS
# renovate: datasource=gradle-version packageName=gradle versioning=gradle
RUN install-tool gradle 8.11.1
#--------------------------------------
# Image: test-node
#--------------------------------------
FROM build AS test-node
# renovate: datasource=github-releases packageName=containerbase/node-prebuild versioning=node
RUN install-tool node 22.11.0
# renovate: datasource=npm
RUN install-tool pnpm 9.13.2
# renovate: datasource=npm packageName=@yarnpkg/cli-dist
RUN install-tool yarn 4.5.1
#--------------------------------------
# Image: test-php
#--------------------------------------
FROM build AS test-php
# renovate: datasource=github-releases packageName=containerbase/php-prebuild
RUN install-tool php 8.3.13
# renovate: datasource=github-releases packageName=containerbase/composer-prebuild
RUN install-tool composer 2.8.3
#--------------------------------------
# Image: test-python
#--------------------------------------
FROM build AS test-python
# renovate: datasource=github-releases packageName=containerbase/python-prebuild
RUN install-tool python 3.12.7
# renovate: datasource=pypi
RUN install-tool checkov 3.2.286
# renovate: datasource=pypi
RUN install-tool conan 2.9.3
# renovate: datasource=pypi
RUN install-tool copier 9.4.1
# renovate: datasource=pypi
RUN install-tool hashin 1.0.3
# renovate: datasource=pypi
RUN install-tool pipenv 2024.4.0
# renovate: datasource=pypi
RUN install-tool pdm 2.20.1
# renovate: datasource=pypi
RUN install-tool poetry 1.8.4
# renovate: datasource=pypi
RUN install-tool uv 0.5.4
#--------------------------------------
# Image: test-ruby
#--------------------------------------
FROM build AS test-ruby
# renovate: datasource=github-releases packageName=containerbase/ruby-prebuild versioning=ruby
RUN install-tool ruby 3.3.6
# renovate: datasource=rubygems versioning=ruby
RUN install-tool bundler 2.5.23
# renovate: datasource=rubygems versioning=ruby
RUN install-tool cocoapods 1.15.2
#--------------------------------------
# Image: final
#--------------------------------------
FROM base
COPY --from=test /.dummy /.dummy
COPY --from=test-erlang /.dummy /.dummy
COPY --from=test-java /.dummy /.dummy
COPY --from=test-node /.dummy /.dummy
COPY --from=test-php /.dummy /.dummy
COPY --from=test-python /.dummy /.dummy
COPY --from=test-ruby /.dummy /.dummy