diff --git a/.bazelignore b/.bazelignore index 3c3629e..3c1642b 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1 +1,2 @@ +examples node_modules diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index fba650a..8e45998 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -4,11 +4,15 @@ on: branches: [main] pull_request: workflow_dispatch: +env: + CI: 1 jobs: ci: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: bazelbuild/setup-bazelisk@v1 - - run: bazel test --config=ci //... - - run: bazel run //:gazelle -- -mode diff || exit 1 + - uses: extractions/setup-just@6e1de3cc407de738551abd6c0923bd5ed5608042 + with: + just-version: "1.38.0" + - run: just test diff --git a/BUILD.bazel b/BUILD.bazel index 4005e01..f31460d 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,4 +1,4 @@ -load("@gazelle//:def.bzl", "DEFAULT_LANGUAGES", "gazelle", "gazelle_binary") +load("@bazel_gazelle//:def.bzl", "DEFAULT_LANGUAGES", "gazelle", "gazelle_binary") load("@npm//:defs.bzl", "npm_link_all_packages") load("@rules_pkg//pkg:pkg.bzl", "pkg_tar") @@ -20,6 +20,17 @@ gazelle( gazelle = ":gazelle-binary", ) +gazelle( + name = "gazelle-update-repos", + args = [ + "-build_file_proto_mode=disable", + "-from_file=go.mod", + "-prune=true", + "-to_macro=oci/private/repositories/go_repositories.bzl%go_repositories", + ], + command = "update-repos", +) + gazelle_binary( name = "gazelle-binary", languages = DEFAULT_LANGUAGES + [ @@ -38,6 +49,7 @@ pkg_tar( "//oci:files", "//oci/private:files", "//oci/private/repositories:files", + "//oci/repositories:files", ], empty_files = ["BUILD.bazel"], extension = "tar.gz", diff --git a/MODULE.bazel b/MODULE.bazel index fb6f0f8..7188ba3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,19 +3,47 @@ module( repo_name = "com_github_datadog_rules_oci", ) +# 2024-05-08 bazel_dep(name = "aspect_bazel_lib", version = "2.7.3") + +# 2024-12-04 bazel_dep(name = "aspect_rules_js", version = "2.1.2") + +# 2024-12 bazel_dep(name = "aspect_rules_lint", version = "1.0.8") + +# 2024-04-25 bazel_dep(name = "bazel_skylib", version = "1.6.1") -bazel_dep(name = "gazelle", version = "0.38.0") + +# 2024-08-01 +bazel_dep(name = "gazelle", version = "0.38.0", repo_name = "bazel_gazelle") + +# 2024-05-06 bazel_dep(name = "rules_go", version = "0.47.1", repo_name = "io_bazel_rules_go") + +# 2024-11-06 bazel_dep(name = "rules_nodejs", version = "6.3.2") + +# 2024-02-08 bazel_dep(name = "rules_pkg", version = "0.10.1") + +# 2023-08-11 bazel_dep(name = "stardoc", version = "0.6.2") +# 2024-04-25 bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.6.1", dev_dependency = True) + +# 2024-08-27 bazel_dep(name = "buildifier_prebuilt", version = "7.3.1", dev_dependency = True) +single_version_override( + module_name = "bazel_skylib_gazelle_plugin", + patch_strip = 2, + patches = [ + "//third_party/com_github_bazelbuild_bazel-skylib:01-pr-535-support-resolve.patch", + ], +) + go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk") go_sdk.download( name = "go_sdk", @@ -23,7 +51,7 @@ go_sdk.download( ) use_repo(go_sdk, "go_sdk") -go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") +go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") go_deps.from_file(go_mod = "//:go.mod") use_repo( go_deps, @@ -36,7 +64,6 @@ use_repo( "com_github_sirupsen_logrus", "com_github_stretchr_testify", "com_github_urfave_cli_v2", - "land_oras_oras_go", ) go_deps.module_override( patch_strip = 1, @@ -46,7 +73,7 @@ go_deps.module_override( path = "github.com/containerd/containerd", ) -oci_pull = use_repo_rule("//oci:repositories.bzl", "oci_pull") +oci_pull = use_repo_rule("//oci:defs.bzl", "oci_pull") oci_pull( name = "ubuntu_noble", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 7fc5f81..cc36049 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -169,7 +169,7 @@ "@@aspect_bazel_lib~//lib:extensions.bzl%toolchains": { "general": { "bzlTransitiveDigest": "o+c8qRBWojmxp6XnxraB8cDLR3egI6E7hjYq4t1rzM8=", - "usagesDigest": "kovSbvt7seRuTXzVRp1rvp1iF2x23df0LZFWyeKbvhI=", + "usagesDigest": "KbjAn5ZFp13gKocwL4KhQMzHFJSpNidWqnYOWOoZzms=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, diff --git a/README.md b/README.md index 547db75..18e0423 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,58 @@ -## `rules_oci` - blazing fast Bazel rules for building OCI Images +## `rules_oci` - Bazel rules for building OCI Images RULES_OCI IS HIGHLY EXPERIMENTAL WITH PLANNED BREAKING CHANGES, PLEASE DO NOT DEPEND ON FOR PRODUCTION USE-CASES. A Bazel rule-set for extending, creating and publishing OCI artifacts, including image -manifests, image indexes (multi-arch images) and custom artifacts -([ORAS](https://github.com/oras-project)), with a focus on: +manifests and image indexes (multi-arch images), with a focus on: -- **Speed**, only pulling artifacts that are needed at build-time (no more long image pull times) -- **Extensibility**, creating custom artifacts to leverage standard OCI distribution - APIs +- **Extensibility**, creating custom artifacts to leverage standard OCI distribution APIs - **Multi-arch images**, compiling and building multi-arch images with a single Bazel invocation -In addition to Bazel rules, we offer many helpers for interacting with OCI -artifacts under the `go/pkg` directory and a CLI tool for creating new OCI -artifacts. - -`rules_oci` makes an effort to support Docker media types, but there is no -guarantee of long-term support. Most CRI support the OCI types or there are -tools available to convert [between the -specifications](https://github.com/opencontainers/image-spec/blob/v1.0.2/conversion.md). - ### Setup -``` -# Load OCI Bootstrapping rules or copy the rule into your repository. -git_repository( - name = "rules_oci_bootstrap", - remote = "https://github.com/DataDog/rules_oci_bootstrap.git", - commit = "75330296a80c4a5bfa228dc585ca9a9c3e56d45d", -) +```starlark +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -load("@rules_oci_bootstrap//:defs.bzl", "oci_blob_pull") -oci_blob_pull( +http_archive( name = "com_github_datadog_rules_oci", - digest = "sha256:cc6c59ed7da6bb376552461e06068f883bbe335359c122c15dce3c24e19cd8e2", - extract = True, - registry = "ghcr.io", - repository = "datadog/rules_oci/rules", - type = "tar.gz", + sha256 = "", + strip_prefix = "rules_oci-", + url = "https://github.com/DataDog/rules_oci/archive/.tar.gz", ) -``` -### Docs +load( + "@com_github_datadog_rules_oci//oci/repositories:01_direct_dependencies.bzl", + "rules_oci_direct_dependencies", +) -[Rule API](docs/docs.md) +rules_oci_direct_dependencies() -Examples can be found in the `tests` directory. +load("@com_github_datadog_rules_oci//oci/repositories:02_toolchains.bzl", "rules_oci_toolchains") -### How it works at a high level +rules_oci_toolchains( + # Only set this if you have not already registered a go toolchain + register_go_toolchain_version = "1.22.5", -At fetch-time we only pull down the manifest json that represents the -structure of the image, rather than pull down everything -- we call this a shallow -pull. We then modify the manifest and republish it with just the changed layers -at "bazel run"-time. + # Only set this if you have not already registered a rust toolchain + register_rust_toolchain_version = "1.82.0", +) -This is perfect for the use-case of creating "application images", aka images -where you just plop a binary on top of a base image. Some additional small -changes can be done such as injecting a shared library or a config file. +load( + "@com_github_datadog_rules_oci//oci/repositories:03_third_party_go_and_rust_libraries.bzl", + "rules_oci_third_party_go_and_rust_libraries", +) -We've found in most cases we don't need to pull these additional layers as they -were pushed there previously or can copy (via the mount api) within the same -registry. +rules_oci_third_party_go_and_rust_libraries() +``` -This has the downside that there is no verification of all of the content -in the image, but this trade-off is worth the speed of not downloaded many GBs of -base images. +### Docs -### Roadmap +- [rules](docs/defs.md) +- [providers](docs/providers.md) +- [pull repository rule](docs/pull.md) -- [ ] Flesh out code for non-shallow pulls and cases where the layers are coming - from a different registry. -- [ ] Full Starlark DSL for creating custom artifacts, it's currently looks - a bit wonky -- [ ] Support for the ORAS Artifact Spec -- [ ] Support for custom artifact crawlers to pull artifacts that have children - not represented by the OCI Image Spec. Ex pulling a full CNAB bundle and all - dependencies. -- [ ] Benchmark against `rules_docker` and raw `docker build`. +Examples can be found in the `examples` directory. ### FAQ @@ -94,12 +69,12 @@ base images. ### Developing -| action | command | -| ------------------------ | ------------------------------------- | -| Run the tests | `just test` | -| Run the formatter | `just format` | -| Run gazelle | `just gazelle` | -| Update the docs | `just update-docs` | -| Update go dependencies | `bazel run //:go -- get ` | -| Update rust dependencies | `just update-crates` | -| Publish a new release | `just release` | +| action | command | +| ------------------------ | -------------------------------------------------------- | +| Run the tests | `just test` | +| Run the formatter | `just format` | +| Run gazelle | `just gazelle` | +| Update the docs | `just update-docs` | +| Update go dependencies | Modify `go.mod` and run `just update-go-3rd-party` | +| Update rust dependencies | Modify `Cargo.toml` and run `just update-rust-3rd-party` | +| Publish a new release | `just release` | diff --git a/WORKSPACE b/WORKSPACE index 09ce670..8b14955 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -29,7 +29,7 @@ rust_register_toolchains( load("@rules_rust//crate_universe:defs.bzl", "crates_repository") crates_repository( - name = "crate_index", + name = "com_github_datadog_rules_oci_crate_index", cargo_lockfile = "//:Cargo.lock", lockfile = "//:cargo-bazel-lock.json", manifests = [ @@ -39,6 +39,6 @@ crates_repository( rust_version = _RUSTC_VERSION, ) -load("@crate_index//:defs.bzl", "crate_repositories") +load("@com_github_datadog_rules_oci_crate_index//:defs.bzl", "crate_repositories") crate_repositories() diff --git a/cargo-bazel-lock.json b/cargo-bazel-lock.json index 59524c0..3f8fc7f 100644 --- a/cargo-bazel-lock.json +++ b/cargo-bazel-lock.json @@ -1,5 +1,5 @@ { - "checksum": "030e153464f00aa0a15a3162aa3e206b5e42faf52412bf783ec58f62406c22bc", + "checksum": "bcebbb48f8aa8d2b6ef3a9c5b2cb5c8698f2f2eaa50fdd72a9e863b4b3314d6e", "crates": { "aho-corasick 1.1.3": { "name": "aho-corasick", diff --git a/docs/BUILD.bazel b/docs/BUILD.bazel index 92e4be1..0332a76 100644 --- a/docs/BUILD.bazel +++ b/docs/BUILD.bazel @@ -11,8 +11,8 @@ stardoc_with_diff_test( ) stardoc_with_diff_test( - name = "repositories", - bzl_library_target = "//oci:repositories", + name = "pull", + bzl_library_target = "//oci/repositories:pull", ) update_docs() diff --git a/docs/defs.md b/docs/defs.md index afd0e3f..43715ec 100644 --- a/docs/defs.md +++ b/docs/defs.md @@ -106,35 +106,3 @@ oci_image_layer | kwargs | Additional arguments to pass to the rule, e.g. `tags` or `visibility` | none | - - -## oci_pull - -
-oci_pull(name, debug, digest, registry, repo_mapping, repository, scheme, shallow)
-
- -**ATTRIBUTES** - - -| Name | Description | Type | Mandatory | Default | -| :------------- | :------------- | :------------- | :------------- | :------------- | -| name | A unique name for this repository. | Name | required | | -| debug | Deprecated. Does nothing | Boolean | optional | `False` | -| digest | The digest or tag of the manifest file | String | required | | -| registry | Remote registry host to pull from, e.g. `gcr.io` or `index.docker.io` | String | required | | -| repo_mapping | In `WORKSPACE` context only: a dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.

For example, an entry `"@foo": "@bar"` declares that, for any time this repository depends on `@foo` (such as a dependency on `@foo//some:target`, it should actually resolve that dependency within globally-declared `@bar` (`@bar//some:target`).

This attribute is _not_ supported in `MODULE.bazel` context (when invoking a repository rule inside a module extension's implementation function). | Dictionary: String -> String | optional | | -| repository | Image path beneath the registry, e.g. `distroless/static` | String | required | | -| scheme | scheme portion of the URL for fetching from the registry | String | optional | `"https"` | -| shallow | Deprecated. Does nothing | Boolean | optional | `False` | - -**ENVIRONMENT VARIABLES** - -This repository rule depends on the following environment variables: -* `DOCKER_CONFIG` -* `REGISTRY_AUTH_FILE` -* `XDG_RUNTIME_DIR` -* `HOME` -* `OCI_ENABLE_OAUTH2_SUPPORT` - - diff --git a/docs/repositories.md b/docs/pull.md similarity index 99% rename from docs/repositories.md rename to docs/pull.md index b155750..f2ab0a9 100644 --- a/docs/repositories.md +++ b/docs/pull.md @@ -1,6 +1,6 @@ -public repository rules +oci_pull diff --git a/examples/.bazelrc b/examples/.bazelrc new file mode 100644 index 0000000..90799ba --- /dev/null +++ b/examples/.bazelrc @@ -0,0 +1,11 @@ +common --noenable_bzlmod +common --enable_workspace + +build:ci --verbose_failures --show_timestamps --announce_rc +build:ci --noshow_progress --noshow_loading_progress --color=yes +build:ci --define image.tag=ci + +test:ci --keep_going +# Only show failing test targets to avoid scrolling past a long list of +# successful tests in order to see error logs. +test:ci --test_summary=terse diff --git a/examples/.bazelversion b/examples/.bazelversion new file mode 100644 index 0000000..b26a34e --- /dev/null +++ b/examples/.bazelversion @@ -0,0 +1 @@ +7.2.1 diff --git a/examples/.gitignore b/examples/.gitignore new file mode 100644 index 0000000..458a899 --- /dev/null +++ b/examples/.gitignore @@ -0,0 +1,4 @@ +bazel-bin +bazel-out +bazel-rules_oci +bazel-testlogs diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel new file mode 100644 index 0000000..1d83219 --- /dev/null +++ b/examples/BUILD.bazel @@ -0,0 +1,15 @@ +load("@bazel_gazelle//:def.bzl", "DEFAULT_LANGUAGES", "gazelle", "gazelle_binary") + +# gazelle:prefix github.com/DataDog/rules_oci/examples +# gazelle:go_naming_convention go_default_library +# gazelle:lang go + +gazelle( + name = "gazelle", + gazelle = ":gazelle-binary", +) + +gazelle_binary( + name = "gazelle-binary", + languages = DEFAULT_LANGUAGES, +) diff --git a/examples/WORKSPACE b/examples/WORKSPACE new file mode 100644 index 0000000..1bb730f --- /dev/null +++ b/examples/WORKSPACE @@ -0,0 +1,64 @@ +workspace(name = "examples") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +################################################################################ +# rules_go +################################################################################ + +http_archive( + name = "io_bazel_rules_go", + sha256 = "f74c98d6df55217a36859c74b460e774abc0410a47cc100d822be34d5f990f16", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.47.1/rules_go-v0.47.1.zip", + "https://github.com/bazelbuild/rules_go/releases/download/v0.47.1/rules_go-v0.47.1.zip", + ], +) + +load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") + +go_rules_dependencies() + +go_register_toolchains(version = "1.22.5") + +################################################################################ +# rules_oci +################################################################################ + +# Note: In this example, we use local_repository here, but in a real project, +# you'll want to use http_archive to fetch the rules_oci repository +local_repository( + name = "com_github_datadog_rules_oci", + path = "..", +) + +load("@com_github_datadog_rules_oci//oci/repositories:01_direct_dependencies.bzl", "rules_oci_direct_dependencies") + +rules_oci_direct_dependencies() + +load("@com_github_datadog_rules_oci//oci/repositories:02_toolchains.bzl", "rules_oci_toolchains") + +rules_oci_toolchains( + # Only set this if you have not already registered a go toolchain + register_go_toolchain_version = None, + + # Only set this if you have not already registered a rust toolchain + register_rust_toolchain_version = "1.82.0", +) + +load( + "@com_github_datadog_rules_oci//oci/repositories:03_third_party_go_and_rust_libraries.bzl", + "rules_oci_third_party_go_and_rust_libraries", +) + +rules_oci_third_party_go_and_rust_libraries() + +load("@com_github_datadog_rules_oci//oci/repositories:pull.bzl", "oci_pull") + +oci_pull( + name = "ubuntu", + # "noble" tag as of 2024-12-30 + digest = "sha256:80dd3c3b9c6cecb9f1667e9290b3bc61b78c2678c02cbdae5f0fea92cc6734ab", + registry = "mirror.gcr.io", + repository = "library/ubuntu", +) diff --git a/examples/bazel-examples b/examples/bazel-examples new file mode 120000 index 0000000..0a6bc19 --- /dev/null +++ b/examples/bazel-examples @@ -0,0 +1 @@ +/private/var/tmp/_bazel_brian.myers/9251ee5a9427acca66f6463298030490/execroot/examples \ No newline at end of file diff --git a/examples/go-multiarch-image/BUILD.bazel b/examples/go-multiarch-image/BUILD.bazel index cd5bdf3..5bdf33f 100644 --- a/examples/go-multiarch-image/BUILD.bazel +++ b/examples/go-multiarch-image/BUILD.bazel @@ -1,10 +1,4 @@ -load("@bazel_skylib//rules:write_file.bzl", "write_file") -load( - "@com_github_datadog_rules_oci//oci:defs.bzl", - "oci_push", -) load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") -load(":go.bzl", "go_multiarch_image") go_library( name = "go_default_library", @@ -18,21 +12,3 @@ go_binary( embed = [":go_default_library"], visibility = ["//visibility:public"], ) - -go_multiarch_image( - name = "image", - archs = [ - "amd64", - "arm64", - ], - base = "@ubuntu_noble//image", - embed = [":go_default_library"], - visibility = ["//visibility:public"], -) - -oci_push( - name = "push", - manifest = ":image", - registry = "ghcr.io", - repository = "datadog/rules_oci/hello-world", -) diff --git a/examples/simple/BUILD.bazel b/examples/simple/BUILD.bazel index d93e901..5e58a8d 100644 --- a/examples/simple/BUILD.bazel +++ b/examples/simple/BUILD.bazel @@ -1,5 +1,10 @@ load("@bazel_skylib//rules:write_file.bzl", "write_file") -load("//oci:defs.bzl", "oci_image", "oci_image_index", "oci_image_layer") +load( + "@com_github_datadog_rules_oci//oci:defs.bzl", + "oci_image", + "oci_image_index", + "oci_image_layer", +) write_file( name = "hello.txt.write_file", @@ -21,7 +26,7 @@ oci_image_layer( "foo": "bar", }, arch = arch, - base = "@ubuntu_noble//image", + base = "@ubuntu//image", layers = [":layer-hello.txt"], os = "linux", ) @@ -32,7 +37,7 @@ oci_image_layer( ] oci_image_index( - name = "image!", + name = "image", annotations = { "baz": "qux", }, diff --git a/go.mod b/go.mod index b746dab..ad439ba 100644 --- a/go.mod +++ b/go.mod @@ -12,48 +12,37 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/stretchr/testify v1.9.0 github.com/urfave/cli/v2 v2.27.2 - oras.land/oras-go v1.2.6 ) require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/Microsoft/hcsshim v0.12.3 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/errdefs v0.1.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/cli v27.1.0+incompatible // indirect - github.com/docker/distribution v2.8.3+incompatible // indirect - github.com/docker/docker v27.1.1+incompatible // indirect - github.com/docker/go-connections v0.5.0 // indirect - github.com/docker/go-metrics v0.0.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/gorilla/mux v1.8.1 // indirect github.com/klauspost/compress v1.17.8 // indirect - github.com/kr/text v0.2.0 // indirect + github.com/kr/pretty v0.3.1 // indirect github.com/moby/locker v1.0.1 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.19.1 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect - github.com/prometheus/procfs v0.14.0 // indirect + github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 // indirect go.opentelemetry.io/otel v1.26.0 // indirect go.opentelemetry.io/otel/metric v1.26.0 // indirect go.opentelemetry.io/otel/trace v1.26.0 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.22.0 // indirect + golang.org/x/sys v0.29.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434 // indirect google.golang.org/grpc v1.63.2 // indirect google.golang.org/protobuf v1.34.1 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index a040d29..17c5c46 100644 --- a/go.sum +++ b/go.sum @@ -4,20 +4,8 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.12.3 h1:LS9NXqXhMoqNCplK1ApmVSfB4UnVLRDWRapB6EIlxE0= github.com/Microsoft/hcsshim v0.12.3/go.mod h1:Iyl1WVpZzr+UkzjekHZbV8o5Z9ZkxNGx6CtY2Qg/JVQ= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4= github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= -github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70= -github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0= github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE= @@ -31,144 +19,59 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= -github.com/distribution/distribution/v3 v3.0.0-beta.1 h1:X+ELTxPuZ1Xe5MsD3kp2wfGUhc8I+MPfRis8dZ818Ic= -github.com/distribution/distribution/v3 v3.0.0-beta.1/go.mod h1:O9O8uamhHzWWQVTjuQpyYUVm/ShPHPUDgvQMpHGVBDs= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/cli v27.1.0+incompatible h1:P0KSYmPtNbmx59wHZvG6+rjivhKDRA1BvvWM0f5DgHc= -github.com/docker/cli v27.1.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= -github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY= -github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.8.1 h1:j/eKUktUltBtMzKqmfLB0PAgqYyMHOp5vfsD1807oKo= github.com/docker/docker-credential-helpers v0.8.1/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M= -github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= -github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= -github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= -github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= -github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= -github.com/hashicorp/golang-lru/arc/v2 v2.0.5 h1:l2zaLDubNhW4XO3LnliVj0GXO3+/CGNJAg1dcN2Fpfw= -github.com/hashicorp/golang-lru/arc/v2 v2.0.5/go.mod h1:ny6zBSQZi2JxIeYcv7kt2sH2PXJtirBN7RDhRpxPkxU= -github.com/hashicorp/golang-lru/v2 v2.0.5 h1:wW7h1TG88eUIJ2i69gaE3uNVtEPIagzhGvHgwfx2Vm4= -github.com/hashicorp/golang-lru/v2 v2.0.5/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= -github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= -github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= -github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= -github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= -github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 h1:EaDatTxkdHG+U3Bk4EUr+DZ7fOGwTfezUiUJMaIcaho= -github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5/go.mod h1:fyalQWdtzDBECAQFBJuQe5bzQ02jGd5Qcbgb97Flm7U= -github.com/redis/go-redis/extra/redisotel/v9 v9.0.5 h1:EfpWLLCyXw8PSM2/XNJLjI3Pb27yVE+gIAfeqp8LUCc= -github.com/redis/go-redis/extra/redisotel/v9 v9.0.5/go.mod h1:WZjPDy7VNzn77AAfnAfVjZNvfJTYfPetfZk5yoSTLaQ= -github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY= -github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= @@ -178,80 +81,32 @@ github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/exporters/autoexport v0.46.1 h1:ysCfPZB9AjUlMa1UHYup3c9dAOCMQX/6sxSfPBUoxHw= -go.opentelemetry.io/contrib/exporters/autoexport v0.46.1/go.mod h1:ha0aiYm+DOPsLHjh0zoQ8W8sLT+LJ58J3j47lGpSLrU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 h1:Xs2Ncz0gNihqu9iosIZ5SkBbWo5T8JhhLJFMQL1qmLI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0/go.mod h1:vy+2G/6NvVMpwGX/NyLqcC41fxepnuKHk16E6IZUcJc= go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0 h1:jd0+5t/YynESZqsSyPz+7PAFdEop0dlN0+PkyHYo8oI= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0/go.mod h1:U707O40ee1FpQGyhvqnzmCJm1Wh6OX6GGBVn0E6Uyyk= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.44.0 h1:bflGWrfYyuulcdxf14V6n9+CoQcu5SAAdHmDPAJnlps= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.44.0/go.mod h1:qcTO4xHAxZLaLxPd60TdE88rxtItPHgHWqOhOGRr0as= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 h1:digkEZCJWobwBqMwC0cwCq8/wkkRy/OowZg5OArWZrM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0/go.mod h1:/OpE/y70qVkndM0TrxT4KBoN3RsFZP0QaofcfYrj76I= -go.opentelemetry.io/otel/exporters/prometheus v0.44.0 h1:08qeJgaPC0YEBu2PQMbqU3rogTlyzpjhCI2b58Yn00w= -go.opentelemetry.io/otel/exporters/prometheus v0.44.0/go.mod h1:ERL2uIeBtg4TxZdojHUwzZfIFlUIjZtxubT5p4h1Gjg= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v0.44.0 h1:dEZWPjVN22urgYCza3PXRUGEyCB++y1sAqm6guWFesk= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v0.44.0/go.mod h1:sTt30Evb7hJB/gEk27qLb1+l9n4Tb8HvHkR0Wx3S6CU= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.21.0 h1:VhlEQAPp9R1ktYfrPk5SOryw1e9LDDTZCbIPFrho0ec= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.21.0/go.mod h1:kB3ufRbfU+CQ4MlUcqtW8Z7YEOBeK2DJ6CmR5rYYF3E= go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= -go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= -go.opentelemetry.io/otel/sdk/metric v1.21.0 h1:smhI5oD714d6jHE6Tie36fPx4WDFIg+Y6RfAY4ICcR0= -go.opentelemetry.io/otel/sdk/metric v1.21.0/go.mod h1:FJ8RAsoPGv/wYMgBdUJXOm+6pzFY3YdljnXtv1SBE8Q= go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= -go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= -google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= -google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434 h1:umK/Ey0QEzurTNlsV3R+MfxHAb78HCEX/IkuR+zH4WQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= -gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -oras.land/oras-go v1.2.6 h1:z8cmxQXBU8yZ4mkytWqXfo6tZcamPwjsuxYU81xJ8Lk= -oras.land/oras-go v1.2.6/go.mod h1:OVPc1PegSEe/K8YiLfosrlqlqTN9PUyFvOw5Y9gwrT8= diff --git a/go/cmd/ocitool/pushblob_cmd.go b/go/cmd/ocitool/pushblob_cmd.go index 5f3f107..667db7c 100644 --- a/go/cmd/ocitool/pushblob_cmd.go +++ b/go/cmd/ocitool/pushblob_cmd.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "os" "github.com/DataDog/rules_oci/go/pkg/ociutil" @@ -12,9 +11,6 @@ import ( func PushBlobCmd(c *cli.Context) error { resolver := ociutil.DefaultResolver() - fmt.Printf("Pushing blob %v to %v\n", c.String("file"), c.String("ref")) - os.Exit(0) - desc, err := resolver.PushBlob(c.Context, c.String("file"), c.String("ref"), "") if err != nil { return fmt.Errorf("failed to push blob: %w", err) diff --git a/go/pkg/layer/append.go b/go/pkg/layer/append.go index 24f6289..372976e 100644 --- a/go/pkg/layer/append.go +++ b/go/pkg/layer/append.go @@ -165,7 +165,5 @@ func AppendLayers( return ocispec.Descriptor{}, ocispec.Descriptor{}, err } - fmt.Printf("Created new manifest %+v\n", newManifest) - return newManifest, newConfig, nil } diff --git a/go/pkg/ociutil/BUILD.bazel b/go/pkg/ociutil/BUILD.bazel index 1876dc7..e5f8145 100644 --- a/go/pkg/ociutil/BUILD.bazel +++ b/go/pkg/ociutil/BUILD.bazel @@ -5,7 +5,6 @@ go_library( srcs = [ "desc.go", "diff.go", - "fetch.go", "fs.go", "handler.go", "image.go", @@ -36,6 +35,5 @@ go_library( "@com_github_opencontainers_go_digest//:go_default_library", "@com_github_opencontainers_image_spec//specs-go/v1:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", - "@land_oras_oras_go//pkg/oras:go_default_library", ], ) diff --git a/go/pkg/ociutil/fetch.go b/go/pkg/ociutil/fetch.go deleted file mode 100644 index 6ccc634..0000000 --- a/go/pkg/ociutil/fetch.go +++ /dev/null @@ -1,20 +0,0 @@ -package ociutil - -import ( - "github.com/containerd/containerd/content" - "github.com/containerd/containerd/remotes" - log "github.com/sirupsen/logrus" - "oras.land/oras-go/pkg/oras" -) - -func FetchertoProvider(fetcher remotes.Fetcher) content.Provider { - if prov, ok := fetcher.(content.Provider); ok { - log.Debugf("Fetcher %T is a Provider", fetcher) - return prov - } - - log.Debugf("Wrapping fetcher %T", fetcher) - return &oras.ProviderWrapper{ - Fetcher: fetcher, - } -} diff --git a/justfile b/justfile index 5f50683..5d24c8c 100644 --- a/justfile +++ b/justfile @@ -25,14 +25,23 @@ release: test --ref "ghcr.io/datadog/rules_oci/rules:latest" test: - bazel test //... - bazel run //:gazelle -- -mode diff || exit 1 - -update-crates: - CARGO_BAZEL_REPIN=1 bazel sync --only=crate_index + #!/usr/bin/env bash + set -euxo pipefail + flags=$([[ ${CI-0} == 1 ]] && echo "--config=ci" || echo "") + bazel test ${flags} //... + bazel run ${flags} //:gazelle -- -mode diff || exit 1 + ( + cd examples + bazel build ${flags} //... + bazel run ${flags} //:gazelle -- -mode diff || exit 1 + ) update-docs: bazel run //docs:update -foobar: - bzl run //examples/simple:image.load +update-go-3rd-party: + bazel run //:go -- mod tidy + bazel run //:gazelle-update-repos + +update-rust-3rd-party: + CARGO_BAZEL_REPIN=1 bazel sync --only=crate_index diff --git a/oci/BUILD.bazel b/oci/BUILD.bazel index 633dfee..17131d1 100644 --- a/oci/BUILD.bazel +++ b/oci/BUILD.bazel @@ -2,10 +2,23 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@rules_pkg//pkg:mappings.bzl", "pkg_files") load("//oci/private:debug_flag.bzl", "debug_flag") -# gazelle:lang go,starlark +# gazelle:lang starlark +# gazelle:resolve starlark starlark @com_github_datadog_rules_oci_crate_index//:defs.bzl @com_github_datadog_rules_oci_crate_index//:srcs +# gazelle:resolve starlark starlark @rules_pkg//pkg:mappings.bzl @rules_pkg//pkg:bzl_srcs +# gazelle:resolve starlark starlark @rules_pkg//pkg:pkg.bzl @rules_pkg//pkg:bzl_srcs +# gazelle:resolve starlark starlark @rules_rust//rust:repositories.bzl @rules_rust//rust:repositories.bzl + +# TODO: Delete once CNAB tools stops needing this +toolchain_type( + name = "toolchain", + visibility = ["//visibility:public"], +) exports_files( - glob(["*.bzl"]), + glob([ + "*.bazel", + "*.bzl", + ]), visibility = ["//:__subpackages__"], ) @@ -15,48 +28,6 @@ debug_flag( visibility = ["//visibility:public"], ) -bzl_library( - name = "defs", - srcs = ["defs.bzl"], - visibility = ["//visibility:public"], - deps = [ - "//oci:providers.bzl", - "//oci/private:common.bzl", - "//oci/private:debug_flag.bzl", - "//oci/private:oci_image.bzl", - "//oci/private:oci_image_dir.bzl", - "//oci/private:oci_image_index.bzl", - "//oci/private:oci_image_layer.bzl", - "//oci/private:oci_image_load.bzl", - "//oci/private:oci_push.bzl", - "//oci/private:providers.bzl", - "//oci/private/repositories:authn.bzl", - "//oci/private/repositories:download.bzl", - "//oci/private/repositories:oci_pull.bzl", - "@aspect_bazel_lib//lib:base64", - "@aspect_bazel_lib//lib:paths", - "@aspect_bazel_lib//lib:repo_utils", - "@aspect_bazel_lib//lib:stamping", - "@bazel_skylib//lib:versions", - "@rules_pkg//pkg:bzl_srcs", - ], -) - -bzl_library( - name = "repositories", - srcs = ["repositories.bzl"], - visibility = ["//visibility:public"], - deps = [ - "//oci/private:common.bzl", - "//oci/private/repositories:authn.bzl", - "//oci/private/repositories:download.bzl", - "//oci/private/repositories:oci_pull.bzl", - "@aspect_bazel_lib//lib:base64", - "@aspect_bazel_lib//lib:repo_utils", - "@bazel_skylib//lib:versions", - ], -) - pkg_files( name = "files", srcs = glob([ @@ -68,13 +39,19 @@ pkg_files( ) bzl_library( - name = "providers", - srcs = ["providers.bzl"], + name = "defs", + srcs = ["defs.bzl"], visibility = ["//visibility:public"], + deps = [ + "//oci/private:oci_image", + "//oci/private:oci_image_index", + "//oci/private:oci_image_layer", + "//oci/private:oci_push", + ], ) bzl_library( - name = "toolchain", - srcs = ["toolchain.bzl"], + name = "providers", + srcs = ["providers.bzl"], visibility = ["//visibility:public"], ) diff --git a/oci/defs.bzl b/oci/defs.bzl index ba38c15..51cf7aa 100644 --- a/oci/defs.bzl +++ b/oci/defs.bzl @@ -4,12 +4,8 @@ load("//oci/private:oci_image.bzl", _oci_image = "oci_image") load("//oci/private:oci_image_index.bzl", _oci_image_index = "oci_image_index") load("//oci/private:oci_image_layer.bzl", _oci_image_layer = "oci_image_layer") load("//oci/private:oci_push.bzl", _oci_push = "oci_push") -load("//oci/private/repositories:oci_pull.bzl", _oci_pull = "oci_pull") oci_image = _oci_image oci_image_index = _oci_image_index oci_image_layer = _oci_image_layer oci_push = _oci_push - -# TODO(brian.myers): Remove this (from defs.bzl, not repositories.bzl) once consumers no longer use it -oci_pull = _oci_pull diff --git a/oci/private/BUILD.bazel b/oci/private/BUILD.bazel index 2486397..f3ad661 100644 --- a/oci/private/BUILD.bazel +++ b/oci/private/BUILD.bazel @@ -1,12 +1,6 @@ +load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@rules_pkg//pkg:mappings.bzl", "pkg_files") -# gazelle:lang go - -exports_files( - glob(["*.bzl"]), - visibility = ["//oci:__subpackages__"], -) - pkg_files( name = "files", srcs = glob([ @@ -16,3 +10,97 @@ pkg_files( prefix = "oci/private", visibility = ["//:__subpackages__"], ) + +bzl_library( + name = "debug_flag", + srcs = ["debug_flag.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [":providers"], +) + +bzl_library( + name = "oci_image", + srcs = ["oci_image.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + ":common", + ":oci_image_dir", + "//oci:providers", + ], +) + +bzl_library( + name = "oci_image_dir", + srcs = ["oci_image_dir.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + ":common", + ":oci_image_load", + ":providers", + "//oci:providers", + "@rules_pkg//pkg:bzl_srcs", + ], +) + +bzl_library( + name = "oci_image_index", + srcs = ["oci_image_index.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + ":common", + ":oci_image_dir", + "//oci:providers", + ], +) + +bzl_library( + name = "oci_image_layer", + srcs = ["oci_image_layer.bzl"], + visibility = ["//oci:__subpackages__"], + deps = ["//oci:providers"], +) + +bzl_library( + name = "oci_image_load", + srcs = ["oci_image_load.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + ":providers", + "//oci:providers", + "@aspect_bazel_lib//lib:paths", + ], +) + +bzl_library( + name = "oci_pulled_image", + srcs = ["oci_pulled_image.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + "@com_github_datadog_rules_oci//oci:providers", + "@com_github_datadog_rules_oci//oci/private:common", + "@com_github_datadog_rules_oci//oci/private:oci_image_dir", + ], +) + +bzl_library( + name = "oci_push", + srcs = ["oci_push.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + ":providers", + "//oci:providers", + "@aspect_bazel_lib//lib:stamping", + ], +) + +bzl_library( + name = "common", + srcs = ["common.bzl"], + visibility = ["//oci:__subpackages__"], +) + +bzl_library( + name = "providers", + srcs = ["providers.bzl"], + visibility = ["//oci:__subpackages__"], +) diff --git a/oci/private/oci_image.bzl b/oci/private/oci_image.bzl index c1e9ab9..1427a4a 100644 --- a/oci/private/oci_image.bzl +++ b/oci/private/oci_image.bzl @@ -1,7 +1,5 @@ """ oci_image """ -load("@rules_pkg//pkg:mappings.bzl", "pkg_files") -load("@rules_pkg//pkg:pkg.bzl", "pkg_tar") load("//oci:providers.bzl", "OCIDescriptor", "OCILayout") load(":common.bzl", "MEDIA_TYPE_OCI_MANIFEST", "get_or_make_descriptor_file") load(":oci_image_dir.bzl", "oci_image_dir") diff --git a/oci/private/oci_image_layer.bzl b/oci/private/oci_image_layer.bzl index 42beaa4..9717dab 100644 --- a/oci/private/oci_image_layer.bzl +++ b/oci/private/oci_image_layer.bzl @@ -25,8 +25,8 @@ def oci_image_layer( files = files or [] symlinks = symlinks or {} - if len(files) == 0 and len(file_map) == 0: - fail("At least one of `files` or `file_map` must be provided") + if len(files) == 0 and len(file_map) == 0 and len(symlinks) == 0: + fail("At least one of `files`, `file_map`, or `symlinks` must be provided") _oci_image_layer( name = name, diff --git a/oci/private/repositories/oci_pulled_image.bzl b/oci/private/oci_pulled_image.bzl similarity index 94% rename from oci/private/repositories/oci_pulled_image.bzl rename to oci/private/oci_pulled_image.bzl index 069dc85..372f571 100644 --- a/oci/private/repositories/oci_pulled_image.bzl +++ b/oci/private/oci_pulled_image.bzl @@ -5,8 +5,14 @@ load( "OCIDescriptor", "OCILayout", ) -load("//oci/private:common.bzl", "MEDIA_TYPE_OCI_INDEX") -load("//oci/private:oci_image_dir.bzl", "oci_image_dir") +load( + "@com_github_datadog_rules_oci//oci/private:common.bzl", + "MEDIA_TYPE_OCI_INDEX", +) +load( + "@com_github_datadog_rules_oci//oci/private:oci_image_dir.bzl", + "oci_image_dir", +) _COREUTILS_TOOLCHAIN = "@aspect_bazel_lib//lib:coreutils_toolchain_type" diff --git a/oci/private/repositories/BUILD.bazel b/oci/private/repositories/BUILD.bazel index 57c17b9..5360671 100644 --- a/oci/private/repositories/BUILD.bazel +++ b/oci/private/repositories/BUILD.bazel @@ -1,10 +1,6 @@ +load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@rules_pkg//pkg:mappings.bzl", "pkg_files") -exports_files( - glob(["*.bzl"]), - visibility = ["//oci:__subpackages__"], -) - pkg_files( name = "files", srcs = glob([ @@ -14,3 +10,41 @@ pkg_files( prefix = "oci/private/repositories", visibility = ["//:__subpackages__"], ) + +bzl_library( + name = "authn", + srcs = ["authn.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + "@aspect_bazel_lib//lib:base64", + "@aspect_bazel_lib//lib:repo_utils", + ], +) + +bzl_library( + name = "download", + srcs = ["download.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + "//oci/private:common", + "@bazel_skylib//lib:versions", + ], +) + +bzl_library( + name = "go_repositories", + srcs = ["go_repositories.bzl"], + visibility = ["//oci:__subpackages__"], + deps = ["@bazel_gazelle//:deps"], +) + +bzl_library( + name = "oci_pull", + srcs = ["oci_pull.bzl"], + visibility = ["//oci:__subpackages__"], + deps = [ + ":authn", + ":download", + "//oci/private:common", + ], +) diff --git a/oci/private/repositories/go_repositories.bzl b/oci/private/repositories/go_repositories.bzl new file mode 100644 index 0000000..3c4e87a --- /dev/null +++ b/oci/private/repositories/go_repositories.bzl @@ -0,0 +1,1445 @@ +load("@bazel_gazelle//:deps.bzl", "go_repository") + +def go_repositories(): + go_repository( + name = "cat_dario_mergo", + build_file_proto_mode = "disable", + importpath = "dario.cat/mergo", + sum = "h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_adalogics_go_fuzz_headers", + build_file_proto_mode = "disable", + importpath = "github.com/AdaLogics/go-fuzz-headers", + sum = "h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU=", + version = "v0.0.0-20230811130428-ced1acdcaa24", + ) + go_repository( + name = "com_github_adamkorcz_go_118_fuzz_build", + build_file_proto_mode = "disable", + importpath = "github.com/AdamKorcz/go-118-fuzz-build", + sum = "h1:59MxjQVfjXsBpLy+dbd2/ELV5ofnUkUZBvWSC85sheA=", + version = "v0.0.0-20230306123547-8075edf89bb0", + ) + go_repository( + name = "com_github_agnivade_levenshtein", + build_file_proto_mode = "disable", + importpath = "github.com/agnivade/levenshtein", + sum = "h1:3oJU7J3FGFmyhn8KHjmVaZCN5hxTr7GxgRue+sxIXdQ=", + version = "v1.0.1", + ) + go_repository( + name = "com_github_akavel_rsrc", + build_file_proto_mode = "disable", + importpath = "github.com/akavel/rsrc", + sum = "h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw=", + version = "v0.10.2", + ) + go_repository( + name = "com_github_beorn7_perks", + build_file_proto_mode = "disable", + importpath = "github.com/beorn7/perks", + sum = "h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=", + version = "v1.0.1", + ) + go_repository( + name = "com_github_blakesmith_ar", + build_file_proto_mode = "disable", + importpath = "github.com/blakesmith/ar", + sum = "h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4=", + version = "v0.0.0-20190502131153-809d4375e1fb", + ) + go_repository( + name = "com_github_blang_semver_v4", + build_file_proto_mode = "disable", + importpath = "github.com/blang/semver/v4", + sum = "h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=", + version = "v4.0.0", + ) + go_repository( + name = "com_github_burntsushi_toml", + build_file_proto_mode = "disable", + importpath = "github.com/BurntSushi/toml", + sum = "h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=", + version = "v1.3.2", + ) + go_repository( + name = "com_github_cenkalti_backoff_v4", + build_file_proto_mode = "disable", + importpath = "github.com/cenkalti/backoff/v4", + sum = "h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=", + version = "v4.2.1", + ) + go_repository( + name = "com_github_census_instrumentation_opencensus_proto", + build_file_proto_mode = "disable", + importpath = "github.com/census-instrumentation/opencensus-proto", + sum = "h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=", + version = "v0.4.1", + ) + go_repository( + name = "com_github_cespare_xxhash_v2", + build_file_proto_mode = "disable", + importpath = "github.com/cespare/xxhash/v2", + sum = "h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=", + version = "v2.2.0", + ) + go_repository( + name = "com_github_cilium_ebpf", + build_file_proto_mode = "disable", + importpath = "github.com/cilium/ebpf", + sum = "h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4=", + version = "v0.9.1", + ) + go_repository( + name = "com_github_cncf_xds_go", + build_file_proto_mode = "disable", + importpath = "github.com/cncf/xds/go", + sum = "h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ=", + version = "v0.0.0-20231128003011-0fa0005c9caa", + ) + go_repository( + name = "com_github_containerd_aufs", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/aufs", + sum = "h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_containerd_btrfs_v2", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/btrfs/v2", + sum = "h1:FN4wsx7KQrYoLXN7uLP0vBV4oVWHOIKDRQ1G2Z0oL5M=", + version = "v2.0.0", + ) + go_repository( + name = "com_github_containerd_cgroups", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/cgroups", + sum = "h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_containerd_cgroups_v3", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/cgroups/v3", + sum = "h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0=", + version = "v3.0.2", + ) + go_repository( + name = "com_github_containerd_console", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/console", + sum = "h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=", + version = "v1.0.3", + ) + go_repository( + name = "com_github_containerd_containerd", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/containerd", + sum = "h1:Sl6jQYk3TRavaU83h66QMbI2Nqg9Jm6qzwX57Vsn1SQ=", + version = "v1.7.20", + ) + go_repository( + name = "com_github_containerd_containerd_api", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/containerd/api", + sum = "h1:VWbJL+8Ap4Ju2mx9c9qS1uFSB1OVYr5JJrW2yT5vFoA=", + version = "v1.7.19", + ) + go_repository( + name = "com_github_containerd_continuity", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/continuity", + sum = "h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM=", + version = "v0.4.2", + ) + go_repository( + name = "com_github_containerd_errdefs", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/errdefs", + sum = "h1:m0wCRBiu1WJT/Fr+iOoQHMQS/eP5myQ8lCv4Dz5ZURM=", + version = "v0.1.0", + ) + go_repository( + name = "com_github_containerd_fifo", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/fifo", + sum = "h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_containerd_go_cni", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/go-cni", + sum = "h1:ORi7P1dYzCwVM6XPN4n3CbkuOx/NZ2DOqy+SHRdo9rU=", + version = "v1.1.9", + ) + go_repository( + name = "com_github_containerd_go_runc", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/go-runc", + sum = "h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_containerd_imgcrypt", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/imgcrypt", + sum = "h1:ZS7TuywcRNLoHpU0g+v4/PsKynl6TYlw5xDVWWoIyFA=", + version = "v1.1.8", + ) + go_repository( + name = "com_github_containerd_log", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/log", + sum = "h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=", + version = "v0.1.0", + ) + go_repository( + name = "com_github_containerd_nri", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/nri", + sum = "h1:xSQ6elnQ4Ynidm9u49ARK9wRKHs80HCUI+bkXOxV4mA=", + version = "v0.6.1", + ) + go_repository( + name = "com_github_containerd_platforms", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/platforms", + sum = "h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A=", + version = "v0.2.1", + ) + go_repository( + name = "com_github_containerd_protobuild", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/protobuild", + sum = "h1:RIyEIu+D+iIha6E1PREBPAXspSMFaDVam81JlolZWpg=", + version = "v0.3.0", + ) + go_repository( + name = "com_github_containerd_stargz_snapshotter_estargz", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/stargz-snapshotter/estargz", + sum = "h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k=", + version = "v0.14.3", + ) + go_repository( + name = "com_github_containerd_ttrpc", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/ttrpc", + sum = "h1:IFckT1EFQoFBMG4c3sMdT8EP3/aKfumK1msY+Ze4oLU=", + version = "v1.2.5", + ) + go_repository( + name = "com_github_containerd_typeurl", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/typeurl", + sum = "h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY=", + version = "v1.0.2", + ) + go_repository( + name = "com_github_containerd_typeurl_v2", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/typeurl/v2", + sum = "h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4=", + version = "v2.1.1", + ) + go_repository( + name = "com_github_containerd_zfs", + build_file_proto_mode = "disable", + importpath = "github.com/containerd/zfs", + sum = "h1:n7OZ7jZumLIqNJqXrEc/paBM840mORnmGdJDmAmJZHM=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_containernetworking_cni", + build_file_proto_mode = "disable", + importpath = "github.com/containernetworking/cni", + sum = "h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ=", + version = "v1.1.2", + ) + go_repository( + name = "com_github_containernetworking_plugins", + build_file_proto_mode = "disable", + importpath = "github.com/containernetworking/plugins", + sum = "h1:SWgg3dQG1yzUo4d9iD8cwSVh1VqI+bP7mkPDoSfP9VU=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_containers_ocicrypt", + build_file_proto_mode = "disable", + importpath = "github.com/containers/ocicrypt", + sum = "h1:r7UR6o8+lyhkEywetubUUgcKFjOWOaWz8cEBrCPX0ic=", + version = "v1.1.10", + ) + go_repository( + name = "com_github_coreos_go_systemd_v22", + build_file_proto_mode = "disable", + importpath = "github.com/coreos/go-systemd/v22", + sum = "h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=", + version = "v22.5.0", + ) + go_repository( + name = "com_github_cpuguy83_go_md2man_v2", + build_file_proto_mode = "disable", + importpath = "github.com/cpuguy83/go-md2man/v2", + sum = "h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=", + version = "v2.0.4", + ) + go_repository( + name = "com_github_creack_pty", + build_file_proto_mode = "disable", + importpath = "github.com/creack/pty", + sum = "h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w=", + version = "v1.1.9", + ) + go_repository( + name = "com_github_danieljoos_wincred", + build_file_proto_mode = "disable", + importpath = "github.com/danieljoos/wincred", + sum = "h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs=", + version = "v1.2.1", + ) + go_repository( + name = "com_github_davecgh_go_spew", + build_file_proto_mode = "disable", + importpath = "github.com/davecgh/go-spew", + sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=", + version = "v1.1.1", + ) + go_repository( + name = "com_github_decred_dcrd_dcrec_secp256k1_v4", + build_file_proto_mode = "disable", + importpath = "github.com/decred/dcrd/dcrec/secp256k1/v4", + sum = "h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=", + version = "v4.2.0", + ) + go_repository( + name = "com_github_distribution_reference", + build_file_proto_mode = "disable", + importpath = "github.com/distribution/reference", + sum = "h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=", + version = "v0.6.0", + ) + go_repository( + name = "com_github_docker_cli", + build_file_proto_mode = "disable", + importpath = "github.com/docker/cli", + sum = "h1:0+1VshNwBQzQAx9lOl+OYCTCEAD8fKs/qeXMx3O0wqM=", + version = "v24.0.0+incompatible", + ) + go_repository( + name = "com_github_docker_distribution", + build_file_proto_mode = "disable", + importpath = "github.com/docker/distribution", + sum = "h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=", + version = "v2.8.2+incompatible", + ) + go_repository( + name = "com_github_docker_docker", + build_file_proto_mode = "disable", + importpath = "github.com/docker/docker", + sum = "h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM=", + version = "v24.0.7+incompatible", + ) + go_repository( + name = "com_github_docker_docker_credential_helpers", + build_file_proto_mode = "disable", + importpath = "github.com/docker/docker-credential-helpers", + sum = "h1:j/eKUktUltBtMzKqmfLB0PAgqYyMHOp5vfsD1807oKo=", + version = "v0.8.1", + ) + go_repository( + name = "com_github_docker_go_connections", + build_file_proto_mode = "disable", + importpath = "github.com/docker/go-connections", + sum = "h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=", + version = "v0.4.0", + ) + go_repository( + name = "com_github_docker_go_events", + build_file_proto_mode = "disable", + importpath = "github.com/docker/go-events", + sum = "h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8=", + version = "v0.0.0-20190806004212-e31b211e4f1c", + ) + go_repository( + name = "com_github_docker_go_metrics", + build_file_proto_mode = "disable", + importpath = "github.com/docker/go-metrics", + sum = "h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8=", + version = "v0.0.1", + ) + go_repository( + name = "com_github_docker_go_units", + build_file_proto_mode = "disable", + importpath = "github.com/docker/go-units", + sum = "h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=", + version = "v0.5.0", + ) + go_repository( + name = "com_github_emicklei_go_restful_v3", + build_file_proto_mode = "disable", + importpath = "github.com/emicklei/go-restful/v3", + sum = "h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ=", + version = "v3.10.1", + ) + go_repository( + name = "com_github_envoyproxy_go_control_plane", + build_file_proto_mode = "disable", + importpath = "github.com/envoyproxy/go-control-plane", + sum = "h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI=", + version = "v0.12.0", + ) + go_repository( + name = "com_github_envoyproxy_protoc_gen_validate", + build_file_proto_mode = "disable", + importpath = "github.com/envoyproxy/protoc-gen-validate", + sum = "h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A=", + version = "v1.0.4", + ) + go_repository( + name = "com_github_felixge_httpsnoop", + build_file_proto_mode = "disable", + importpath = "github.com/felixge/httpsnoop", + sum = "h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=", + version = "v1.0.4", + ) + go_repository( + name = "com_github_fsnotify_fsnotify", + build_file_proto_mode = "disable", + importpath = "github.com/fsnotify/fsnotify", + sum = "h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=", + version = "v1.6.0", + ) + go_repository( + name = "com_github_fxamacker_cbor_v2", + build_file_proto_mode = "disable", + importpath = "github.com/fxamacker/cbor/v2", + sum = "h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88=", + version = "v2.4.0", + ) + go_repository( + name = "com_github_ghodss_yaml", + build_file_proto_mode = "disable", + importpath = "github.com/ghodss/yaml", + sum = "h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_go_jose_go_jose_v3", + build_file_proto_mode = "disable", + importpath = "github.com/go-jose/go-jose/v3", + sum = "h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k=", + version = "v3.0.3", + ) + go_repository( + name = "com_github_go_logr_logr", + build_file_proto_mode = "disable", + importpath = "github.com/go-logr/logr", + sum = "h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=", + version = "v1.4.1", + ) + go_repository( + name = "com_github_go_logr_stdr", + build_file_proto_mode = "disable", + importpath = "github.com/go-logr/stdr", + sum = "h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=", + version = "v1.2.2", + ) + go_repository( + name = "com_github_gobwas_glob", + build_file_proto_mode = "disable", + importpath = "github.com/gobwas/glob", + sum = "h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=", + version = "v0.2.3", + ) + go_repository( + name = "com_github_goccy_go_json", + build_file_proto_mode = "disable", + importpath = "github.com/goccy/go-json", + sum = "h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=", + version = "v0.10.2", + ) + go_repository( + name = "com_github_godbus_dbus_v5", + build_file_proto_mode = "disable", + importpath = "github.com/godbus/dbus/v5", + sum = "h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=", + version = "v5.1.0", + ) + go_repository( + name = "com_github_gogo_protobuf", + build_file_proto_mode = "disable", + importpath = "github.com/gogo/protobuf", + sum = "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=", + version = "v1.3.2", + ) + go_repository( + name = "com_github_golang_glog", + build_file_proto_mode = "disable", + importpath = "github.com/golang/glog", + sum = "h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_golang_groupcache", + build_file_proto_mode = "disable", + importpath = "github.com/golang/groupcache", + sum = "h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=", + version = "v0.0.0-20210331224755-41bb18bfe9da", + ) + go_repository( + name = "com_github_golang_protobuf", + build_file_proto_mode = "disable", + importpath = "github.com/golang/protobuf", + sum = "h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=", + version = "v1.5.4", + ) + go_repository( + name = "com_github_google_go_cmp", + build_file_proto_mode = "disable", + importpath = "github.com/google/go-cmp", + sum = "h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=", + version = "v0.6.0", + ) + go_repository( + name = "com_github_google_go_containerregistry", + build_file_proto_mode = "disable", + importpath = "github.com/google/go-containerregistry", + sum = "h1:5p+zYs/R4VGHkhyvgWurWrpJ2hW4Vv9fQI+GzdcwXLk=", + version = "v0.17.0", + ) + go_repository( + name = "com_github_google_gofuzz", + build_file_proto_mode = "disable", + importpath = "github.com/google/gofuzz", + sum = "h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_google_uuid", + build_file_proto_mode = "disable", + importpath = "github.com/google/uuid", + sum = "h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=", + version = "v1.6.0", + ) + go_repository( + name = "com_github_grpc_ecosystem_go_grpc_middleware", + build_file_proto_mode = "disable", + importpath = "github.com/grpc-ecosystem/go-grpc-middleware", + sum = "h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=", + version = "v1.3.0", + ) + go_repository( + name = "com_github_grpc_ecosystem_go_grpc_prometheus", + build_file_proto_mode = "disable", + importpath = "github.com/grpc-ecosystem/go-grpc-prometheus", + sum = "h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_grpc_ecosystem_grpc_gateway_v2", + build_file_proto_mode = "disable", + importpath = "github.com/grpc-ecosystem/grpc-gateway/v2", + sum = "h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=", + version = "v2.16.0", + ) + go_repository( + name = "com_github_hashicorp_errwrap", + build_file_proto_mode = "disable", + importpath = "github.com/hashicorp/errwrap", + sum = "h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_hashicorp_go_multierror", + build_file_proto_mode = "disable", + importpath = "github.com/hashicorp/go-multierror", + sum = "h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=", + version = "v1.1.1", + ) + go_repository( + name = "com_github_intel_goresctrl", + build_file_proto_mode = "disable", + importpath = "github.com/intel/goresctrl", + sum = "h1:K2D3GOzihV7xSBedGxONSlaw/un1LZgWsc9IfqipN4c=", + version = "v0.3.0", + ) + go_repository( + name = "com_github_josephspurrier_goversioninfo", + build_file_proto_mode = "disable", + importpath = "github.com/josephspurrier/goversioninfo", + sum = "h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8=", + version = "v1.4.0", + ) + go_repository( + name = "com_github_json_iterator_go", + build_file_proto_mode = "disable", + importpath = "github.com/json-iterator/go", + sum = "h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=", + version = "v1.1.12", + ) + go_repository( + name = "com_github_klauspost_compress", + build_file_proto_mode = "disable", + importpath = "github.com/klauspost/compress", + sum = "h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU=", + version = "v1.17.8", + ) + go_repository( + name = "com_github_klauspost_cpuid_v2", + build_file_proto_mode = "disable", + importpath = "github.com/klauspost/cpuid/v2", + sum = "h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw=", + version = "v2.0.4", + ) + go_repository( + name = "com_github_kr_pretty", + build_file_proto_mode = "disable", + importpath = "github.com/kr/pretty", + sum = "h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=", + version = "v0.3.1", + ) + go_repository( + name = "com_github_kr_pty", + build_file_proto_mode = "disable", + importpath = "github.com/kr/pty", + sum = "h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=", + version = "v1.1.1", + ) + go_repository( + name = "com_github_kr_text", + build_file_proto_mode = "disable", + importpath = "github.com/kr/text", + sum = "h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=", + version = "v0.2.0", + ) + go_repository( + name = "com_github_lestrrat_go_backoff_v2", + build_file_proto_mode = "disable", + importpath = "github.com/lestrrat-go/backoff/v2", + sum = "h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A=", + version = "v2.0.8", + ) + go_repository( + name = "com_github_lestrrat_go_blackmagic", + build_file_proto_mode = "disable", + importpath = "github.com/lestrrat-go/blackmagic", + sum = "h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N+AkAr5k=", + version = "v1.0.2", + ) + go_repository( + name = "com_github_lestrrat_go_httpcc", + build_file_proto_mode = "disable", + importpath = "github.com/lestrrat-go/httpcc", + sum = "h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE=", + version = "v1.0.1", + ) + go_repository( + name = "com_github_lestrrat_go_iter", + build_file_proto_mode = "disable", + importpath = "github.com/lestrrat-go/iter", + sum = "h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI=", + version = "v1.0.2", + ) + go_repository( + name = "com_github_lestrrat_go_jwx", + build_file_proto_mode = "disable", + importpath = "github.com/lestrrat-go/jwx", + sum = "h1:uadI6o0WpOVrBSf498tRXZIwPpEtLnR9CvqPFXeI5sA=", + version = "v1.2.28", + ) + go_repository( + name = "com_github_lestrrat_go_option", + build_file_proto_mode = "disable", + importpath = "github.com/lestrrat-go/option", + sum = "h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU=", + version = "v1.0.1", + ) + go_repository( + name = "com_github_linuxkit_virtsock", + build_file_proto_mode = "disable", + importpath = "github.com/linuxkit/virtsock", + sum = "h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio=", + version = "v0.0.0-20201010232012-f8cee7dfc7a3", + ) + go_repository( + name = "com_github_mattn_go_shellwords", + build_file_proto_mode = "disable", + importpath = "github.com/mattn/go-shellwords", + sum = "h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk=", + version = "v1.0.12", + ) + go_repository( + name = "com_github_matttproud_golang_protobuf_extensions", + build_file_proto_mode = "disable", + importpath = "github.com/matttproud/golang_protobuf_extensions", + sum = "h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=", + version = "v1.0.4", + ) + go_repository( + name = "com_github_microsoft_cosesign1go", + build_file_proto_mode = "disable", + importpath = "github.com/Microsoft/cosesign1go", + sum = "h1:JnHY2wQkIK4HmstaK5rMdM4S83nIC7fJmD1phOLj9qo=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_microsoft_didx509go", + build_file_proto_mode = "disable", + importpath = "github.com/Microsoft/didx509go", + sum = "h1:x1b3Hp1svlSgj4e4191cDtjYCgQIwQXZgudftw7VKtE=", + version = "v0.0.2", + ) + go_repository( + name = "com_github_microsoft_go_winio", + build_file_proto_mode = "disable", + importpath = "github.com/Microsoft/go-winio", + sum = "h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=", + version = "v0.6.2", + ) + go_repository( + name = "com_github_microsoft_hcsshim", + build_file_proto_mode = "disable", + importpath = "github.com/Microsoft/hcsshim", + sum = "h1:LS9NXqXhMoqNCplK1ApmVSfB4UnVLRDWRapB6EIlxE0=", + version = "v0.12.3", + ) + go_repository( + name = "com_github_miekg_pkcs11", + build_file_proto_mode = "disable", + importpath = "github.com/miekg/pkcs11", + sum = "h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=", + version = "v1.1.1", + ) + go_repository( + name = "com_github_minio_sha256_simd", + build_file_proto_mode = "disable", + importpath = "github.com/minio/sha256-simd", + sum = "h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_mistifyio_go_zfs_v3", + build_file_proto_mode = "disable", + importpath = "github.com/mistifyio/go-zfs/v3", + sum = "h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU=", + version = "v3.0.1", + ) + go_repository( + name = "com_github_mitchellh_go_homedir", + build_file_proto_mode = "disable", + importpath = "github.com/mitchellh/go-homedir", + sum = "h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_moby_locker", + build_file_proto_mode = "disable", + importpath = "github.com/moby/locker", + sum = "h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=", + version = "v1.0.1", + ) + go_repository( + name = "com_github_moby_spdystream", + build_file_proto_mode = "disable", + importpath = "github.com/moby/spdystream", + sum = "h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8=", + version = "v0.2.0", + ) + go_repository( + name = "com_github_moby_sys_mountinfo", + build_file_proto_mode = "disable", + importpath = "github.com/moby/sys/mountinfo", + sum = "h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78=", + version = "v0.6.2", + ) + go_repository( + name = "com_github_moby_sys_sequential", + build_file_proto_mode = "disable", + importpath = "github.com/moby/sys/sequential", + sum = "h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc=", + version = "v0.5.0", + ) + go_repository( + name = "com_github_moby_sys_signal", + build_file_proto_mode = "disable", + importpath = "github.com/moby/sys/signal", + sum = "h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI=", + version = "v0.7.0", + ) + go_repository( + name = "com_github_moby_sys_symlink", + build_file_proto_mode = "disable", + importpath = "github.com/moby/sys/symlink", + sum = "h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc=", + version = "v0.2.0", + ) + go_repository( + name = "com_github_moby_sys_user", + build_file_proto_mode = "disable", + importpath = "github.com/moby/sys/user", + sum = "h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg=", + version = "v0.1.0", + ) + go_repository( + name = "com_github_modern_go_concurrent", + build_file_proto_mode = "disable", + importpath = "github.com/modern-go/concurrent", + sum = "h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=", + version = "v0.0.0-20180306012644-bacd9c7ef1dd", + ) + go_repository( + name = "com_github_modern_go_reflect2", + build_file_proto_mode = "disable", + importpath = "github.com/modern-go/reflect2", + sum = "h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=", + version = "v1.0.2", + ) + go_repository( + name = "com_github_oneofone_xxhash", + build_file_proto_mode = "disable", + importpath = "github.com/OneOfOne/xxhash", + sum = "h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8=", + version = "v1.2.8", + ) + go_repository( + name = "com_github_open_policy_agent_opa", + build_file_proto_mode = "disable", + importpath = "github.com/open-policy-agent/opa", + sum = "h1:qocVAKyjrqMjCqsU02S/gHyLr4AQQ9xMtuV1kKnnyhM=", + version = "v0.42.2", + ) + go_repository( + name = "com_github_opencontainers_go_digest", + build_file_proto_mode = "disable", + importpath = "github.com/opencontainers/go-digest", + sum = "h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_opencontainers_image_spec", + build_file_proto_mode = "disable", + importpath = "github.com/opencontainers/image-spec", + sum = "h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_opencontainers_runc", + build_file_proto_mode = "disable", + importpath = "github.com/opencontainers/runc", + sum = "h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss=", + version = "v1.1.12", + ) + go_repository( + name = "com_github_opencontainers_runtime_spec", + build_file_proto_mode = "disable", + importpath = "github.com/opencontainers/runtime-spec", + sum = "h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=", + version = "v1.1.0", + ) + go_repository( + name = "com_github_opencontainers_runtime_tools", + build_file_proto_mode = "disable", + importpath = "github.com/opencontainers/runtime-tools", + sum = "h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0=", + version = "v0.9.1-0.20221107090550-2e043c6bd626", + ) + go_repository( + name = "com_github_opencontainers_selinux", + build_file_proto_mode = "disable", + importpath = "github.com/opencontainers/selinux", + sum = "h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=", + version = "v1.11.0", + ) + go_repository( + name = "com_github_pelletier_go_toml", + build_file_proto_mode = "disable", + importpath = "github.com/pelletier/go-toml", + sum = "h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=", + version = "v1.9.5", + ) + go_repository( + name = "com_github_pkg_diff", + build_file_proto_mode = "disable", + importpath = "github.com/pkg/diff", + sum = "h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A=", + version = "v0.0.0-20210226163009-20ebb0f2a09e", + ) + go_repository( + name = "com_github_pkg_errors", + build_file_proto_mode = "disable", + importpath = "github.com/pkg/errors", + sum = "h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=", + version = "v0.9.1", + ) + go_repository( + name = "com_github_pmezard_go_difflib", + build_file_proto_mode = "disable", + importpath = "github.com/pmezard/go-difflib", + sum = "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_prometheus_client_golang", + build_file_proto_mode = "disable", + importpath = "github.com/prometheus/client_golang", + sum = "h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=", + version = "v1.14.0", + ) + go_repository( + name = "com_github_prometheus_client_model", + build_file_proto_mode = "disable", + importpath = "github.com/prometheus/client_model", + sum = "h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=", + version = "v0.3.0", + ) + go_repository( + name = "com_github_prometheus_common", + build_file_proto_mode = "disable", + importpath = "github.com/prometheus/common", + sum = "h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE=", + version = "v0.37.0", + ) + go_repository( + name = "com_github_prometheus_procfs", + build_file_proto_mode = "disable", + importpath = "github.com/prometheus/procfs", + sum = "h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=", + version = "v0.8.0", + ) + go_repository( + name = "com_github_rcrowley_go_metrics", + build_file_proto_mode = "disable", + importpath = "github.com/rcrowley/go-metrics", + sum = "h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ=", + version = "v0.0.0-20200313005456-10cdbea86bc0", + ) + go_repository( + name = "com_github_rogpeppe_go_internal", + build_file_proto_mode = "disable", + importpath = "github.com/rogpeppe/go-internal", + sum = "h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=", + version = "v1.10.0", + ) + go_repository( + name = "com_github_russross_blackfriday", + build_file_proto_mode = "disable", + importpath = "github.com/russross/blackfriday", + sum = "h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=", + version = "v1.6.0", + ) + go_repository( + name = "com_github_russross_blackfriday_v2", + build_file_proto_mode = "disable", + importpath = "github.com/russross/blackfriday/v2", + sum = "h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=", + version = "v2.1.0", + ) + go_repository( + name = "com_github_sirupsen_logrus", + build_file_proto_mode = "disable", + importpath = "github.com/sirupsen/logrus", + sum = "h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=", + version = "v1.9.3", + ) + go_repository( + name = "com_github_spf13_pflag", + build_file_proto_mode = "disable", + importpath = "github.com/spf13/pflag", + sum = "h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=", + version = "v1.0.5", + ) + go_repository( + name = "com_github_stefanberger_go_pkcs11uri", + build_file_proto_mode = "disable", + importpath = "github.com/stefanberger/go-pkcs11uri", + sum = "h1:pnnLyeX7o/5aX8qUQ69P/mLojDqwda8hFOCBTmP/6hw=", + version = "v0.0.0-20230803200340-78284954bff6", + ) + go_repository( + name = "com_github_stretchr_objx", + build_file_proto_mode = "disable", + importpath = "github.com/stretchr/objx", + sum = "h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=", + version = "v0.5.2", + ) + go_repository( + name = "com_github_stretchr_testify", + build_file_proto_mode = "disable", + importpath = "github.com/stretchr/testify", + sum = "h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=", + version = "v1.9.0", + ) + go_repository( + name = "com_github_syndtr_gocapability", + build_file_proto_mode = "disable", + importpath = "github.com/syndtr/gocapability", + sum = "h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI=", + version = "v0.0.0-20200815063812-42c35b437635", + ) + go_repository( + name = "com_github_tchap_go_patricia_v2", + build_file_proto_mode = "disable", + importpath = "github.com/tchap/go-patricia/v2", + sum = "h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes=", + version = "v2.3.1", + ) + go_repository( + name = "com_github_urfave_cli", + build_file_proto_mode = "disable", + importpath = "github.com/urfave/cli", + sum = "h1:ebbhrRiGK2i4naQJr+1Xj92HXZCrK7MsyTS/ob3HnAk=", + version = "v1.22.14", + ) + go_repository( + name = "com_github_urfave_cli_v2", + build_file_proto_mode = "disable", + importpath = "github.com/urfave/cli/v2", + sum = "h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI=", + version = "v2.27.2", + ) + go_repository( + name = "com_github_vbatts_tar_split", + build_file_proto_mode = "disable", + importpath = "github.com/vbatts/tar-split", + sum = "h1:hLFqsOLQ1SsppQNTMpkpPXClLDfC2A3Zgy9OUU+RVck=", + version = "v0.11.3", + ) + go_repository( + name = "com_github_vektah_gqlparser_v2", + build_file_proto_mode = "disable", + importpath = "github.com/vektah/gqlparser/v2", + sum = "h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc=", + version = "v2.4.5", + ) + go_repository( + name = "com_github_veraison_go_cose", + build_file_proto_mode = "disable", + importpath = "github.com/veraison/go-cose", + sum = "h1:Ok0Hr3GMAf8K/1NB4sV65QGgCiukG1w1QD+H5tmt0Ow=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_vishvananda_netlink", + build_file_proto_mode = "disable", + importpath = "github.com/vishvananda/netlink", + sum = "h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs=", + version = "v1.2.1-beta.2", + ) + go_repository( + name = "com_github_vishvananda_netns", + build_file_proto_mode = "disable", + importpath = "github.com/vishvananda/netns", + sum = "h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8=", + version = "v0.0.4", + ) + go_repository( + name = "com_github_x448_float16", + build_file_proto_mode = "disable", + importpath = "github.com/x448/float16", + sum = "h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=", + version = "v0.8.4", + ) + go_repository( + name = "com_github_xeipuuv_gojsonpointer", + build_file_proto_mode = "disable", + importpath = "github.com/xeipuuv/gojsonpointer", + sum = "h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo=", + version = "v0.0.0-20190905194746-02993c407bfb", + ) + go_repository( + name = "com_github_xeipuuv_gojsonreference", + build_file_proto_mode = "disable", + importpath = "github.com/xeipuuv/gojsonreference", + sum = "h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=", + version = "v0.0.0-20180127040603-bd5ef7bd5415", + ) + go_repository( + name = "com_github_xeipuuv_gojsonschema", + build_file_proto_mode = "disable", + importpath = "github.com/xeipuuv/gojsonschema", + sum = "h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_xrash_smetrics", + build_file_proto_mode = "disable", + importpath = "github.com/xrash/smetrics", + sum = "h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw=", + version = "v0.0.0-20240312152122-5f08fbb34913", + ) + go_repository( + name = "com_github_yashtewari_glob_intersection", + build_file_proto_mode = "disable", + importpath = "github.com/yashtewari/glob-intersection", + sum = "h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg=", + version = "v0.1.0", + ) + go_repository( + name = "com_google_cloud_go_compute", + build_file_proto_mode = "disable", + importpath = "cloud.google.com/go/compute", + sum = "h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg=", + version = "v1.24.0", + ) + go_repository( + name = "com_google_cloud_go_compute_metadata", + build_file_proto_mode = "disable", + importpath = "cloud.google.com/go/compute/metadata", + sum = "h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=", + version = "v0.2.3", + ) + go_repository( + name = "in_gopkg_check_v1", + build_file_proto_mode = "disable", + importpath = "gopkg.in/check.v1", + sum = "h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=", + version = "v1.0.0-20201130134442-10cb98267c6c", + ) + go_repository( + name = "in_gopkg_inf_v0", + build_file_proto_mode = "disable", + importpath = "gopkg.in/inf.v0", + sum = "h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=", + version = "v0.9.1", + ) + go_repository( + name = "in_gopkg_yaml_v2", + build_file_proto_mode = "disable", + importpath = "gopkg.in/yaml.v2", + sum = "h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=", + version = "v2.4.0", + ) + go_repository( + name = "in_gopkg_yaml_v3", + build_file_proto_mode = "disable", + importpath = "gopkg.in/yaml.v3", + sum = "h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=", + version = "v3.0.1", + ) + go_repository( + name = "io_cncf_tags_container_device_interface", + build_file_proto_mode = "disable", + importpath = "tags.cncf.io/container-device-interface", + sum = "h1:MLqGnWfOr1wB7m08ieI4YJ3IoLKKozEnnNYBtacDPQU=", + version = "v0.7.2", + ) + go_repository( + name = "io_cncf_tags_container_device_interface_specs_go", + build_file_proto_mode = "disable", + importpath = "tags.cncf.io/container-device-interface/specs-go", + sum = "h1:w/maMGVeLP6TIQJVYT5pbqTi8SCw/iHZ+n4ignuGHqg=", + version = "v0.7.0", + ) + go_repository( + name = "io_etcd_go_bbolt", + build_file_proto_mode = "disable", + importpath = "go.etcd.io/bbolt", + sum = "h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0=", + version = "v1.3.10", + ) + go_repository( + name = "io_k8s_api", + build_file_proto_mode = "disable", + importpath = "k8s.io/api", + sum = "h1:dM3cinp3PGB6asOySalOZxEG4CZ0IAdJsrYZXE/ovGQ=", + version = "v0.26.2", + ) + go_repository( + name = "io_k8s_apimachinery", + build_file_proto_mode = "disable", + importpath = "k8s.io/apimachinery", + sum = "h1:da1u3D5wfR5u2RpLhE/ZtZS2P7QvDgLZTi9wrNZl/tQ=", + version = "v0.26.2", + ) + go_repository( + name = "io_k8s_apiserver", + build_file_proto_mode = "disable", + importpath = "k8s.io/apiserver", + sum = "h1:Pk8lmX4G14hYqJd1poHGC08G03nIHVqdJMR0SD3IH3o=", + version = "v0.26.2", + ) + go_repository( + name = "io_k8s_client_go", + build_file_proto_mode = "disable", + importpath = "k8s.io/client-go", + sum = "h1:s1WkVujHX3kTp4Zn4yGNFK+dlDXy1bAAkIl+cFAiuYI=", + version = "v0.26.2", + ) + go_repository( + name = "io_k8s_component_base", + build_file_proto_mode = "disable", + importpath = "k8s.io/component-base", + sum = "h1:IfWgCGUDzrD6wLLgXEstJKYZKAFS2kO+rBRi0p3LqcI=", + version = "v0.26.2", + ) + go_repository( + name = "io_k8s_cri_api", + build_file_proto_mode = "disable", + importpath = "k8s.io/cri-api", + sum = "h1:KWO+U8MfI9drXB/P4oU9VchaWYOlwDglJZVHWMpTT3Q=", + version = "v0.27.1", + ) + go_repository( + name = "io_k8s_klog_v2", + build_file_proto_mode = "disable", + importpath = "k8s.io/klog/v2", + sum = "h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw=", + version = "v2.90.1", + ) + go_repository( + name = "io_k8s_sigs_json", + build_file_proto_mode = "disable", + importpath = "sigs.k8s.io/json", + sum = "h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=", + version = "v0.0.0-20220713155537-f223a00ba0e2", + ) + go_repository( + name = "io_k8s_sigs_structured_merge_diff_v4", + build_file_proto_mode = "disable", + importpath = "sigs.k8s.io/structured-merge-diff/v4", + sum = "h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=", + version = "v4.2.3", + ) + go_repository( + name = "io_k8s_sigs_yaml", + build_file_proto_mode = "disable", + importpath = "sigs.k8s.io/yaml", + sum = "h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=", + version = "v1.3.0", + ) + go_repository( + name = "io_k8s_utils", + build_file_proto_mode = "disable", + importpath = "k8s.io/utils", + sum = "h1:kmDqav+P+/5e1i9tFfHq1qcF3sOrDp+YEkVDAHu7Jwk=", + version = "v0.0.0-20230220204549-a5ecb0141aa5", + ) + go_repository( + name = "io_opencensus_go", + build_file_proto_mode = "disable", + importpath = "go.opencensus.io", + sum = "h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=", + version = "v0.24.0", + ) + go_repository( + name = "io_opentelemetry_go_contrib_instrumentation_google_golang_org_grpc_otelgrpc", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc", + sum = "h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE=", + version = "v0.46.1", + ) + go_repository( + name = "io_opentelemetry_go_contrib_instrumentation_net_http_otelhttp", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp", + sum = "h1:Xs2Ncz0gNihqu9iosIZ5SkBbWo5T8JhhLJFMQL1qmLI=", + version = "v0.51.0", + ) + go_repository( + name = "io_opentelemetry_go_otel", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel", + sum = "h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs=", + version = "v1.26.0", + ) + go_repository( + name = "io_opentelemetry_go_otel_exporters_otlp_otlptrace", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel/exporters/otlp/otlptrace", + sum = "h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U=", + version = "v1.19.0", + ) + go_repository( + name = "io_opentelemetry_go_otel_exporters_otlp_otlptrace_otlptracegrpc", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc", + sum = "h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk=", + version = "v1.19.0", + ) + go_repository( + name = "io_opentelemetry_go_otel_exporters_otlp_otlptrace_otlptracehttp", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp", + sum = "h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg=", + version = "v1.19.0", + ) + go_repository( + name = "io_opentelemetry_go_otel_metric", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel/metric", + sum = "h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30=", + version = "v1.26.0", + ) + go_repository( + name = "io_opentelemetry_go_otel_sdk", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel/sdk", + sum = "h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8=", + version = "v1.21.0", + ) + go_repository( + name = "io_opentelemetry_go_otel_trace", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/otel/trace", + sum = "h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA=", + version = "v1.26.0", + ) + go_repository( + name = "io_opentelemetry_go_proto_otlp", + build_file_proto_mode = "disable", + importpath = "go.opentelemetry.io/proto/otlp", + sum = "h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=", + version = "v1.0.0", + ) + go_repository( + name = "org_golang_google_appengine", + build_file_proto_mode = "disable", + importpath = "google.golang.org/appengine", + sum = "h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=", + version = "v1.6.8", + ) + go_repository( + name = "org_golang_google_genproto", + build_file_proto_mode = "disable", + importpath = "google.golang.org/genproto", + sum = "h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=", + version = "v0.0.0-20240227224415-6ceb2ff114de", + ) + go_repository( + name = "org_golang_google_genproto_googleapis_api", + build_file_proto_mode = "disable", + importpath = "google.golang.org/genproto/googleapis/api", + sum = "h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=", + version = "v0.0.0-20240227224415-6ceb2ff114de", + ) + go_repository( + name = "org_golang_google_genproto_googleapis_rpc", + build_file_proto_mode = "disable", + importpath = "google.golang.org/genproto/googleapis/rpc", + sum = "h1:umK/Ey0QEzurTNlsV3R+MfxHAb78HCEX/IkuR+zH4WQ=", + version = "v0.0.0-20240509183442-62759503f434", + ) + go_repository( + name = "org_golang_google_grpc", + build_file_proto_mode = "disable", + importpath = "google.golang.org/grpc", + sum = "h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=", + version = "v1.63.2", + ) + go_repository( + name = "org_golang_google_grpc_cmd_protoc_gen_go_grpc", + build_file_proto_mode = "disable", + importpath = "google.golang.org/grpc/cmd/protoc-gen-go-grpc", + sum = "h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA=", + version = "v1.3.0", + ) + go_repository( + name = "org_golang_google_protobuf", + build_file_proto_mode = "disable", + importpath = "google.golang.org/protobuf", + sum = "h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=", + version = "v1.34.1", + ) + go_repository( + name = "org_golang_x_crypto", + build_file_proto_mode = "disable", + importpath = "golang.org/x/crypto", + sum = "h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=", + version = "v0.24.0", + ) + go_repository( + name = "org_golang_x_exp", + build_file_proto_mode = "disable", + importpath = "golang.org/x/exp", + sum = "h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=", + version = "v0.0.0-20231006140011-7918f672742d", + ) + go_repository( + name = "org_golang_x_mod", + build_file_proto_mode = "disable", + importpath = "golang.org/x/mod", + sum = "h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=", + version = "v0.13.0", + ) + go_repository( + name = "org_golang_x_net", + build_file_proto_mode = "disable", + importpath = "golang.org/x/net", + sum = "h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=", + version = "v0.26.0", + ) + go_repository( + name = "org_golang_x_oauth2", + build_file_proto_mode = "disable", + importpath = "golang.org/x/oauth2", + sum = "h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=", + version = "v0.17.0", + ) + go_repository( + name = "org_golang_x_sync", + build_file_proto_mode = "disable", + importpath = "golang.org/x/sync", + sum = "h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=", + version = "v0.7.0", + ) + go_repository( + name = "org_golang_x_sys", + build_file_proto_mode = "disable", + importpath = "golang.org/x/sys", + sum = "h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=", + version = "v0.22.0", + ) + go_repository( + name = "org_golang_x_term", + build_file_proto_mode = "disable", + importpath = "golang.org/x/term", + sum = "h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=", + version = "v0.21.0", + ) + go_repository( + name = "org_golang_x_text", + build_file_proto_mode = "disable", + importpath = "golang.org/x/text", + sum = "h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=", + version = "v0.16.0", + ) + go_repository( + name = "org_golang_x_time", + build_file_proto_mode = "disable", + importpath = "golang.org/x/time", + sum = "h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=", + version = "v0.0.0-20220210224613-90d013bbcef8", + ) + go_repository( + name = "org_golang_x_tools", + build_file_proto_mode = "disable", + importpath = "golang.org/x/tools", + sum = "h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=", + version = "v0.14.0", + ) + go_repository( + name = "org_golang_x_xerrors", + build_file_proto_mode = "disable", + importpath = "golang.org/x/xerrors", + sum = "h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=", + version = "v0.0.0-20191204190536-9bdfabe68543", + ) + go_repository( + name = "org_mozilla_go_pkcs7", + build_file_proto_mode = "disable", + importpath = "go.mozilla.org/pkcs7", + sum = "h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M=", + version = "v0.0.0-20200128120323-432b2356ecb1", + ) + go_repository( + name = "org_uber_go_mock", + build_file_proto_mode = "disable", + importpath = "go.uber.org/mock", + sum = "h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=", + version = "v0.4.0", + ) diff --git a/oci/private/repositories/oci_pull.bzl b/oci/private/repositories/oci_pull.bzl index 4fd65f7..84fecca 100644 --- a/oci/private/repositories/oci_pull.bzl +++ b/oci/private/repositories/oci_pull.bzl @@ -124,10 +124,9 @@ exports_files( rctx.path("image/BUILD.bazel"), content = """ load( - "@com_github_datadog_rules_oci//oci/private/repositories:oci_pulled_image.bzl", + "@com_github_datadog_rules_oci//oci/private:oci_pulled_image.bzl", "oci_pulled_image", ) -load("@rules_pkg//pkg:pkg.bzl", "pkg_tar") oci_pulled_image( name = "image", @@ -137,19 +136,6 @@ oci_pulled_image( ], visibility = ["//visibility:public"], ) - -pkg_tar( - name = "tar", - srcs = [ - "//:index.json", - "//:oci-layout", - "//blobs/sha256:blobs", - ], - extension = "tar.gz", - package_file_name = "image.tar.gz", - tags = ["manual"], - visibility = ["//visibility:public"], -) """.strip().format( blobs = ",\n".join([ ' "//blobs/sha256:{}\"'.format(blob) @@ -162,19 +148,10 @@ pkg_tar( rctx.file( rctx.path("blobs/sha256/BUILD.bazel"), content = """ -load("@rules_pkg//pkg:mappings.bzl", "pkg_files") - exports_files( glob(["**/*"]), visibility = ["//:__subpackages__"], ) - -pkg_files( - name = "blobs", - srcs = glob(["**/*"]), - prefix = "blobs/sha256", - visibility = ["//:__subpackages__"], -) """.strip(), executable = False, ) diff --git a/oci/repositories/01_direct_dependencies.bzl b/oci/repositories/01_direct_dependencies.bzl new file mode 100644 index 0000000..ae2fd69 --- /dev/null +++ b/oci/repositories/01_direct_dependencies.bzl @@ -0,0 +1,77 @@ +""" direct dependencies """ + +load("@bazel_tools//tools/build_defs/repo:http.bzl", _http_archive = "http_archive") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + +def http_archive(**kwargs): + maybe(_http_archive, **kwargs) + +def rules_oci_direct_dependencies(): + # 2024-05-08 + http_archive( + name = "aspect_bazel_lib", + sha256 = "87ab4ec479ebeb00d286266aca2068caeef1bb0b1765e8f71c7b6cfee6af4226", + strip_prefix = "bazel-lib-2.7.3", + url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.7.3/bazel-lib-v2.7.3.tar.gz", + ) + + # 2024-08-01 + http_archive( + name = "bazel_gazelle", + sha256 = "8ad77552825b078a10ad960bec6ef77d2ff8ec70faef2fd038db713f410f5d87", + urls = [ + "https://github.com/bazel-contrib/bazel-gazelle/releases/download/v0.38.0/bazel-gazelle-v0.38.0.tar.gz", + ], + ) + + # 2024-04-25 + http_archive( + name = "bazel_skylib", + sha256 = "9f38886a40548c6e96c106b752f242130ee11aaa068a56ba7e56f4511f33e4f2", + urls = [ + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz", + ], + ) + + # 2024-10-22 + http_archive( + name = "com_google_protobuf", + integrity = "sha256-fD69eq7dhvpdxHmg/agD9gLKr3jYr/fOg7ieG4rnRCo=", + strip_prefix = "protobuf-28.3", + urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v28.3/protobuf-28.3.tar.gz"], + ) + + # 2024-05-06 + http_archive( + name = "io_bazel_rules_go", + sha256 = "f74c98d6df55217a36859c74b460e774abc0410a47cc100d822be34d5f990f16", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.47.1/rules_go-v0.47.1.zip", + "https://github.com/bazelbuild/rules_go/releases/download/v0.47.1/rules_go-v0.47.1.zip", + ], + ) + + # 2024-11-19 + http_archive( + name = "rules_cc", + urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.17/rules_cc-0.0.17.tar.gz"], + sha256 = "abc605dd850f813bb37004b77db20106a19311a96b2da1c92b789da529d28fe1", + strip_prefix = "rules_cc-0.0.17", + ) + + # 2024-02-08 + http_archive( + name = "rules_pkg", + urls = [ + "https://github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz", + ], + sha256 = "d250924a2ecc5176808fc4c25d5cf5e9e79e6346d79d5ab1c493e289e722d1d0", + ) + + # 2024-11-07 + http_archive( + name = "rules_rust", + integrity = "sha256-r09Wyq5QqZpov845sUG1Cd1oVIyCBLmKt6HK/JTVuwI=", + urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.54.1/rules_rust-v0.54.1.tar.gz"], + ) diff --git a/oci/repositories/02_toolchains.bzl b/oci/repositories/02_toolchains.bzl new file mode 100644 index 0000000..a8a2b52 --- /dev/null +++ b/oci/repositories/02_toolchains.bzl @@ -0,0 +1,51 @@ +""" toolchains """ + +load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_coreutils_toolchains") +load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") +load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") +load("@rules_rust//crate_universe:defs.bzl", "crates_repository") +load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") + +def rules_oci_toolchains( + register_go_toolchain_version = None, # str | None + register_rust_toolchain_version = None): # str | None + """Register toolchains and dependencies for rules_oci + + Args: + register_go_toolchain_version: The version of the Go toolchain to register. + Leave this as None if you already depend on rules_go and have already + registered a go toolchain. + register_rust_toolchain_version: The version of the Rust toolchain to register. + Leave this as None if you already depend on rules_rust and have already + registered a rust toolchain + """ + + # aspect_bazel_lib + aspect_bazel_lib_dependencies() + + register_coreutils_toolchains(register = True) + + # go + go_rules_dependencies() + + if register_go_toolchain_version != None: + go_register_toolchains(version = register_go_toolchain_version) + + # gazelle + gazelle_dependencies() + + # rust + rules_rust_dependencies() + + if register_rust_toolchain_version != None: + rust_register_toolchains() + + crates_repository( + name = "com_github_datadog_rules_oci_crate_index", + cargo_lockfile = "@com_github_datadog_rules_oci//:Cargo.lock", + manifests = [ + "@com_github_datadog_rules_oci//:Cargo.toml", + "@com_github_datadog_rules_oci//ocitool:Cargo.toml", + ], + rust_version = register_rust_toolchain_version, + ) diff --git a/oci/repositories/03_third_party_go_and_rust_libraries.bzl b/oci/repositories/03_third_party_go_and_rust_libraries.bzl new file mode 100644 index 0000000..1c70eea --- /dev/null +++ b/oci/repositories/03_third_party_go_and_rust_libraries.bzl @@ -0,0 +1,8 @@ +""" 3rd party go and rust libraries """ + +load("@com_github_datadog_rules_oci//oci/private/repositories:go_repositories.bzl", "go_repositories") +load("@com_github_datadog_rules_oci_crate_index//:defs.bzl", "crate_repositories") + +def rules_oci_third_party_go_and_rust_libraries(): + crate_repositories() + go_repositories() diff --git a/oci/repositories/BUILD.bazel b/oci/repositories/BUILD.bazel new file mode 100644 index 0000000..f851ca9 --- /dev/null +++ b/oci/repositories/BUILD.bazel @@ -0,0 +1,59 @@ +load("@bazel_skylib//:bzl_library.bzl", "bzl_library") +load("@rules_pkg//pkg:mappings.bzl", "pkg_files") + +exports_files( + glob([ + "*.bazel", + "*.bzl", + ]), + visibility = ["//:__subpackages__"], +) + +pkg_files( + name = "files", + srcs = glob([ + "*.bzl", + "*.bazel", + ]), + prefix = "oci/repositories", + visibility = ["//:__subpackages__"], +) + +bzl_library( + name = "01_direct_dependencies", + srcs = ["01_direct_dependencies.bzl"], + visibility = ["//visibility:public"], + deps = [ + "@bazel_tools//tools/build_defs/repo:http.bzl", + "@bazel_tools//tools/build_defs/repo:utils.bzl", + ], +) + +bzl_library( + name = "02_toolchains", + srcs = ["02_toolchains.bzl"], + visibility = ["//visibility:public"], + deps = [ + "@aspect_bazel_lib//lib:repositories", + "@bazel_gazelle//:deps", + "@io_bazel_rules_go//go:deps", + "@rules_rust//rust:repositories.bzl", + ], +) + +bzl_library( + name = "03_third_party_go_and_rust_libraries", + srcs = ["03_third_party_go_and_rust_libraries.bzl"], + visibility = ["//visibility:public"], + deps = [ + "@com_github_datadog_rules_oci//oci/private/repositories:go_repositories", + "@com_github_datadog_rules_oci_crate_index//:srcs", + ], +) + +bzl_library( + name = "pull", + srcs = ["pull.bzl"], + visibility = ["//visibility:public"], + deps = ["//oci/private/repositories:oci_pull"], +) diff --git a/oci/repositories.bzl b/oci/repositories/pull.bzl similarity index 74% rename from oci/repositories.bzl rename to oci/repositories/pull.bzl index 394866c..36ea163 100644 --- a/oci/repositories.bzl +++ b/oci/repositories/pull.bzl @@ -1,4 +1,4 @@ -""" public repository rules """ +""" oci_pull """ load("//oci/private/repositories:oci_pull.bzl", _oci_pull = "oci_pull") diff --git a/oci/toolchain.bzl b/oci/toolchain.bzl index a671a11..5daf5fc 100644 --- a/oci/toolchain.bzl +++ b/oci/toolchain.bzl @@ -1,3 +1,30 @@ -# TODO(brian.myers): Remove this once consumers no longer use it +# TODO(brian.myers): Delete this file once CNAB tools stops needing it + def register_compiled_oci_toolchains(**kwargs): pass + +def _oci_toolchain_impl(ctx): + return [platform_common.ToolchainInfo()] + +_oci_toolchain = rule( + implementation = _oci_toolchain_impl, + attrs = { + "sdk": attr.label(), + }, + provides = [platform_common.ToolchainInfo], +) + +def oci_toolchain( + name, + **kwargs): + oci_toolchain_name = "{name}.oci_toolchain".format(name = name) + _oci_toolchain( + name = oci_toolchain_name, + **kwargs + ) + + native.toolchain( + name = name, + toolchain = oci_toolchain_name, + toolchain_type = "@com_github_datadog_rules_oci//oci:toolchain", + ) diff --git a/ocitool/BUILD.bazel b/ocitool/BUILD.bazel index 8ea0300..a172723 100644 --- a/ocitool/BUILD.bazel +++ b/ocitool/BUILD.bazel @@ -1,4 +1,4 @@ -load("@crate_index//:defs.bzl", "all_crate_deps") +load("@com_github_datadog_rules_oci_crate_index//:defs.bzl", "all_crate_deps") load( "@rules_rust//rust:defs.bzl", "rust_binary", diff --git a/ocitool/src/cmd.rs b/ocitool/src/cmd/mod.rs similarity index 100% rename from ocitool/src/cmd.rs rename to ocitool/src/cmd/mod.rs diff --git a/ocitool/src/cmd/oci_dir.rs b/ocitool/src/cmd/oci_dir.rs index b356ebf..7867a15 100644 --- a/ocitool/src/cmd/oci_dir.rs +++ b/ocitool/src/cmd/oci_dir.rs @@ -16,6 +16,8 @@ use crate::cmd::oci_dir::descriptor::DescriptorExt as _; use crate::cmd::oci_dir::digest::DigestExt as _; use crate::utils; +/// Creates an OCI layout directory from the provided index or manifest descriptor, as well as the +/// provided files, and writes it to the provided output directory pub(crate) fn oci_dir( descriptor_path: PathBuf, files: Vec, @@ -136,7 +138,7 @@ pub(crate) fn oci_dir( fn write_manifest_and_associated_config_and_associated_layers_to_blobs_directory( files_map: &HashMap, - manifest_descriptor: &oci_spec::image::Descriptor, + manifest_descriptor: &Descriptor, out_dir: &Path, out_platforms: &mut HashMap, ) -> Result<(), anyhow::Error> { diff --git a/ocitool/src/cmd/oci_load.rs b/ocitool/src/cmd/oci_load.rs index 442c983..3f02449 100644 --- a/ocitool/src/cmd/oci_load.rs +++ b/ocitool/src/cmd/oci_load.rs @@ -8,6 +8,7 @@ use colored::Colorize as _; use fs_err as fs; use oci_spec::image::{Digest, Platform}; +/// Load an OCI image into the local docker daemon and retags it with the provided repository name pub(crate) fn oci_load( platforms_path: PathBuf, repository: String, diff --git a/third_party/com_github_bazelbuild_bazel-skylib/01-pr-535-support-resolve.patch b/third_party/com_github_bazelbuild_bazel-skylib/01-pr-535-support-resolve.patch new file mode 100644 index 0000000..8846880 --- /dev/null +++ b/third_party/com_github_bazelbuild_bazel-skylib/01-pr-535-support-resolve.patch @@ -0,0 +1,16 @@ +diff --git a/gazelle/bzl/gazelle.go b/gazelle/bzl/gazelle.go +index 94c32e9..7a59714 100644 +--- a/gazelle/bzl/gazelle.go ++++ b/gazelle/bzl/gazelle.go +@@ -152,6 +152,11 @@ func (*bzlLibraryLang) Resolve(c *config.Config, ix *resolve.RuleIndex, rc *repo + + deps := make([]string, 0, len(imports)) + for _, imp := range imports { ++ if l, ok := resolve.FindRuleWithOverride(c, resolve.ImportSpec{Lang: languageName, Imp: imp}, languageName); ok { ++ depLabel := l.Rel(from.Repo, from.Pkg) ++ deps = append(deps, depLabel.String()) ++ continue ++ } + impLabel, err := label.Parse(imp) + if err != nil { + log.Printf("%s: import of %q is invalid: %v", from.String(), imp, err) diff --git a/third_party/com_github_bazelbuild_bazel-skylib/BUILD.bazel b/third_party/com_github_bazelbuild_bazel-skylib/BUILD.bazel new file mode 100644 index 0000000..e69de29