Skip to content

Commit 0f42e11

Browse files
authored
feat: support to change the golang build image (#23)
1 parent 94f3a36 commit 0f42e11

File tree

12 files changed

+27
-14
lines changed

12 files changed

+27
-14
lines changed

runtime/bun.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ func (d *Bun) GenerateDockerfile(path string) ([]byte, error) {
138138

139139
var bunTemplate = strings.TrimSpace(`
140140
ARG VERSION={{.Version}}
141-
FROM oven/bun:${VERSION} AS base
141+
ARG BUILDER=docker.io/oven/bun
142+
FROM ${BUILDER}:${VERSION} AS base
142143
143144
FROM base AS deps
144145
WORKDIR /app
@@ -154,7 +155,7 @@ ENV NODE_ENV=production
154155
ARG BUILD_CMD={{.BuildCMD}}
155156
RUN if [ ! -z "${BUILD_CMD}" ]; then sh -c "$BUILD_CMD"; fi
156157
157-
FROM oven/bun:${VERSION}-slim AS runtime
158+
FROM ${BUILDER}:${VERSION}-slim AS runtime
158159
WORKDIR /app
159160
160161
RUN apt-get update && apt-get install -y --no-install-recommends wget ca-certificates && apt-get clean && rm -f /var/lib/apt/lists/*_*

runtime/deno.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ func (d *Deno) GenerateDockerfile(path string) ([]byte, error) {
169169

170170
var denoTemplate = strings.TrimSpace(`
171171
ARG VERSION={{.Version}}
172-
FROM denoland/deno:${VERSION} as base
172+
ARG BUILDER=docker.io/denoland/deno
173+
FROM ${BUILDER}:${VERSION} as base
173174
174175
FROM debian:stable-slim
175176
WORKDIR /app

runtime/elixir.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ func (d *Elixir) GenerateDockerfile(path string) ([]byte, error) {
8282
var elixirTemplate = strings.TrimSpace(`
8383
ARG VERSION={{.ElixirVersion}}
8484
ARG OTP_VERSION={{.OTPVersion}}
85-
FROM elixir:${VERSION}-otp-${OTP_VERSION}-slim AS build
85+
ARG BUILDER=docker.io/library/elixir
86+
FROM ${BUILDER}:${VERSION}-otp-${OTP_VERSION}-slim AS build
8687
WORKDIR /app
8788
RUN apt-get update -y && apt-get install -y build-essential git \
8889
&& apt-get clean && rm -f /var/lib/apt/lists/*_*

runtime/golang.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ func (d *Golang) GenerateDockerfile(path string) ([]byte, error) {
9797
var golangTemplate = strings.TrimSpace(`
9898
ARG VERSION={{.Version}}
9999
ARG BUILDPLATFORM=linux/amd64
100-
FROM --platform=${BUILDPLATFORM} golang:${VERSION} AS base
100+
ARG BUILDER=docker.io/library/golang
101+
FROM --platform=${BUILDPLATFORM} ${BUILDER}:${VERSION} AS base
101102
102103
FROM base AS deps
103104
WORKDIR /go/src/app

runtime/java.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ CMD ${START_CMD}
178178
var javaGradleTemplate = strings.TrimSpace(`
179179
ARG VERSION={{.Version}}
180180
ARG GRADLE_VERSION={{.GradleVersion}}
181-
FROM gradle:${GRADLE_VERSION}-jdk${VERSION} AS build
181+
ARG BUILDER=docker.io/library/gradle
182+
FROM ${BUILDER}:${GRADLE_VERSION}-jdk${VERSION} AS build
182183
WORKDIR /app
183184
184185
COPY build.gradle* gradlew* settings.gradle* ./

runtime/nextjs.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ func (d *NextJS) GenerateDockerfile(path string) ([]byte, error) {
103103

104104
var nextJSStandaloneTemplate = strings.TrimSpace(`
105105
ARG VERSION={{.Version}}
106-
FROM node:${VERSION}-slim AS base
106+
ARG BUILDER=docker.io/library/node
107+
FROM ${BUILDER}:${VERSION}-slim AS base
107108
108109
# Install dependencies only when needed
109110
FROM base AS deps
@@ -172,7 +173,8 @@ CMD HOSTNAME="0.0.0.0" node server.js
172173

173174
var nextJSServerTemplate = strings.TrimSpace(`
174175
ARG VERSION=lts
175-
FROM node:${VERSION}-slim AS base
176+
ARG BUILDER=docker.io/library/node
177+
FROM ${BUILDER}:${VERSION}-slim AS base
176178
177179
# Install dependencies only when needed
178180
FROM base AS deps

runtime/node.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,8 @@ var startScriptRe = regexp.MustCompile(`^.*?\b(ts-)?node(mon)?\b.*?(index|main|s
166166

167167
var nodeTemplate = strings.TrimSpace(`
168168
ARG VERSION={{.Version}}
169-
FROM node:${VERSION}-slim AS base
169+
ARG BUILDER=docker.io/library/node
170+
FROM ${BUILDER}:${VERSION}-slim AS base
170171
RUN corepack enable
171172
172173
FROM base AS deps

runtime/php.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ func (d *PHP) GenerateDockerfile(path string) ([]byte, error) {
142142

143143
var phpTemplate = strings.TrimSpace(`
144144
ARG VERSION={{.Version}}
145-
FROM composer:lts as build
145+
ARG BUILDER=docker.io/library/composer
146+
FROM ${BUILDER}:lts as build
146147
RUN apk add --no-cache nodejs npm
147148
WORKDIR /app
148149
COPY . .

runtime/python.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,8 @@ func (d *Python) GenerateDockerfile(path string) ([]byte, error) {
159159

160160
var pythonTemplate = strings.TrimSpace(`
161161
ARG VERSION={{.Version}}
162-
FROM python:${VERSION}-slim
162+
ARG BUILDER=docker.io/library/python
163+
FROM ${BUILDER}:${VERSION}-slim
163164
WORKDIR /app
164165
RUN apt-get update && apt-get install -y --no-install-recommends wget ca-certificates && apt-get clean && rm -f /var/lib/apt/lists/*_*
165166
RUN update-ca-certificates 2>/dev/null || true

runtime/ruby.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ func (d *Ruby) GenerateDockerfile(path string) ([]byte, error) {
131131

132132
var rubyTemplate = strings.TrimSpace(`
133133
ARG VERSION={{.Version}}
134-
FROM ruby:${VERSION}-slim
134+
ARG BUILDER=docker.io/library/ruby
135+
FROM ${BUILDER}:${VERSION}-slim
135136
WORKDIR /app
136137
RUN apt-get update && apt-get install -y --no-install-recommends wget ca-certificates && apt-get clean && rm -f /var/lib/apt/lists/*_*
137138
RUN update-ca-certificates 2>/dev/null || true

runtime/rust.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ func (d *Rust) GenerateDockerfile(path string) ([]byte, error) {
9898

9999
var rustlangTemplate = strings.TrimSpace(`
100100
ARG BUILDPLATFORM=linux
101-
FROM --platform=${BUILDPLATFORM} messense/cargo-zigbuild:latest AS build
101+
ARG BUILDER=docker.io/messense/cargo-zigbuild
102+
FROM --platform=${BUILDPLATFORM} ${BUILDER}:latest AS build
102103
WORKDIR /app
103104
COPY . .
104105

runtime/static.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ func (d *Static) GenerateDockerfile(path string) ([]byte, error) {
6767

6868
var staticTemplate = strings.TrimSpace(`
6969
ARG VERSION=2
70-
FROM joseluisq/static-web-server:${VERSION}-debian
70+
ARG BUILDER=docker.io/joseluisq/static-web-server
71+
FROM ${BUILDER}:${VERSION}-debian
7172
RUN apt-get update && apt-get install -y --no-install-recommends wget && apt-get clean && rm -f /var/lib/apt/lists/*_*
7273
COPY . .
7374

0 commit comments

Comments
 (0)