Releases: bazel-contrib/rules_img
v0.3.8
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.8")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "e932d3cff3b0a72f7f3589951dd599c697ec00d83dff11358fd2bda1c67c4674",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.8/rules_img-v0.3.8.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Support layer cross mount by @prime000000 in #435
- implement oras macros by @malt3 in #457
- image_push: optionally read registry and repository from file by @malt3 in #461
- image_load: tarball compatible with "docker save" and oci layout by @malt3 in #462
- Add Bazel Credential Helper to
go-containerregistrykeychain by @mattyclarkson in #456 - image_index: don't fail if two base images come from the same repo by @ma-oli in #463
- subject and referrers support by @malt3 in #464
- prepare 0.3.8 by @malt3 in #465
New Contributors
- @mattyclarkson made their first contribution in #456
- @ma-oli made their first contribution in #463
Full Changelog: v0.3.7...v0.3.8
v0.3.7
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.7")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "a0d469e1bfcdc3c27dc5be8d99da12be4db3edfb7a8bdd457a8be7519572d0b8",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.7/rules_img-v0.3.7.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- fix various small linting issues by @malt3 in #449
- feat: add purl package_metadata to pulled image repos by @malt3 in #451
- (feat) Add support for setting the media-type on intermediate or config layers by @jeffmace in #429
- image_manifest: Support setting artifactType by @malt3 in #455
- fix: increase bufio.Scanner buffer to 1 MB in layer hints readers by @mortenmj in #458
- prepare 0.3.7 by @malt3 in #460
New Contributors
Full Changelog: v0.3.6...v0.3.7
v0.3.6
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.6")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "d0849cb4828569d7ec159f8c0761ed62b60798e7943d1700d800ceea2c28108a",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.6/rules_img-v0.3.6.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Fix issue with grpc message limit by @prime000000 in #439
- prepare 0.3.6 by @malt3 in #445
Full Changelog: v0.3.5...v0.3.6
v0.3.5
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.5")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "fe42ce91af0d2be21727bf229c16e88df413785a0ff532b016ff7ede2cb260ea",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.5/rules_img-v0.3.5.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Add "scratch" and "incompatible" base image by @malt3 in #402
- protobuf prebuilt toolchain by @malt3 in #403
- upgrade deps by @malt3 in #404
- do not store trees in .cas by @scaiper in #409
- Fix image load performance when loading into remote containerd by @prime000000 in #425
- disable tree artifact symlinks by default by @malt3 in #430
- Add org.opencontainers.image.base.* annotations automatically by @malt3 in #432
- update all deps by @malt3 in #431
- image_{push,load} and multi_deploy: expose deploy_manifest by @malt3 in #436
- image_layer: correctly handle runfiles symlinks and root_symlinks by @malt3 in #437
- image_{push,load}, multi_deploy: Drop toolchains for runtime tools by @malt3 in #438
New Contributors
- @prime000000 made their first contribution in #425
Full Changelog: v0.3.4...v0.3.5
v0.3.4
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.4")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "a58f553caa5ab2d807ea2ee80f552e8d0668036922d8a66ace152d717b3b5e09",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.4/rules_img-v0.3.4.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Nix: make dev shell build on macOS by @malt3 in #365
- image_layer: speed up calculation of hashes when processing existing tar by @malt3 in #366
- Fixes image manifest for arm64 images without variant by @alexnovak in #361
- Clear Cmd when setting Entrypoint to match Docker/OCI behavior by @malt3 in #372
- update hermetic_launcher to 0.0.4 by @malt3 in #383
- cleanup go.sum by @malt3 in #389
- Support username:password in gRPC URL for remote_cache by @malt3 in #385
- improve PullInfo selection in image_index for multi-base scenarios by @malt3 in #390
- manifest_from_oci_layout: allow "arm" architecture by @malt3 in #391
- update BCR deps by @malt3 in #392
- Fix handling of source directories in image_layer by @malt3 in #371
- Bazel 8.x: test against 8.5.1 by @malt3 in #386
- prepare 0.3.4 by @malt3 in #401
New Contributors
- @alexnovak made their first contribution in #361
Full Changelog: v0.3.3...v0.3.4
v0.3.3
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.3")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "de4b3b2a8bf66358c698099ab6448cb482d77da7a9b113a090072362e676b8b0",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.3/rules_img-v0.3.3.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- Create custom launcher binary for every push, load, and deploy by @malt3 in #336
- rename Go package "deploy" -> "deploymetadata" by @malt3 in #347
- rename Go package "push" -> "deploy" by @malt3 in #348
- pass deploy metadata file path via argv by @malt3 in #349
- bazel: upgrade hermetic_launcher to 0.0.3 by @malt3 in #350
- Add per-target prefix to elements in runfiles.root_symlinks by @malt3 in #351
- Add podman support for image loading by @malt3 in #352
- Add generic daemon option for custom container runtimes by @malt3 in #353
- Update container structure test part of migration guide by @malt3 in #354
- image_load: enable use of loader as data dependency in test by @malt3 in #356
- Add layer hints for lazy deploy strategy to optimize data transfer by @malt3 in #357
- prepare 0.3.3 by @malt3 in #359
- Layer transfer statistics by @malt3 in #358
Full Changelog: v0.3.2...v0.3.3
v0.3.2
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.2")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "7960ca8f489464b8cb8387f168f3f2f627bbdab638f03c69a7152c1da72222c3",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.2/rules_img-v0.3.2.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- ImageManifestInfo: remove base_image field by @malt3 in #321
- progress bar: fix more visual glitches by @malt3 in #322
- image_layer: avoid hardlink cycles by @malt3 in #324
- tests: add check that ensures layer invariants are intact by @malt3 in #328
- tests: detect regression of self-hardlinks by @malt3 in #331
- prepare 0.3.2 by @malt3 in #332
Full Changelog: v0.3.1...v0.3.2
v0.3.1
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.1")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "c994826cd6a3b419afafbc70add5421b84b02670ec963db88214ebf310167492",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.1/rules_img-v0.3.1.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- ci: only use RBE if credentials are available by @malt3 in #286
- export DeployInfo provider by @rafikk in #285
- image_manifest: provide base image in template expansion by @malt3 in #294
- renovate: ensure Bazel lockfile is updated by @malt3 in #302
- pull: allow downloading image without digest by @malt3 in #303
- images.pull module extension by @malt3 in #300
- images module extension: allow downloading blobs from multiple sources by @malt3 in #305
- images.pull: Synchronize all missing facts in parallel by @malt3 in #306
- ci: test against Bazel 9.0.0rc3 by @malt3 in #309
- root module: Build with Bazel 9.0.0rc3 by @malt3 in #292
- pull: succeed if any of the sources serve blob by @malt3 in #317
- images.pull: support mapping repositories with friendly names by @malt3 in #315
- deploy: add multi-writer for progress by @malt3 in #318
Full Changelog: v0.2.12...v0.3.1
v0.3.0
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.3.0")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "c528b2de239c78f9d374c81e50c4caa7351269cf7d4ea94bd165adad606c03a4",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.3.0/rules_img-v0.3.0.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
What's Changed
- ci: only use RBE if credentials are available by @malt3 in #286
- export DeployInfo provider by @rafikk in #285
- image_manifest: provide base image in template expansion by @malt3 in #294
- renovate: ensure Bazel lockfile is updated by @malt3 in #302
- pull: allow downloading image without digest by @malt3 in #303
- images.pull module extension by @malt3 in #300
- images module extension: allow downloading blobs from multiple sources by @malt3 in #305
- images.pull: Synchronize all missing facts in parallel by @malt3 in #306
- ci: test against Bazel 9.0.0rc3 by @malt3 in #309
- root module: Build with Bazel 9.0.0rc3 by @malt3 in #292
- pull: succeed if any of the sources serve blob by @malt3 in #317
- images.pull: support mapping repositories with friendly names by @malt3 in #315
- deploy: add multi-writer for progress by @malt3 in #318
Full Changelog: v0.2.12...v0.3.0
v0.2.12
Using Bzlmod
Add the following to your MODULE.bazel file:
bazel_dep(name = "rules_img", version = "0.2.12")For further instructions, see the README.
Using WORKSPACE
Add the following to your WORKSPACE.bazel file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_img",
sha256 = "c53e0e2d9b1d58ad1dc2a9efe236fc6384fbe67e771959eb98b2a2410b0b8835",
urls = ["https://github.com/bazel-contrib/rules_img/releases/download/v0.2.12/rules_img-v0.2.12.tar.gz"],
)
# Load dependencies
load("@rules_img//img:dependencies.bzl", "rules_img_dependencies")
rules_img_dependencies()
# Register prebuilt toolchains
load("@rules_img//img:repositories.bzl", "img_register_prebuilt_toolchains", "pull_tool_register_prebuilt_repositories")
img_register_prebuilt_toolchains()
register_toolchains("@img_toolchain//:all")
# Register prebuilt pull_tool repositories (for pull functionality)
pull_tool_register_prebuilt_repositories()
# Example: Pull a base image
load("@rules_img//img:pull.bzl", "pull")
pull(
name = "alpine",
digest = "sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1",
registry = "index.docker.io",
repository = "library/alpine",
tag = "3.22",
)For more examples, see the README.
Full Changelog: v0.2.11...v0.2.12