37 lines
726 B
CUE
37 lines
726 B
CUE
|
// Base package for Alpine Linux
|
||
|
package alpine
|
||
|
|
||
|
import (
|
||
|
"universe.dagger.io/docker"
|
||
|
)
|
||
|
|
||
|
// Default Alpine version
|
||
|
let defaultVersion = "3.13.5@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f"
|
||
|
|
||
|
// Build an Alpine Linux container image
|
||
|
#Build: {
|
||
|
// Alpine version to install
|
||
|
version: string | *defaultVersion
|
||
|
|
||
|
// List of packages to install
|
||
|
packages: [pkgName=string]: version: string | *""
|
||
|
|
||
|
docker.#Build & {
|
||
|
steps: [
|
||
|
docker.#Pull & {
|
||
|
source: "index.docker.io/alpine:\(version)"
|
||
|
},
|
||
|
for pkgName, pkg in packages {
|
||
|
run: cmd: {
|
||
|
name: "apk"
|
||
|
args: ["add", "\(pkgName)\(version)"]
|
||
|
flags: {
|
||
|
"-U": true
|
||
|
"--no-cache": true
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
]
|
||
|
}
|
||
|
}
|