docker: Add options for compression level.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
@@ -107,6 +107,14 @@ variable "package_last_modified" {
|
|||||||
default = ""
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Compression options
|
||||||
|
variable "image_compress_level" {
|
||||||
|
default = 11
|
||||||
|
}
|
||||||
|
variable "cache_compress_level" {
|
||||||
|
default = 6
|
||||||
|
}
|
||||||
|
|
||||||
# Use the cargo-chef layering strategy to separate and pre-build dependencies
|
# Use the cargo-chef layering strategy to separate and pre-build dependencies
|
||||||
# in a lower-layer image; only workspace crates will rebuild unless
|
# in a lower-layer image; only workspace crates will rebuild unless
|
||||||
# dependencies themselves change (default). This option can be set to false for
|
# dependencies themselves change (default). This option can be set to false for
|
||||||
@@ -267,7 +275,7 @@ target "github" {
|
|||||||
(substr(git_ref, 0, 10) == "refs/tags/" && cargo_profile == "release" && feat_set == "all")?
|
(substr(git_ref, 0, 10) == "refs/tags/" && cargo_profile == "release" && feat_set == "all")?
|
||||||
"ghcr.io/${repo}:latest": "",
|
"ghcr.io/${repo}:latest": "",
|
||||||
]
|
]
|
||||||
output = ["type=registry,compression=zstd,mode=min"]
|
output = ["type=registry,compression=zstd,mode=min,compression-level=${image_compress_level}"]
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
elem("tuwunel", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
elem("tuwunel", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
||||||
@@ -281,7 +289,7 @@ target "dockerhub" {
|
|||||||
(substr(git_ref, 0, 10) == "refs/tags/" && cargo_profile == "release" && feat_set == "all")?
|
(substr(git_ref, 0, 10) == "refs/tags/" && cargo_profile == "release" && feat_set == "all")?
|
||||||
"${docker_repo}:latest": "",
|
"${docker_repo}:latest": "",
|
||||||
]
|
]
|
||||||
output = ["type=registry,compression=zstd,mode=min"]
|
output = ["type=registry,compression=zstd,mode=min,compression-level=${image_compress_level}"]
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
elem("tuwunel", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
elem("tuwunel", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
||||||
@@ -372,7 +380,7 @@ target "complement-tester" {
|
|||||||
elem_tag("complement-tester", [feat_set, sys_name, sys_version, sys_target], "latest"),
|
elem_tag("complement-tester", [feat_set, sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
target = "complement-tester"
|
target = "complement-tester"
|
||||||
output = ["type=docker,compression=zstd,mode=min"]
|
output = ["type=docker,compression=zstd,mode=min,compression-level=${image_compress_level}"]
|
||||||
entitlements = ["network.host"]
|
entitlements = ["network.host"]
|
||||||
matrix = feat_sys
|
matrix = feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
@@ -492,7 +500,7 @@ target "smoketest" {
|
|||||||
tags = [
|
tags = [
|
||||||
elem_tag("smoketest", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
elem_tag("smoketest", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
output = ["type=cacheonly,compression=zstd,mode=min"]
|
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
dockerfile = "${docker_dir}/Dockerfile.smoketest"
|
dockerfile = "${docker_dir}/Dockerfile.smoketest"
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
@@ -534,7 +542,6 @@ target "tuwunel" {
|
|||||||
tags = [
|
tags = [
|
||||||
elem_tag("tuwunel", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
elem_tag("tuwunel", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
output = ["type=docker,compression=zstd,mode=min"]
|
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
elem("standalone", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
elem("standalone", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
||||||
@@ -584,8 +591,8 @@ target "install" {
|
|||||||
]
|
]
|
||||||
target = "install"
|
target = "install"
|
||||||
labels = install_labels
|
labels = install_labels
|
||||||
output = ["type=docker,compression=zstd,mode=min"]
|
output = ["type=docker,compression=zstd,mode=min,compression-level=${image_compress_level}"]
|
||||||
cache_to = ["type=local,compression=zstd,mode=min"]
|
cache_to = ["type=local,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
elem("installer", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
elem("installer", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
||||||
@@ -637,7 +644,7 @@ target "pkg-rpm-install" {
|
|||||||
elem_tag("pkg-rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
elem_tag("pkg-rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
target = "pkg-rpm-install"
|
target = "pkg-rpm-install"
|
||||||
output = ["type=cacheonly,compression=zstd,mode=min"]
|
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
elem("pkg-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
elem("pkg-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
||||||
@@ -689,7 +696,7 @@ target "pkg-deb-install" {
|
|||||||
elem_tag("pkg-deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
elem_tag("pkg-deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
target = "pkg-deb-install"
|
target = "pkg-deb-install"
|
||||||
output = ["type=cacheonly,compression=zstd,mode=min"]
|
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
elem("pkg-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
elem("pkg-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
|
||||||
@@ -971,8 +978,8 @@ target "fmt" {
|
|||||||
target "cargo" {
|
target "cargo" {
|
||||||
name = elem("cargo", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
|
name = elem("cargo", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
|
||||||
target = "cargo"
|
target = "cargo"
|
||||||
output = ["type=cacheonly,compression=zstd,mode=min"]
|
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
cache_to = ["type=local,compression=zstd,mode=min"]
|
cache_to = ["type=local,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
dockerfile = "${docker_dir}/Dockerfile.cargo"
|
dockerfile = "${docker_dir}/Dockerfile.cargo"
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
@@ -1074,8 +1081,8 @@ target "deps-base" {
|
|||||||
elem_tag("deps-base", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest")
|
elem_tag("deps-base", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest")
|
||||||
]
|
]
|
||||||
target = "deps"
|
target = "deps"
|
||||||
output = ["type=cacheonly,compression=zstd,mode=min"]
|
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
cache_to = ["type=local,compression=zstd,mode=min"]
|
cache_to = ["type=local,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
dockerfile = "${docker_dir}/Dockerfile.cargo.deps"
|
dockerfile = "${docker_dir}/Dockerfile.cargo.deps"
|
||||||
matrix = cargo_rust_feat_sys
|
matrix = cargo_rust_feat_sys
|
||||||
inherits = [
|
inherits = [
|
||||||
@@ -1535,8 +1542,8 @@ target "system" {
|
|||||||
elem_tag("system", [sys_name, sys_version, sys_target], "latest"),
|
elem_tag("system", [sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
target = "system"
|
target = "system"
|
||||||
output = ["type=cacheonly,compression=zstd,mode=min"]
|
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
cache_to = ["type=local,compression=zstd,mode=min"]
|
cache_to = ["type=local,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
|
||||||
cache_from = ["type=local"]
|
cache_from = ["type=local"]
|
||||||
dockerfile = "${docker_dir}/Dockerfile.diner"
|
dockerfile = "${docker_dir}/Dockerfile.diner"
|
||||||
matrix = sys
|
matrix = sys
|
||||||
|
|||||||
Reference in New Issue
Block a user