diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2f4563afd..0807bde3a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: - name: Install pack uses: buildpacks/github-actions/setup-pack@v5.4.0 with: - pack-version: '0.30.0-rc1' # FIXME: update to 0.30.0 when available + pack-version: '0.31.0' - name: Test run: make test env: diff --git a/content/docs/app-developer-guide/run-an-app.md b/content/docs/app-developer-guide/run-an-app.md index 08cf61351..a03db9a31 100644 --- a/content/docs/app-developer-guide/run-an-app.md +++ b/content/docs/app-developer-guide/run-an-app.md @@ -48,7 +48,7 @@ Base Image: Top Layer: sha256:700c764e7c5d5c75e6a0fc7d272b7e1c70ab327c03fbdf4abd9313e5ec3217f7 Run Images: - cnbs/sample-stack-run:alpine + cnbs/sample-base-run:alpine Rebasable: true diff --git a/content/docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials.md b/content/docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials.md index c97a18713..b8f4224ac 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials.md +++ b/content/docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials.md @@ -25,7 +25,7 @@ You should see the following: ```text Run Images: - cnbs/sample-stack-run:jammy + cnbs/sample-base-run:jammy ... Buildpacks: @@ -55,9 +55,13 @@ api = "0.8" version = "0.0.1" sbom-formats = [ "application/vnd.cyclonedx+json" ] -# Stacks that the buildpack will work with +# Targets the buildpack will work with +[[targets]] +os = "linux" + +# Stacks (deprecated) the buildpack will work with [[stacks]] - id = "io.buildpacks.samples.stacks.jammy" + id = "*" ``` Then, in our buildpack implementation we will generate the necessary SBOM metadata: diff --git a/content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md b/content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md index 9914ba9d4..29f28d64a 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md +++ b/content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md @@ -28,8 +28,8 @@ This command will create `ruby-buildpack` directory which contains `buildpack.to ### Additional Parameters - `-a, --api` Buildpack API compatibility of the generated buildpack - `-h, --help` Help for 'new' -- `--path` the location on the filesystem to generate the artifacts. -- `--stacks` Stack(s) this buildpack will be compatible with. Repeat for each stack in order, or supply once by comma-separated list +- `--path` the location on the filesystem to generate the artifacts +- `--stacks` Stacks (deprecated) the buildpack will work with - `-V, --version` the version of the buildpack in buildpack.toml @@ -48,13 +48,19 @@ api = "0.8" id = "examples/ruby" version = "0.0.1" -# Stacks that the buildpack will work with +# Targets the buildpack will work with +[[targets]] +os = "linux" + +# Stacks (deprecated) the buildpack will work with [[stacks]] id = "io.buildpacks.samples.stacks.jammy" ``` -You will notice two specific fields in the file: `buildpack.id` and `stack.id`. The buildpack ID is the way you will reference the buildpack when you create buildpack groups, builders, etc. The stack ID is the root file system in which the buildpack will be run. This example can be run on one of two different stacks, both based upon Ubuntu Bionic. +The buildpack ID is the way you will reference the buildpack when you create buildpack groups, builders, etc. +[Targets](/docs/concepts/components/targets/) identifies the kind of build and run base images the buildpack will work with. +The stack ID (deprecated) uniquely identifies a build and run image configuration the buildpack will work with. This example can be run on Ubuntu Jammy. ### `detect` and `build` diff --git a/content/docs/concepts/_index.md b/content/docs/concepts/_index.md index 34f0f752a..6dd519c3d 100644 --- a/content/docs/concepts/_index.md +++ b/content/docs/concepts/_index.md @@ -47,7 +47,8 @@ For example: ![builder](/docs/concepts/builder.svg) -[`Builders`](/docs/concepts/components/builder) are an ordered combination of [`buildpacks`](/docs/concepts/components/buildpack) with a base `build` image, a lifecycle, and reference to a `run image`. They take in your `app` source code and build the output `app image`. The `build` image provides the base environment for the `builder` (for eg. an Ubuntu Bionic OS image with build tooling) and a `run` image provides the base environment for the `app image` during runtime. A combination of a `build` image and a `run` image is called a [`stack`](/docs/concepts/components/stack). +[`Builders`](/docs/concepts/components/builder) are an ordered combination of [`buildpacks`](/docs/concepts/components/buildpack) with a base `build image`, a lifecycle, and reference to a `run image`. +They take in your `app` source code and build the output `app image`. The `build image` provides the base environment for the `builder` (for eg. an Ubuntu Bionic OS image with build tooling) and a `run image` provides the base environment for the `app image` during runtime. Under the hood a builder uses the [`lifecycle`](/docs/concepts/components/lifecycle) to run the `detect` phase for all the `buildpacks` it contains in order and then proceeds to run the `build` phase of all the `buildpacks` that passed detection. diff --git a/content/docs/concepts/components/base-images/build.md b/content/docs/concepts/components/base-images/build.md new file mode 100644 index 000000000..ae96b11f0 --- /dev/null +++ b/content/docs/concepts/components/base-images/build.md @@ -0,0 +1,9 @@ ++++ +title="Build image" +weight=1 ++++ + +## What is a build image? + +The **build image** provides the base image from which the build environment is constructed. +The build environment is the containerized environment in which the [lifecycle][lifecycle] (and thereby [buildpacks][buildpack]) are executed. diff --git a/content/docs/concepts/components/base-images/run.md b/content/docs/concepts/components/base-images/run.md new file mode 100644 index 000000000..0dcc563e3 --- /dev/null +++ b/content/docs/concepts/components/base-images/run.md @@ -0,0 +1,41 @@ ++++ +title="Run image" +weight=2 ++++ + +## What is a run image? + +The **run image** provides the base image for application images. +The lifecycle requires a reference to a run image and (where necessary) possible run image mirrors in order to construct the application image. + +### Run image mirrors + +Run image mirrors provide alternate locations for run images, for use during `build` or `rebase`. +When running `build` with a builder containing run image mirrors, `pack` will select a run image +whose registry location matches that of the specified app image (if no registry host is specified in the image name, +DockerHub is assumed). This is useful when publishing the resulting app image (via the `--publish` flag or via +`docker push`), as the app's base image (i.e. run image) will be located on the same registry as the app image itself, +reducing the amount of data transfer required to push the app image. + +In the following example, assuming a builder configured with the example TOML above, the selected run image will be +`registry.example.com/example/run`. + +```bash +$ pack build registry.example.com/example/app +``` + +while naming the app without a registry specified, `example/app`, will cause `example/run` to be selected as the app's +run image. + +```bash +$ pack build example/app +``` + +> For local development, it's often helpful to override the run image mirrors in a builder. For this, the +> `pack config run-image-mirrors` command can be used. This command does not modify the builder, and instead configures the +> local environment. +> +> To see what run images are configured for a builder, the +> `builder inspect` command can be used. `builder inspect` will output built-in and locally-configured run images for +> a given builder, along with other useful information. The order of the run images in the output denotes the order in +> which they will be matched during `build`. diff --git a/content/docs/concepts/components/builder.md b/content/docs/concepts/components/builder.md index 2563776c3..f98b3077f 100644 --- a/content/docs/concepts/components/builder.md +++ b/content/docs/concepts/components/builder.md @@ -18,8 +18,9 @@ aliases=[ A builder consists of the following components: * [Buildpacks][buildpack] -* [Lifecycle][lifecycle] -* [Stack's][stack] build image +* A [lifecycle][lifecycle] +* A [build image](/docs/concepts/components/base-images/build/) +* A reference to a [run image](/docs/concepts/components/base-images/run/) ### Resources @@ -29,4 +30,3 @@ To learn how to create your own builder, see our [Operator's Guide][operator-gui [operator-guide]: /docs/operator-guide/ [buildpack]: /docs/concepts/components/buildpack/ [lifecycle]: /docs/concepts/components/lifecycle/ -[stack]: /docs/concepts/components/stack/ diff --git a/content/docs/concepts/components/stack.md b/content/docs/concepts/components/stack.md index ff50f7e09..19386c82c 100644 --- a/content/docs/concepts/components/stack.md +++ b/content/docs/concepts/components/stack.md @@ -8,18 +8,26 @@ aliases=[ ## What is a stack? -A stack is composed of two images that are intended to work together: +A stack (deprecated) is the grouping together of the build and run base images, represented by a unique ID. -1. The **build image** of a stack provides the base image from which the build environment is constructed. The build environment is the containerized environment in which the [lifecycle][lifecycle] (and thereby [buildpacks][buildpack]) are executed. -2. The **run image** of a stack provides the base image from which application images are built. +As of Platform API 0.12 and Buildpack API 0.10, stacks are deprecated in favor of existing constructs in the container image ecosystem such as operating system name, operating system distribution, and architecture. + +For more information, see +* Platform API 0.12 [migration guide](/docs/reference/spec/migration/platform-api-0.11-0.12/) +* Buildpack API 0.10 [migration guide](/docs/reference/spec/migration/buildpack-api-0.9-0.10/) +* [Build image](/docs/concepts/components/base-images/build/) concept +* [Run image](/docs/concepts/components/base-images/run/) concept +* [Target data](/docs/concepts/components/targets/) + +For older API versions, see below on using stacks. +## Using stacks + > If you're using the `pack` CLI, running `pack stack suggest` will display a list of recommended stacks that can be used when running `pack builder create`, along with each stack's associated build and run images. -## Using stacks - Stacks are used by [builders][builder] and are configured through a builder's [configuration file](/docs/reference/config/builder-config/): @@ -40,38 +48,6 @@ Stacks are used by [builders][builder] and are configured through a builder's By providing the required `[stack]` section, a builder author can configure a stack's ID, build image, and run image (including any mirrors). -### Run image mirrors - -Run image mirrors provide alternate locations for run images, for use during `build` (or `rebase`). -When running `build` with a builder containing run image mirrors, `pack` will select a run image -whose registry location matches that of the specified app image (if no registry host is specified in the image name, -DockerHub is assumed). This is useful when publishing the resulting app image (via the `--publish` flag or via -`docker push`), as the app's base image (i.e. run image) will be located on the same registry as the app image itself, -reducing the amount of data transfer required to push the app image. - -In the following example, assuming a builder configured with the example TOML above, the selected run image will be -`registry.example.com/example/run`. - -```bash -$ pack build registry.example.com/example/app -``` - -while naming the app without a registry specified, `example/app`, will cause `example/run` to be selected as the app's -run image. - -```bash -$ pack build example/app -``` - -> For local development, it's often helpful to override the run image mirrors in a builder. For this, the -> `pack config run-image-mirrors` command can be used. This command does not modify the builder, and instead configures the -> user's local machine. -> -> To see what run images are configured for a builder, the -> `inspect-builder` command can be used. `inspect-builder` will output built-in and locally-configured run images for -> a given builder, among other useful information. The order of the run images in the output denotes the order in -> which they will be matched during `build`. - ## Resources To learn how to create your own stack, see our [Operator's Guide][operator-guide]. diff --git a/content/docs/concepts/components/targets.md b/content/docs/concepts/components/targets.md new file mode 100644 index 000000000..e6fa85412 --- /dev/null +++ b/content/docs/concepts/components/targets.md @@ -0,0 +1,28 @@ ++++ +title="Targets" +weight=4 ++++ + +The concept of "targets" is used to identify compatibility between buildpacks and base images. + +Target data includes: +* Operating system name (e.g., "linux") +* Architecture (e.g., "amd64", "arm64") +* Architecture variant +* Operating system distribution name (e.g., "ubuntu", "alpine") +* Operating system distribution version (e.g., "22.04", "3.18.3") + +For Linux-based images, operating system distribution name and version should be the values in `/etc/os-release` (`$ID` and `$VERSION_ID`). +For Windows-based images, operating system distribution name is blank, and version should be the value of `os.version` in the image config (e.g., `10.0.14393.1066`). + +Buildpacks may declare the targets they are compatible with in `buildpack.toml`. +This information will be used by `pack` (or other platforms) and the lifecycle to avoid running buildpacks on images they aren't designed to work with. + +Additionally, during builds this information will be read by the lifecycle from the run image and exposed to buildpacks through `CNB_TARGET_` environment variables: +* `CNB_TARGET_OS` +* `CNB_TARGET_ARCH` +* `CNB_TARGET_ARCH_VARIANT` +* `CNB_TARGET_DISTRO_NAME` +* `CNB_TARGET_DISTRO_VERSION` + +Buildpacks can use this information to modify their behavior depending on the target. diff --git a/content/docs/concepts/operations/build.md b/content/docs/concepts/operations/build.md index ab97eb113..cbd8bd1e5 100644 --- a/content/docs/concepts/operations/build.md +++ b/content/docs/concepts/operations/build.md @@ -8,16 +8,11 @@ summary="Build is the process of executing one or more buildpacks against the ap ![build diagram](/docs/concepts/operations/build.svg) -{{< param "summary" >}} Each buildpack inspects the -source code and provides relevant dependencies. An image is then generated from the app's source code and these -dependencies. +{{< param "summary" >}} Each buildpack inspects the source code and provides relevant dependencies. +An image is then generated from the app's source code and these dependencies. -Buildpacks are compatible with one or more [stacks](/docs/concepts/components/stack). A stack designates a **build image** -and a **run image**. During the build process, a stack's build image becomes the environment in which buildpacks are -executed, and its run image becomes the base for the final app image. For more information on working with stacks, see -the [Working with stacks](/docs/concepts/components/stack) section. +During the build process, the [build image](/docs/concepts/components/base-images/build/) becomes the environment in which buildpacks are executed, +and the [run image](/docs/concepts/components/base-images/run/) becomes the base for the final app image. -Buildpacks can be bundled together with a specific stack's build image, resulting in a -[builder](/docs/concepts/components/builder) image (note the "er" ending). Builders provide the most -convenient way to distribute buildpacks for a given stack. For more information on working with builders, see the -[Working with builders using `builder create`](/docs/concepts/components/builder) section. +Buildpacks can be bundled together with a specific build image, resulting in a [builder](/docs/concepts/components/builder) image. +Builders provide a convenient way to distribute buildpacks. diff --git a/content/docs/concepts/operations/rebase.md b/content/docs/concepts/operations/rebase.md index 187ab9f3d..cb2d8d9b3 100644 --- a/content/docs/concepts/operations/rebase.md +++ b/content/docs/concepts/operations/rebase.md @@ -1,7 +1,7 @@ +++ title="Rebase" weight=2 -summary="Rebase allows app developers or operators to rapidly update an app image when its stack's run image has changed." +summary="Rebase allows app developers or operators to rapidly update an app image when its run image has changed." aliases=[ "/docs/using-pack/update-app-rebase/" ] @@ -19,9 +19,9 @@ layer metadata to reference the newer base image version. ### Example: Rebasing an app image -Consider an app image `my-app:my-tag` that was originally built using the default builder. That builder's stack has a -run image called `pack/run`. Running the following will update the base of `my-app:my-tag` with the latest version of -`pack/run`. +Consider an app image `my-app:my-tag` that was originally built using the default builder. +That builder has a reference to a run image called `pack/run`. +Running the following will update the base of `my-app:my-tag` with the latest version of `pack/run`. ```bash $ pack rebase my-app:my-tag diff --git a/content/docs/extension-guide/create-extension/build-dockerfile.md b/content/docs/extension-guide/create-extension/build-dockerfile.md index b92761994..2c03c519f 100644 --- a/content/docs/extension-guide/create-extension/build-dockerfile.md +++ b/content/docs/extension-guide/create-extension/build-dockerfile.md @@ -83,7 +83,7 @@ You should see: ERROR: failed to launch: path lookup: exec: "curl": executable file not found in $PATH ``` -What happened: our builder uses run image `cnbs/sample-stack-run:alpine`, which does not have `curl` installed, so our +What happened: our builder uses run image `cnbs/sample-base-run:alpine`, which does not have `curl` installed, so our process failed to launch. Let's take a look at how the `samples/curl` extension fixes the error by switching the run image to another image... diff --git a/content/docs/extension-guide/create-extension/run-dockerfile-switch.md b/content/docs/extension-guide/create-extension/run-dockerfile-switch.md index 9c36b3ee3..eba86ba0e 100644 --- a/content/docs/extension-guide/create-extension/run-dockerfile-switch.md +++ b/content/docs/extension-guide/create-extension/run-dockerfile-switch.md @@ -36,19 +36,19 @@ The extension generates a `run.Dockerfile` that switches the run image to refere ```bash -cat $PWD/samples/stacks/alpine/run/curl.Dockerfile +cat $PWD/samples/base-images/alpine/run/curl.Dockerfile ``` -This is a simple Dockerfile that creates a CNB run image from the `curl` base image by adding the required CNB user configuration and `io.buildpacks.stack.id` label. +This is a simple Dockerfile that creates a CNB run image from the `curl` base image by adding the required CNB user configuration and labels. -The Dockerfile could come from anywhere, but we include it in the `stacks` directory for convenience. +The Dockerfile could come from anywhere, but we include it in the `base-images` directory for convenience. Build the run image: ```bash docker build \ - --file $PWD/samples/stacks/alpine/run/curl.Dockerfile \ + --file $PWD/samples/base-images/alpine/run/curl.Dockerfile \ --tag localhost:5000/run-image-curl . docker push localhost:5000/run-image-curl diff --git a/content/docs/extension-guide/create-extension/setup-local-environment.md b/content/docs/extension-guide/create-extension/setup-local-environment.md index 74daf7fb1..9ec4b29cf 100644 --- a/content/docs/extension-guide/create-extension/setup-local-environment.md +++ b/content/docs/extension-guide/create-extension/setup-local-environment.md @@ -55,7 +55,7 @@ cd pack version ``` -The version should be at least `0.30.0` +The version should be at least `0.31.0` ### Update pack configuration diff --git a/content/docs/operator-guide/create-a-builder.md b/content/docs/operator-guide/create-a-builder.md index 52dff716a..dc8f2769d 100644 --- a/content/docs/operator-guide/create-a-builder.md +++ b/content/docs/operator-guide/create-a-builder.md @@ -49,13 +49,20 @@ uri = "docker://cnbs/sample-package:hello-universe" id = "samples/hello-processes" version = "0.0.1" -# Stack that will be used by the builder +# Base images used to create the builder +[build] +image = "cnbs/sample-base-build:jammy" +[run] +[[run.images]] +image = "cnbs/sample-base-run:jammy" + +# Stack (deprecated) used to create the builder [stack] id = "io.buildpacks.samples.stacks.jammy" # This image is used at runtime -run-image = "cnbs/sample-stack-run:jammy" +run-image = "cnbs/sample-base-run:jammy" # This image is used at build-time -build-image = "cnbs/sample-stack-build:jammy" +build-image = "cnbs/sample-base-build:jammy" ``` ### 2. Create builder @@ -97,10 +104,7 @@ For additional sample builders and buildpacks, check out our [samples][samples] You can also check out our reference of the builder config [here][builder-config]. -If you would like to customize the stack used by your builder, check out our [Create a stack][create-a-stack] tutorial. - [build]: /docs/concepts/operations/build/ [builder]: /docs/concepts/components/builder/ [builder-config]: /docs/reference/builder-config/ -[create-a-stack]: /docs/operator-guide/create-a-stack [samples]: https://github.com/buildpacks/samples diff --git a/content/docs/operator-guide/create-a-stack.md b/content/docs/operator-guide/create-a-stack.md index eccb2c2e9..e07a379fb 100644 --- a/content/docs/operator-guide/create-a-stack.md +++ b/content/docs/operator-guide/create-a-stack.md @@ -1,9 +1,17 @@ +++ title="Create a stack" -weight=2 +weight=4 +++ -Creating a custom [stack][stack] allows you to configure the base images for the build-time environment for your [builder][builder] and the run-time for your application. +**Note**: As of Platform API 0.12 and Buildpack API 0.10, stacks are deprecated in favor of existing constructs in the container image ecosystem such as operating system name, operating system distribution, and architecture. + +You can still configure the build and run base images for your CNB build. +To find out how, see [create a build base image](/docs/operator-guide/create-build-base/) and [create a run base image](/docs/operator-guide/create-run-base/). + +A stack is the grouping together of the build and run base images, represented by a unique ID. +A stack ID identifies the configuration for the build and run base images, and it used to determined compatibility with available buildpacks, and rebasability when updated run images are available. +If you're on an older Platform API version, you may still need to create a custom stack. +To find out how, read on... @@ -13,255 +21,60 @@ Before we get started, make sure you've got the following installed: {{< download-button href="https://store.docker.com/search?type=edition&offering=community" color="blue" >}} Install Docker {{}} - ## Creating a custom stack -In this tutorial we will create a sample stack based on `Ubuntu Jammy Jellyfish`. To create a custom stack, we need to create customized build and run images. Let's see how we can do so! - - -### Create a common base image - -Let's start by creating a base image containing layers that will be required by both the `build` and `run` images. In order to do this, switch to a clean workspace and create a `Dockerfile` as specified below: - -#### Defining the base -We start with `ubuntu:jammy` as our `base` image. Since we will be reusing these layers in both our build and run images we will be defining a common base image and leveraging [Docker's multi-stage builds](https://docs.docker.com/develop/develop-images/multistage-build/) to ensure this acts as the common base image for both our build-time and run-time environment. - -```Dockerfile -# 1. Set a common base -FROM ubuntu:jammy as base -``` - -#### Set required CNB information - -Next, we will be setting up the base image as required by the [Cloud-Native Buildpack specification][stack-spec] noted below. - -##### Specification - -**Labels** - -| Name | Description | Format | -| ------------------------ | ------------------------ | ------ | -| `io.buildpacks.stack.id` | Identifier for the stack | String | - -**Environment Variables** - -| Name | Description | -| -------------- | -------------------------------------- | -| `CNB_STACK_ID` | Identifier for the stack | -| `CNB_USER_ID` | UID of the user specified in the image | -| `CNB_GROUP_ID` | GID of the user specified in the image | -

- -> **NOTE:** The **stack identifier** implies compatibility with other stacks of that same identifier. For instance, a custom stack may use -> `io.buildpacks.stacks.jammy` as its identifier so long as it will work with buildpacks that declare compatibility with the -> `io.buildpacks.stacks.jammy` stack. +We will create a sample stack based on `Ubuntu Jammy Jellyfish`. To create a custom stack, we need to create customized build and run images. +To find out how, see [create a build base image](/docs/operator-guide/create-build-base/) and [create a run base image](/docs/operator-guide/create-run-base/), then come back here. +## Choose your stack ID -The `CNB_USER_ID` is the `UID` of the user as which the `detect` and `build` steps are run. The given user **MUST NOT** be a root user -and have it's home directly writable. `CNB_GROUP_ID` is the primary `GID` of the above user. +Choose a stack ID to uniquely identify your stack. The stack ID: + * must only contain numbers, letters, and the characters ., /, and -. + * must not be identical to any other stack ID when using a case-insensitive comparison. + * should use reverse domain notation to avoid name collisions - i.e. buildpacks.io will be io.buildpacks. -Let's update the `Dockerfile` to reflect the above specification. +Example stack IDs: + * `io.buildpacks.stacks.bionic` + * `io.buildpacks.stacks.jammy` + * `io.buildpacks.samples.stacks.bionic` + * `io.buildpacks.samples.stacks.jammy` -```Dockerfile -# 1. Set a common base -FROM ubuntu:jammy as base +## Label your images -# ========== ADDED =========== -# 2. Set required CNB information -ENV CNB_USER_ID=1000 -ENV CNB_GROUP_ID=1000 -ENV CNB_STACK_ID="io.buildpacks.samples.stacks.jammy" -LABEL io.buildpacks.stack.id="io.buildpacks.samples.stacks.jammy" - -# 3. Create the user -RUN groupadd cnb --gid ${CNB_GROUP_ID} && \ - useradd --uid ${CNB_USER_ID} --gid ${CNB_GROUP_ID} -m -s /bin/bash cnb -``` - -#### Install base system packages - -Next up, we will be installing any system packages that we want to make available to both our build-time and run-time environment. Our `Dockerfile` should now look like - - -```Dockerfile -# 1. Set a common base -FROM ubuntu:jammy as base - -# 2. Set required CNB information -ENV CNB_USER_ID=1000 -ENV CNB_GROUP_ID=1000 -ENV CNB_STACK_ID="io.buildpacks.samples.stacks.jammy" -LABEL io.buildpacks.stack.id="io.buildpacks.samples.stacks.jammy" - -# 3. Create the user -RUN groupadd cnb --gid ${CNB_GROUP_ID} && \ - useradd --uid ${CNB_USER_ID} --gid ${CNB_GROUP_ID} -m -s /bin/bash cnb - -# ========== ADDED =========== -# 4. Install common packages -RUN apt-get update && \ - apt-get install -y xz-utils ca-certificates && \ - rm -rf /var/lib/apt/lists/* -``` - -That should be it for our base image! Let's verify that we can successfully build this image by running: +Add the following to the Dockerfiles used to create your build and run base images: ```bash -docker build . -t cnbs/sample-stack-base:jammy --target base +LABEL io.buildpacks.stack.id="your stack ID" ``` -### Creating the run image - -Next up, we will create the run image. The run image is the base image for your runtime application environment. - -In order to create our run image all we need to do is to set the run image's `USER` to the user with `CNB_USER_ID`. Our final `Dockerfile` for the build image should look like - - - -```Dockerfile -# 1. Set a common base -FROM ubuntu:jammy as base - -# 2. Set required CNB information -ENV CNB_USER_ID=1000 -ENV CNB_GROUP_ID=1000 -ENV CNB_STACK_ID="io.buildpacks.samples.stacks.jammy" -LABEL io.buildpacks.stack.id="io.buildpacks.samples.stacks.jammy" - -# 3. Create the user -RUN groupadd cnb --gid ${CNB_GROUP_ID} && \ - useradd --uid ${CNB_USER_ID} --gid ${CNB_GROUP_ID} -m -s /bin/bash cnb +During build, this label will be read by platforms such as `pack` to determine if the build base image is compatible with available buildpacks (if those buildpacks require a specific stack). +During rebase, this label will be read by the lifecycle to determine if the provided run image is compatible with the application. -# 4. Install common packages -RUN apt-get update && \ - apt-get install -y xz-utils ca-certificates && \ - rm -rf /var/lib/apt/lists/* +## Set CNB_STACK_ID -# ========== ADDED =========== -# 5. Start a new run stage -FROM base as run - -# 6. Set user and group (as declared in base image) -USER ${CNB_USER_ID}:${CNB_GROUP_ID} -``` - -That should be it for our run image! Let's verify that we can successfully build this image by running: +Add the following to the Dockerfile used to create your build base images: ```bash -docker build . -t cnbs/sample-stack-run:jammy --target run -``` - -### Creating the build image - -Next up, we will create the build image. The build image is the base image for you builder and should contain any common build-time -environment required by your buildpacks. - - -#### Install build packages - -Let's modify the `Dockerfile` to look like - - -```Dockerfile -# 1. Set a common base -FROM ubuntu:jammy as base - -# 2. Set required CNB information -ENV CNB_USER_ID=1000 -ENV CNB_GROUP_ID=1000 -ENV CNB_STACK_ID="io.buildpacks.samples.stacks.jammy" -LABEL io.buildpacks.stack.id="io.buildpacks.samples.stacks.jammy" - -# 3. Create the user -RUN groupadd cnb --gid ${CNB_GROUP_ID} && \ - useradd --uid ${CNB_USER_ID} --gid ${CNB_GROUP_ID} -m -s /bin/bash cnb - -# 4. Install common packages -RUN apt-get update && \ - apt-get install -y xz-utils ca-certificates && \ - rm -rf /var/lib/apt/lists/* - -# 5. Start a new run stage -FROM base as run - -# 6. Set user and group (as declared in base image) -USER ${CNB_USER_ID}:${CNB_GROUP_ID} - -# ========== ADDED =========== -# 7. Start a new build stage -FROM base as build - -# 8. Install packages that we want to make available at build time -RUN apt-get update && \ - apt-get install -y git wget jq && \ - rm -rf /var/lib/apt/lists/* && \ - wget https://github.com/sclevine/yj/releases/download/v5.0.0/yj-linux -O /usr/local/bin/yj && \ - chmod +x /usr/local/bin/yj +ENV CNB_STACK_ID="your stack ID" ``` -#### Setting the `USER` - -Lastly to finish off our build image, we need to set the image's `USER` to the user with `CNB_USER_ID`. Our final `Dockerfile` for the build image should look like - - -```Dockerfile -# 1. Set a common base -FROM ubuntu:jammy as base - -# 2. Set required CNB information -ENV CNB_USER_ID=1000 -ENV CNB_GROUP_ID=1000 -ENV CNB_STACK_ID="io.buildpacks.samples.stacks.jammy" -LABEL io.buildpacks.stack.id="io.buildpacks.samples.stacks.jammy" - -# 3. Create the user -RUN groupadd cnb --gid ${CNB_GROUP_ID} && \ - useradd --uid ${CNB_USER_ID} --gid ${CNB_GROUP_ID} -m -s /bin/bash cnb - -# 4. Install common packages -RUN apt-get update && \ - apt-get install -y xz-utils ca-certificates && \ - rm -rf /var/lib/apt/lists/* - -# 5. Start a new run stage -FROM base as run - -# 6. Set user and group (as declared in base image) -USER ${CNB_USER_ID}:${CNB_GROUP_ID} - -# 7. Start a new build stage -FROM base as build - -# 8. Install packages that we want to make available at build time -RUN apt-get update && \ - apt-get install -y git wget jq && \ - rm -rf /var/lib/apt/lists/* && \ - wget https://github.com/sclevine/yj/releases/download/v5.0.0/yj-linux -O /usr/local/bin/yj && \ - chmod +x /usr/local/bin/yj - -# ========== ADDED =========== -# 9. Set user and group (as declared in base image) -USER ${CNB_USER_ID}:${CNB_GROUP_ID} -``` - -That should be it for our build image! Let's verify that we can successfully build this image by running: - -```bash -docker build . -t cnbs/sample-stack-build:jammy --target build -``` +During build, this environment variable will be exposed to buildpacks, so that buildpacks can tailor their behavior for the specific stack. **Congratulations!** You've got a custom stack! - ## Additional information ### Mixins -Mixins provide a way to document OS-level dependencies that a stack provides to buildpacks. Mixins can be provided at build-time -(name prefixed with `build:`), run-time (name prefixed with `run:`), or both (name unprefixed). +Mixins provide a way to document OS-level dependencies that a stack provides to buildpacks. +Mixins can be provided at build-time (name prefixed with `build:`), run-time (name prefixed with `run:`), or both (name unprefixed). #### Declaring provided mixins When declaring provided mixins, both the build and run image of a stack must contain the following label: | Name | Description | Format | -| ---------------------------- | ----------------------- | ----------------- | +|------------------------------|-------------------------|-------------------| | `io.buildpacks.stack.mixins` | List of provided mixins | JSON string array | \ @@ -269,7 +82,7 @@ The following rules apply for mixin declarations: - `build:`-prefixed mixins may not be declared on a run image - `run:`-prefixed mixins may not be declared on a build image - - Unprefixed mixins must be declared on both stack images + - Unprefixed mixins must be declared on both build and run images ##### Example @@ -303,10 +116,9 @@ mixins = ["build:git", "run:imagemagick", "wget"] ## Resources -For sample stacks, see our [samples][samples] repo. -For technical details on stacks, see the [platform specification for stacks][stack-spec]. +For technical details on stacks, see the stack sections in the [Platform](https://github.com/buildpacks/spec/blob/main/platform.md#iobuildpacksstack-labels) +and [Buildpack](https://github.com/buildpacks/spec/blob/main/buildpack.md#buildpacktoml-toml-stacks-array) specifications. [stack]: /docs/concepts/components/stack/ [builder]: /docs/concepts/components/builder/ [samples]: https://github.com/buildpacks/samples -[stack-spec]: https://github.com/buildpacks/spec/blob/main/platform.md#stacks diff --git a/content/docs/operator-guide/create-build-base.md b/content/docs/operator-guide/create-build-base.md new file mode 100644 index 000000000..5379c91f5 --- /dev/null +++ b/content/docs/operator-guide/create-build-base.md @@ -0,0 +1,67 @@ ++++ +title="Create a build base image" +weight=2 ++++ + +## Define a build base image for your CNB build + +We need a Dockerfile similar to the following: + +```Dockerfile +# Define the base image +FROM ubuntu:jammy + +# Install packages that we want to make available at build time +RUN apt-get update && \ + apt-get install -y xz-utils ca-certificates && \ + rm -rf /var/lib/apt/lists/* \ + +# Set required CNB user information +ARG cnb_uid=1000 +ARG cnb_gid=1000 +ENV CNB_USER_ID=${cnb_uid} +ENV CNB_GROUP_ID=${cnb_gid} + +# Create user and group +RUN groupadd cnb --gid ${CNB_GROUP_ID} && \ + useradd --uid ${CNB_USER_ID} --gid ${CNB_GROUP_ID} -m -s /bin/bash cnb \ + +# Set user and group +USER ${CNB_USER_ID}:${CNB_GROUP_ID} + +# Set required CNB target information +LABEL io.buildpacks.base.distro.name="your distro name" +LABEL io.buildpacks.base.distro.version="your distro version" +``` + +### Define the base image + +We start with `ubuntu:jammy` as our base image. +You can use any operating system, operating system distribution, and operating system distribution version of your choosing, +as long as they are supported by the available buildpacks. + +### Install packages that we want to make available at build time + +Install any system packages that your buildpacks will need. + +### Set required CNB user information + +We need to define `CNB_USER_ID` and `CNB_GROUP_ID` in the environment so that the lifecycle can run as the correct user. + +### Create user and group, set user and group + +The `USER` in the image config must match the user indicated by `CNB_USER_ID` and `CNB_GROUP_ID`. + +The given user **MUST NOT** be a root user, and must have a writeable home directory. + +### Set required CNB target information + +Finally, we need to label the image with operating system distribution information for platforms and the lifecycle to use. + +To determine which values to provide, see [targets](/docs/concepts/components/targets/) concept information. + +## Build the build base image + +```bash +docker build . -t cnbs/sample-base-build:jammy +``` diff --git a/content/docs/operator-guide/create-run-base.md b/content/docs/operator-guide/create-run-base.md new file mode 100644 index 000000000..f29dfe482 --- /dev/null +++ b/content/docs/operator-guide/create-run-base.md @@ -0,0 +1,58 @@ ++++ +title="Create a run base image" +weight=3 ++++ + +## Define a run base image for your CNB build + +We need a Dockerfile similar to the following: + +```Dockerfile +# Define the base image +FROM ubuntu:jammy + +# Install packages that we want to make available at run time +RUN apt-get update && \ + apt-get install -y xz-utils ca-certificates && \ + rm -rf /var/lib/apt/lists/* \ + +# Create user and group +ARG cnb_uid=1000 +ARG cnb_gid=1000 +RUN groupadd cnb --gid ${cnb_gid} && \ + useradd --uid ${cnb_uid} --gid ${cnb_gid} -m -s /bin/bash cnb \ + +# Set user and group +USER ${cnb_uid}:${cnb_gid} + +# Set required CNB target information +LABEL io.buildpacks.base.distro.name="your distro name" +LABEL io.buildpacks.base.distro.version="your distro version" +``` + +### Define the base image + +We start with `ubuntu:jammy` as our base image. +You can use any operating system, operating system distribution, and operating system distribution version of your choosing, +as long as your application will run there. + +### Install packages that we want to make available at run time + +Install any system packages that your application will need. + +### Create user and group, set user and group + +The `USER` in the image config may be different from the build-time user (though the group ID should probably be the same). +You should consult the documentation for your buildpacks to determine what is supported. + +### Set required CNB target information + +Finally, we need to label the image with operating system distribution information for platforms and the lifecycle to use. + +To determine which values to provide, see [targets](/docs/concepts/components/targets/) concept information. + +## Build the run base image + +```bash +docker build . -t cnbs/sample-base-run:jammy +``` diff --git a/content/docs/reference/config/builder-config.md b/content/docs/reference/config/builder-config.md index 494dda0f7..94dba67dd 100644 --- a/content/docs/reference/config/builder-config.md +++ b/content/docs/reference/config/builder-config.md @@ -7,8 +7,8 @@ aliases=["/docs/reference/builder-config/"] A [builder][builder] configuration schema is as follows: - #### `description` _(string, optional)_ - A human-readable description of the builder, to be shown in `inspect-builder` output - (run `pack inspect-builder -h` for more information). + A human-readable description of the builder, to be shown in `builder inspect` output + (run `pack builder inspect -h` for more information). - #### `buildpacks` _(list, optional)_ A list of buildpacks, each with the following fields: @@ -42,11 +42,33 @@ A [builder][builder] configuration schema is as follows: occurs in either the top-level `buildpacks` list or those buildpacks' dependencies. - **`optional`** _(boolean, optional, default: `false`)_\ - Whether or not this buildpack is optional during detection. + Whether this buildpack is optional during detection. -- #### `stack` _(required)_ - The stack to use for the builder. See [Working with stacks](/docs/concepts/components/stack) for more information about this field. It - contains the following fields: +- #### `build` _(required)_ + Build-time information. It contains the following field: + + - **`image`** _(required, string)_\ + Image to use as the build-time base + +- #### `run` _(required)_ + Run-time information. It contains the following: + + - **`run.images`** _(list, required)_\ + A set of run image references. By default, the first run image specified will be used. + Image extensions (experimental) may be used to switch the run image dynamically at build-time. + Each run image reference has the following: + + - **`image`** _(string, required)_\ + Image to use as the run-time base + + - **`mirrors`** _(list, optional)_\ + [Mirrors](/docs/concepts/components/base-images/run#run-image-mirrors) for the provided image + +- #### `stack` _(optional, deprecated)_ + The stack to use for the builder. See [stack](/docs/concepts/components/stack) concept information for more details. + This field should be specified if it is necessary to maintain compatibility with older platforms. + If specified, the information in this field must be consistent with the `build` and `run` fields (see above). + It contains the following: - **`id`** _(required, string)_\ Identifier for the stack @@ -58,7 +80,7 @@ A [builder][builder] configuration schema is as follows: Run image for the stack - **`run-image-mirrors`** _(optional, string list)_ - [Run image mirrors](/docs/concepts/components/stack#run-image-mirrors) for the stack + [Run image mirrors](/docs/concepts/components/base-images/run#run-image-mirrors) for the stack - #### `lifecycle` _(optional)_ The [lifecycle][lifecycle] to embed into the builder. It must contain **at most one** the following fields: diff --git a/content/docs/reference/spec/buildpack-api.md b/content/docs/reference/spec/buildpack-api.md index 1a6e8f308..92f53c737 100644 --- a/content/docs/reference/spec/buildpack-api.md +++ b/content/docs/reference/spec/buildpack-api.md @@ -134,6 +134,11 @@ api = "0.8" id = "example.com/python" version = "1.0" +# Targets the buildpack will work with +[[targets]] +os = "linux" + +# Stacks (deprecated) the buildpack will work with [[stacks]] id = "io.buildpacks.stacks.jammy" ``` @@ -184,9 +189,34 @@ The schema is as follows: - **`uri`** _(string, optional)_\ A URL or path to the license. -- **`stacks`** _(list, optional)_\ +- **`targets`** _(list, optional)_\ + A list of targets supported by the buildpack. + When no targets are specified, the `os`/`arch` will be inferred from the contents of the `./bin` directory + (`./bin/build` implies `linux`/`amd64` and `./bin/build.bat` implies `windows`/`amd64`). + For each target, all fields are optional (though at least one should be provided). + _Cannot be used in conjunction with `order` list._ + + - **`os`** _(string, optional)_\ + The supported operating system name. + + - **`arch`** _(string, optional)_\ + The supported architecture. + + - **`variant`** _(string, optional)_\ + The supported architecture variant. + + - **`targets.distros`** _(optional)_\ + A list of supported distributions for the given operating system, architecture, and architecture variant. + + - **`name`** _(string, optional)_\ + The supported operating system distribution name. + + - **`version`** _(string, optional)_\ + The supported operating system distribution version. + +- **`stacks`** _(list, deprecated, optional)_\ A list of stacks supported by the buildpack. - _If omitted, `order` list must be present. Cannot be used in conjunction with `order` list._ + _Cannot be used in conjunction with `order` list._ - **`id`** _(string, required)_\ The id of the supported stack. @@ -196,8 +226,8 @@ The schema is as follows: - **`order`** _(list, optional)_\ A list of buildpack groups for the purpose of creating a [meta-buildpack][meta-buildpack]. This list determines the - order in which groups of buildpacks will be tested during detection. _If omitted, `stacks` list must be present. - Cannot be used in conjunction with `stacks` list._ + order in which groups of buildpacks will be tested during detection. _If omitted, `targets` or `stacks` list must be present. + Cannot be used in conjunction with `targets` or `stacks` list._ - **`group`** _(list, required)_\ A list of buildpack references. @@ -210,7 +240,7 @@ The schema is as follows: The version of the buildpack being referred to. - **`optional`** _(boolean, optional, default: `false`)_\ - Whether or not this buildpack is optional during detection. + Whether this buildpack is optional during detection. - **`metadata`** _(any, optional)_\ Arbitrary data for buildpack. diff --git a/content/docs/reference/spec/platform-api.md b/content/docs/reference/spec/platform-api.md index 39fd3db5a..939a91526 100644 --- a/content/docs/reference/spec/platform-api.md +++ b/content/docs/reference/spec/platform-api.md @@ -3,20 +3,10 @@ title="Platform API" aliases=["/docs/reference/platform-api/"] +++ -This specification defines the interface between the buildpack execution environment, -referred to as the *lifecycle*, and a platform that supports it. -This API is used by platform implementors. +The Platform specification defines the interface between the CNB [lifecycle](/docs/concepts/components/lifecycle/) and a [platform](/docs/concepts/components/platform/) that runs it. -## Stacks - -A stack defines two OCI images: a *build* image and a *run* image. The build image -is used to run the buildpack lifecycle, and the run image is the base image the -final exported image will be built upon. - -For more information see [Working with stacks](/docs/concepts/components/stack). - ## Buildpacks Buildpacks are stored on the filesystem as unarchived files such that: @@ -25,8 +15,15 @@ Buildpacks are stored on the filesystem as unarchived files such that: * Each second-level directory is a buildpack version. ## Users + For security reasons, images built with platforms, such as `pack`, build and run as non-root users. +## Stacks (deprecated) + +A stack (deprecated) is the grouping together of the build and run base images, represented by a unique ID. + +The build image is used to run the buildpack lifecycle, and the run image is the base image for the application image. + ## Further Reading You can read the complete [Platform API specification on Github](https://github.com/buildpacks/spec/blob/main/platform.md). diff --git a/katacoda/scenarios/app-developer-guide/run-an-app.md b/katacoda/scenarios/app-developer-guide/run-an-app.md index 23ef74769..300081d31 100644 --- a/katacoda/scenarios/app-developer-guide/run-an-app.md +++ b/katacoda/scenarios/app-developer-guide/run-an-app.md @@ -40,7 +40,7 @@ Base Image: Top Layer: sha256:700c764e7c5d5c75e6a0fc7d272b7e1c70ab327c03fbdf4abd9313e5ec3217f7 Run Images: - cnbs/sample-stack-run:alpine + cnbs/sample-base-run:alpine Rebasable: true diff --git a/katacoda/scenarios/buildpack-author-guide/adding-bill-of-materials.md b/katacoda/scenarios/buildpack-author-guide/adding-bill-of-materials.md index a4d2b35c1..6f17d9dde 100644 --- a/katacoda/scenarios/buildpack-author-guide/adding-bill-of-materials.md +++ b/katacoda/scenarios/buildpack-author-guide/adding-bill-of-materials.md @@ -20,7 +20,7 @@ You should see the following: ```text Run Images: - cnbs/sample-stack-run:jammy + cnbs/sample-base-run:jammy ... Buildpacks: @@ -50,12 +50,16 @@ api = "0.8" version = "0.0.1" sbom-formats = [ "application/vnd.cyclonedx+json" ] -# Stacks that the buildpack will work with +# Targets the buildpack will work with +[[targets]] +os = "linux" + +# Stacks (deprecated) the buildpack will work with [[stacks]] id = "io.buildpacks.samples.stacks.jammy" -Then, in our buildpack implemetnation we will generate the necessary SBOM metadata: +Then, in our buildpack implementation we will generate the necessary SBOM metadata: ```bash # ... diff --git a/tools/go.mod b/tools/go.mod index b8cd8cb7c..c803776c3 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -3,9 +3,9 @@ module github.com/buildpacks/docs/tools go 1.20 require ( - github.com/buildpacks/pack v0.29.0 + github.com/buildpacks/pack v0.30.0 github.com/gohugoio/hugo v0.100.2 - github.com/spf13/cobra v1.6.1 + github.com/spf13/cobra v1.7.0 ) require ( diff --git a/tools/go.sum b/tools/go.sum index 176ba02fc..710563a08 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -423,6 +423,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.10/go.mod h1:I5htMbyta491eUx contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= git.apache.org/thrift.git v0.12.0/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= @@ -455,6 +457,7 @@ github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9Eb github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v67.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= @@ -498,6 +501,8 @@ github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuq github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= +github.com/Azure/go-autorest/autorest v0.11.29 h1:I4+HL/JDvErx2LjyzaVxllw2lRDB5/BT2Bm4g20iqYw= +github.com/Azure/go-autorest/autorest v0.11.29/go.mod h1:ZtEzC4Jy2JDrZLxvWs8LrBWEBycl1hbT1eknI8MtfAs= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= @@ -516,6 +521,8 @@ github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8v github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= github.com/Azure/go-autorest/autorest/adal v0.9.22 h1:/GblQdIudfEM3AWWZ0mrYJQSd7JS4S/Mbzh6F0ov0Xc= +github.com/Azure/go-autorest/autorest/adal v0.9.23 h1:Yepx8CvFxwNKpH6ja7RZ+sKX+DWYNldbLiALMC3BTz8= +github.com/Azure/go-autorest/autorest/adal v0.9.23/go.mod h1:5pcMqFkdPhviJdlEy3kC/v1ZLnQl0MH6XA5YCcMhy4c= github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM= github.com/Azure/go-autorest/autorest/azure/auth v0.5.2/go.mod h1:q98IH4qgc3eWM4/WOeR5+YPmBuy8Lq0jNRDwSM0CuFk= github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= @@ -523,6 +530,7 @@ github.com/Azure/go-autorest/autorest/azure/auth v0.5.9/go.mod h1:hg3/1yw0Bq87O3 github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 h1:P6bYXFoao05z5uhOQzbC3Qd8JqF3jUoocoTeIxkp2cA= github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 h1:wkAZRgT/pn8HhFyzfe9UnqOjJYqlembgCTi72Bm/xKk= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.12/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw= github.com/Azure/go-autorest/autorest/azure/cli v0.4.1/go.mod h1:JfDgiIO1/RPu6z42AdQTyjOoCM2MFhLqSBDvMEkDgcg= github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= @@ -564,6 +572,8 @@ github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Djarvur/go-err113 v0.0.0-20200410182137-af658d038157/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= @@ -624,6 +634,8 @@ github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmU github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -711,6 +723,8 @@ github.com/aws/aws-sdk-go-v2 v1.16.5 h1:Ah9h1TZD9E2S1LzHpViBO3Jz9FPL5+rmflmb8hXi github.com/aws/aws-sdk-go-v2 v1.16.5/go.mod h1:Wh7MEsmEApyL5hrWzpDkba4gwAPc5/piwLVLFnCxp48= github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= +github.com/aws/aws-sdk-go-v2 v1.18.1 h1:+tefE750oAb7ZQGzla6bLkOwfcQCEtC5y2RqoqCeqKo= +github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.1/go.mod h1:n8Bs1ElDD2wJ9kCRTczA83gYbBmjSwZp3umc6zF4EeM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.2 h1:LFOGNUQxc/8BlhA4FD+JdYjJKQK6tsz9Xiuh+GUTKAQ= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.2/go.mod h1:u/38zebMi809w7YFnqY/07Tw/FSs6DGhPD95Xiig7XQ= @@ -723,6 +737,8 @@ github.com/aws/aws-sdk-go-v2/config v1.15.10 h1:0HSMRNGlR0/WlGbeKC9DbBphBwRIK5H4 github.com/aws/aws-sdk-go-v2/config v1.15.10/go.mod h1:XL4DzwzWdwXBzKdwMdpLkMIaGEQCYRQyzA4UnJaUnNk= github.com/aws/aws-sdk-go-v2/config v1.17.10/go.mod h1:/4np+UiJJKpWHN7Q+LZvqXYgyjgeXm5+lLfDI6TPZao= github.com/aws/aws-sdk-go-v2/config v1.18.9 h1:pd+QUO1dvro6vGOuhgglJV6adGunU95xSTSzsQGhKpY= +github.com/aws/aws-sdk-go-v2/config v1.18.27 h1:Az9uLwmssTE6OGTpsFqOnaGpLnKDqNYOJzWuC6UAYzA= +github.com/aws/aws-sdk-go-v2/config v1.18.27/go.mod h1:0My+YgmkGxeqjXZb5BYme5pc4drjTnM+x1GJ3zv42Nw= github.com/aws/aws-sdk-go-v2/credentials v1.3.1/go.mod h1:r0n73xwsIVagq8RsxmZbGSRQFj9As3je72C2WzUIToc= github.com/aws/aws-sdk-go-v2/credentials v1.4.0/go.mod h1:dgGR+Qq7Wjcd4AOAW5Rf5Tnv3+x7ed6kETXyS9WCuAY= github.com/aws/aws-sdk-go-v2/credentials v1.9.0/go.mod h1:PyHKqk/+tJuDY7T8R580S1j/AcSD+ODeUZ99CAUKLqQ= @@ -732,6 +748,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.12.5 h1:WNNCUTWA0vyMy5t8LfS4iB7QshsW github.com/aws/aws-sdk-go-v2/credentials v1.12.5/go.mod h1:DOcdLlkqUiNGyXnjWgspC3eIAdXhj8q0pO1LiSvrTI4= github.com/aws/aws-sdk-go-v2/credentials v1.12.23/go.mod h1:0awX9iRr/+UO7OwRQFpV1hNtXxOVuehpjVEzrIAYNcA= github.com/aws/aws-sdk-go-v2/credentials v1.13.9 h1:oxM/C8eXGsiHH+u0gZGo1++QTFPf+N5MUb1tfaaQMpU= +github.com/aws/aws-sdk-go-v2/credentials v1.13.26 h1:qmU+yhKmOCyujmuPY7tf5MxR/RKyZrOPO3V4DobiTUk= +github.com/aws/aws-sdk-go-v2/credentials v1.13.26/go.mod h1:GoXt2YC8jHUBbA4jr+W3JiemnIbkXOfxSXcisUsZ3os= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.3.0/go.mod h1:2LAuqPx1I6jNfaGDucWfA2zqQCYCOMCDHiCOciALyNw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0/go.mod h1:CpNzHK9VEFUCknu50kkB8z58AH2B5DvPP7ea1LHve/Y= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.11.0/go.mod h1:rwdUKJV5rm+vHu1ncD1iGDqahBEL8O0tBjVqo9eO2N0= @@ -741,6 +759,8 @@ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.6 h1:+NZzDh/RpcQTpo9xMFUgkse github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.6/go.mod h1:ClLMcuQA/wcHPmOIfNzNI4Y1Q0oDbmEkbYhMFOzHDh8= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.19/go.mod h1:VihW95zQpeKQWVPGkwT+2+WJNQV8UXFfMTWdU6VErL8= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.21 h1:j9wi1kQ8b+e0FBVHxCqCGo4kxDU175hoDHcWAi0sauU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 h1:LxK/bitrAr4lnh9LnIS6i7zWbCOdMsfzKFBI6LUCS0I= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4/go.mod h1:E1hLXN/BL2e6YizK1zFlYd8vsfi2GTjbjBazinMmeaM= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.3/go.mod h1:0dHuD2HZZSiwfJSy1FO5bX1hQ1TxVV1QXXjpn3XUE44= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.15 h1:WrTFSORSXKw+ZNV5CJnQjHgACSsteMyq2Oy9psCxtl4= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.15/go.mod h1:t/cWdEpu8thFU8Gv3SQnDiRq+g5heJPcHtrCbpUZR4E= @@ -751,6 +771,8 @@ github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.12 h1:Zt7DDk5V7SyQULUUw github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.12/go.mod h1:Afj/U8svX6sJ77Q+FPWMzabJ9QjbwP32YlopgKALUpg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 h1:I3cakv2Uy1vNmmhRQmFptYDxOvBnwCdNwyw63N0RaRU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 h1:A5UqQEmPaCFpedKouS4v+dHCTUo2sKqhoKO9U5kxyWo= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.3.0/go.mod h1:miRSv9l093jX/t/j+mBCaLqFHo9xKYzJ7DGm1BsGoJM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.3/go.mod h1:ssOhaLpRlh88H3UmEcsBoVKq309quMvm3Ds8e9d4eJM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.5/go.mod h1:fV1AaS2gFc1tM0RCb015FJ0pvWVUfJZANzjwoO4YakM= @@ -758,6 +780,8 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.6 h1:eeXdGVtXEe+2Jc49+/v github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.6/go.mod h1:FwpAKI+FBPIELJIdmQzlLtRe8LQSOreMcM2wBsPMvvc= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 h1:5NbbMrIzmUn/TXFqAle6mgrH5m9cOvMLRGL7pnG8tRE= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 h1:srIVS45eQuewqz6fKKu6ZGXaq6FuFg5NzgQBAM6g8Y4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw= github.com/aws/aws-sdk-go-v2/internal/ini v1.1.1/go.mod h1:Zy8smImhTdOETZqfyn01iNOe0CNggVbPjCajyaz6Gvg= github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2/go.mod h1:BQV0agm+JEhqR+2RT5e1XTFIDcAAV0eW6z2trp+iduw= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.6/go.mod h1:o1ippSg3yJx5EuT4AOGXJCUcmt5vrcxla1cg6K1Q8Iw= @@ -767,6 +791,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.3.13 h1:L/l0WbIpIadRO7i44jZh1/XeXpN github.com/aws/aws-sdk-go-v2/internal/ini v1.3.13/go.mod h1:hiM/y1XPp3DoEPhoVEYc/CZcS58dP6RKJRDFp99wdX0= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.26/go.mod h1:Y2OJ+P+MC1u1VKnavT+PshiEuGPyh/7DqxoDNij4/bg= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.28 h1:KeTxcGdNnQudb46oOl4d90f2I33DF/c6q3RnZAmvQdQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 h1:LWA+3kDM8ly001vJ1X1waCuLJdtTl48gwkPKWy9sosI= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35/go.mod h1:0Eg1YjxE0Bhn56lx+SHJwCzhW+2JGtizsrx+lCqrfm0= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.3 h1:m1vDVDoNK4tZAoWtcetHopEdIeUlrNNpdLZ7cwZke6s= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.3/go.mod h1:annFthsb7FiHQd5X9wKDNst9OJvVFY0l0LjQ8zQniJA= github.com/aws/aws-sdk-go-v2/service/ecr v1.4.1/go.mod h1:FglZcyeiBqcbvyinl+n14aT/EWC7S1MIH+Gan2iizt0= @@ -776,6 +802,8 @@ github.com/aws/aws-sdk-go-v2/service/ecr v1.17.6 h1:R9FxvsuknGAoKDJ1YRKwbgkTbedZ github.com/aws/aws-sdk-go-v2/service/ecr v1.17.6/go.mod h1:+eCLloB5OdOr47npoEKlHGphSa72k44lXebO8I9LpKk= github.com/aws/aws-sdk-go-v2/service/ecr v1.17.20/go.mod h1:kEVGiy2tACP0cegVqx4MrjsgQMSgrtgRq1fSa+Ix6F0= github.com/aws/aws-sdk-go-v2/service/ecr v1.18.1 h1:fZNQcqqyAcb34XZ6uNuDlmKIaZKRGdoXYfK5WLRjBbQ= +github.com/aws/aws-sdk-go-v2/service/ecr v1.18.11 h1:wlTgmb/sCmVRJrN5De3CiHj4v/bTCgL5+qpdEd0CPtw= +github.com/aws/aws-sdk-go-v2/service/ecr v1.18.11/go.mod h1:Ce1q2jlNm8BVpjLaOnwnm5v2RClAbK6txwPljFzyW6c= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.4.1/go.mod h1:eD5Eo4drVP2FLTw0G+SMIPWNWvQRGGTtIZR2XeAagoA= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.12.0/go.mod h1:IArQ3IBR00FkuraKwudKZZU32OxJfdTdwV+W5iZh3Y4= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.5/go.mod h1:gW979HGZOrhGvwjAS6VRgav6M9AYH9Kbey6y3GfF/EA= @@ -783,6 +811,8 @@ github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.6 h1:EHqv3TDLfXaNIj4sBgQpey github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.6/go.mod h1:ERvgWsNRU3YPS3UtxhoaCoQHL2u4FjRbfQ8leUEVWgw= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.19/go.mod h1:j3mVo8gEwXjgzf9PfORBnYUUQnnjkd4OY6y5JmubV94= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.15.0 h1:nZ/878IgQMYFd0RIYEoUYnr9kwyDu2GcExWmyVIb7Xo= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.16.2 h1:yflJrGmi1pXtP9lOpOeaNZyc0vXnJTuP2sor3nJcGGo= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.16.2/go.mod h1:uHtRE7aqXNmpeYL+7Ec7LacH5zC9+w2T5MBOeEKDdu0= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.1/go.mod h1:GeUru+8VzrTXV/83XyMJ80KpH8xO89VPoUileyNQ+tc= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.2 h1:T/ywkX1ed+TsZVQccu/8rRJGxKZF/t0Ivgrb4MHTSeo= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.2/go.mod h1:RnloUnyZ4KN9JStGY1LuQ7Wzqh7V0f8FinmRdHYtuaA= @@ -798,6 +828,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.6 h1:0ZxYAZ1cn7 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.6/go.mod h1:DxAPjquoEHf3rUHh1b9+47RAaXB8/7cB6jkzCt/GOEI= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.21 h1:5C6XgTViSb0bunmU57b3CT+MhxULqHH2721FVA+/kDM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 h1:bkRyG4a929RCnpVSTvLM2j/T4ls015ZhhYApbmYs15s= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.3/go.mod h1:Bm/v2IaN6rZ+Op7zX+bOUMdL4fsrYZiD0dsjLhNKwZc= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.6 h1:SSrqxZVhrO371eg/C8Fnj6kduzltKHj/mJl2swkTBGc= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.6/go.mod h1:TzDyqDka0783D93yVirkcysbibVRxjX5HFJEWms4kKA= @@ -821,8 +853,12 @@ github.com/aws/aws-sdk-go-v2/service/sso v1.11.8 h1:GNIdO14AHW5CgnzMml3Tg5Fy/+Nq github.com/aws/aws-sdk-go-v2/service/sso v1.11.8/go.mod h1:UqRD9bBt15P0ofRyDZX6CfsIqPpzeHOhZKWzgSuAzpo= github.com/aws/aws-sdk-go-v2/service/sso v1.11.25/go.mod h1:IARHuzTXmj1C0KS35vboR0FeJ89OkEy1M9mWbK2ifCI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.0 h1:/2gzjhQowRLarkkBOGPXSRnb8sQ2RVsjdG1C/UliK/c= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 h1:nneMBM2p79PGWBQovYO/6Xnc2ryRMw3InnDJq1FHkSY= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.12/go.mod h1:HuCOxYsF21eKrerARYO6HapNeh9GBNq7fius2AcwodY= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.8/go.mod h1:er2JHN+kBY6FcMfcBBKNGCT3CarImmdFzishsqBmSRI= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.0 h1:Jfly6mRxk2ZOSlbCvZfKNS7TukSx1mIzhSsqZ/IGSZI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 h1:2qTR7IFk7/0IN/adSFhYu9Xthr0zVFTgBrmPldILn80= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12/go.mod h1:E4VrHCPzmVB/KFXtqBGKb3c8zpbNBgKe3fisDNLAW5w= github.com/aws/aws-sdk-go-v2/service/sts v1.6.0/go.mod h1:q7o0j7d7HrJk/vr9uUt3BVRASvcU7gYZB9PUgPiByXg= github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= github.com/aws/aws-sdk-go-v2/service/sts v1.15.0/go.mod h1:E264g2Gl5U9KTGzmd8ypGEAoh75VmqyuA/Ox5O1eRE4= @@ -832,6 +868,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.16.7 h1:HLzjwQM9975FQWSF3uENDGHT1gFQ github.com/aws/aws-sdk-go-v2/service/sts v1.16.7/go.mod h1:lVxTdiiSHY3jb1aeg+BBFtDzZGSUCv6qaNOyEGCJ1AY= github.com/aws/aws-sdk-go-v2/service/sts v1.17.1/go.mod h1:bXcN3koeVYiJcdDU89n3kCYILob7Y34AeLopUbZgLT4= github.com/aws/aws-sdk-go-v2/service/sts v1.18.1 h1:q3xG67qnKp1gsYSJY5AtTvFKY2IlmGPGrTw/Wy8EjeQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.19.2 h1:XFJ2Z6sNUUcAz9poj+245DMkrHE4h2j5I9/xD50RHfE= +github.com/aws/aws-sdk-go-v2/service/sts v1.19.2/go.mod h1:dp0yLPsLBOi++WTxzCjA/oZqi6NPIhoR+uF7GeMU9eg= github.com/aws/smithy-go v1.6.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.11.0/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM= @@ -840,11 +878,14 @@ github.com/aws/smithy-go v1.11.3 h1:DQixirEFM9IaKxX1olZ3ke3nvxRS2xMDteKIDWxozW8= github.com/aws/smithy-go v1.11.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= +github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220228164355-396b2034c795/go.mod h1:8vJsEZ4iRqG+Vx6pKhWK6U00qcj0KC37IsfszMkY6UE= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220517224237-e6f29200ae04 h1:p2I85zYI9z5/c/3Q0LiO3RtNXcmXHTtJfml/hV16zNg= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220517224237-e6f29200ae04/go.mod h1:Z+bXnIbhKJYSvxNwsNnwde7pDKxuqlEZCbUBoTwAqf0= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20221027043306-dc425bc05c64/go.mod h1:oqbjAk8VeItfKctyahGuAyU61z4d0Fi1gHmlWjHWsMM= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20230110223219-40efa3093a22 h1:Sq2n1xnF4uuEGNUVOLKHZXoL0CVdxIQOQTEZ7EW762Q= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20230522190001-adf1bafd791a h1:rW+dV12c0WD3+O4Zs8Qt4+oqnr8ecXeyg8g3yB73ZKA= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20230522190001-adf1bafd791a/go.mod h1:1mvdZLjy932pV2fhj1jjwUSHaF5Ogq2gk5bvi/6ngEU= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -905,11 +946,15 @@ github.com/buildpacks/imgutil v0.0.0-20220527150729-7a271a852e31 h1:EKj9YzFFAO5y github.com/buildpacks/imgutil v0.0.0-20220527150729-7a271a852e31/go.mod h1:SI90cWVEm7VmN9d/RLpiuchointjHNFRsQ1mFPbQVI4= github.com/buildpacks/imgutil v0.0.0-20221109161319-3252b1f13dfa/go.mod h1:/aefwfzb14yQfd4KauUS5B0UVJpi+Fno25mh/Us81Ak= github.com/buildpacks/imgutil v0.0.0-20230221152838-4cf98dd677d2 h1:UjLEI78jFKLQwpFI2rpgKOZyXKW1cQdy7Wf+8Z6Lu1M= +github.com/buildpacks/imgutil v0.0.0-20230626185301-726f02e4225c h1:HlRuSz+JGAzudNtNCfHIzXe0AEuHX6Vx8uZgmjvX02o= +github.com/buildpacks/imgutil v0.0.0-20230626185301-726f02e4225c/go.mod h1:mBG5M3GJW5nknCEOOqtmMHyPYnSpw/5GEiciuYU/COw= github.com/buildpacks/lifecycle v0.14.0/go.mod h1:WVrbLGvWd3f96qWZglI+RlEcPZDXMDuJDK+i7G7hZjU= github.com/buildpacks/lifecycle v0.14.1 h1:CkMsUbotZvru+VOTn08BWPbJRZnAx6Xx2yQYoqVLOW8= github.com/buildpacks/lifecycle v0.14.1/go.mod h1:l8p/hrNzwq1Dr9JEblxC8ZHOLhJPCBFOPCwyo0Z66/Y= github.com/buildpacks/lifecycle v0.15.1/go.mod h1:JjyTCa8GBFCRInA36vsMllVntv/Hs/ccHpVIE6VebH8= github.com/buildpacks/lifecycle v0.16.0 h1:Q80RNP1JImJbkOXY/z/rWD9spqgEkTe/5/JypkOxJZ8= +github.com/buildpacks/lifecycle v0.17.0 h1:vX/kpQfuh4LZvsIhi1wNkx/zahvwiF72bgc46rQ+3z0= +github.com/buildpacks/lifecycle v0.17.0/go.mod h1:WFzcNp1WG4bwgHuXtKxMg4tdU3AguL44ZlP3knANeVs= github.com/buildpacks/pack v0.26.0 h1:R0yPwTz58MfcqYSA0B2Q8ksOhp2Rz5kE/hO2BVys2y4= github.com/buildpacks/pack v0.26.0/go.mod h1:6y/OxdE5ewaBuazvO4FKHvs2wEjA6DKI6e00WwZBuwM= github.com/buildpacks/pack v0.27.0 h1:diMvn/aR0wbfs0ke7DOBtrkFzJqDw+moJPTWLdUTuhE= @@ -918,6 +963,8 @@ github.com/buildpacks/pack v0.28.0 h1:Lp3IUI3z7LgF6toAtqO9hoR8EkUX7u8PLL5z1B00Yf github.com/buildpacks/pack v0.28.0/go.mod h1:KzBqk0aVPkava0nQrqnpeoHL9MEL7UWsAQaDZNTAw4w= github.com/buildpacks/pack v0.29.0 h1:6BmI6wMrqLjYbX4pYLVVUsQlQcLWsDwnihdgtrR+cuQ= github.com/buildpacks/pack v0.29.0/go.mod h1:cdGJ9aU1+NplYXJnclUrabKRoWuWwGs4C5O93Lro50o= +github.com/buildpacks/pack v0.30.0 h1:1beK8QAp7By4K40QigYl9JG/Os4nA93dQxYR/GMMbTo= +github.com/buildpacks/pack v0.30.0/go.mod h1:ZtkyUJKcTdWgEDFi0KOmtHQAOkeQeOeJ2wre1+0ipnA= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/caarlos0/ctrlc v1.0.0/go.mod h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw= github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e/go.mod h1:9IOqJGCPMSc6E5ydlp5NIonxObaeu/Iub/X03EKPVYo= @@ -944,6 +991,8 @@ github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701b github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701bfc08/go.mod h1:MAuu1uDJNOS3T3ui0qmKdPUwm59+bO19BbTph2wZafE= github.com/chrismellard/docker-credential-acr-env v0.0.0-20221002210726-e883f69e0206/go.mod h1:1UmFRnmMnVsHwD+ZntmLkoVBB1ZLa6V+XXEbF6hZCxU= github.com/chrismellard/docker-credential-acr-env v0.0.0-20221129204813-6a4d6ed5d396 h1:ZUOndrE3hI7kIqsIAxtMLEmgakCLWodkiBxqoAN1QSQ= +github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 h1:krfRl01rzPzxSxyLyrChD+U+MzsBXbm0OwYYB67uF+4= +github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589/go.mod h1:OuDyvmLnMCwa2ep4Jkm6nyA0ocJuZlGyk2gGseVzERM= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -964,6 +1013,8 @@ github.com/cli/safeexec v1.0.0 h1:0VngyaIyqACHdcMNWfo6+KdUYnqEr2Sg+bSP1pdF+dI= github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= +github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -1032,6 +1083,8 @@ github.com/containerd/containerd v1.6.6 h1:xJNPhbrmz8xAMDNoVjHy9YHtWwEQNS+CDkcIR github.com/containerd/containerd v1.6.6/go.mod h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0= github.com/containerd/containerd v1.6.9/go.mod h1:XVicUvkxOrftE2Q1YWUXgZwkkAxwQYNOFzYWvfVfEfQ= github.com/containerd/containerd v1.6.18 h1:qZbsLvmyu+Vlty0/Ex5xc0z2YtKpIsb5n45mAMI+2Ns= +github.com/containerd/containerd v1.7.2 h1:UF2gdONnxO8I6byZXDi5sXWiWvlW3D/sci7dTQimEJo= +github.com/containerd/containerd v1.7.2/go.mod h1:afcz74+K10M/+cjGHIVQrCt3RAQhUSCAjJ9iMYhhkuI= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= @@ -1083,6 +1136,8 @@ github.com/containerd/stargz-snapshotter/estargz v0.11.4 h1:LjrYUZpyOhiSaU7hHrdR github.com/containerd/stargz-snapshotter/estargz v0.11.4/go.mod h1:7vRJIcImfY8bpifnMjt+HTJoQxASq7T28MYbP15/Nf0= github.com/containerd/stargz-snapshotter/estargz v0.12.1/go.mod h1:12VUuCq3qPq4y8yUW+l5w3+oXV3cx2Po3KSe/SmPGqw= github.com/containerd/stargz-snapshotter/estargz v0.13.0 h1:fD7AwuVV+B40p0d9qVkH/Au1qhp8hn/HWJHIYjpEcfw= +github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k= +github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= @@ -1196,6 +1251,8 @@ github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hH github.com/docker/cli v20.10.20+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v20.10.21+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v23.0.1+incompatible h1:LRyWITpGzl2C9e9uGxzisptnxAn1zfZKXy13Ul2Q5oM= +github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= +github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= github.com/docker/distribution v2.6.0-rc.1.0.20180327202408-83389a148052+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= @@ -1203,6 +1260,8 @@ github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4Kfc github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v0.0.0-20200511152416-a93e9eb0e95c/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20180531152204-71cd53e4a197/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= @@ -1222,6 +1281,8 @@ github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05 github.com/docker/docker v20.10.20+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.23+incompatible h1:1ZQUUYAdh+oylOT85aA2ZcfRp22jmLhoaEcVEfK8dyA= +github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= +github.com/docker/docker v24.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/docker-credential-helpers v0.6.4 h1:axCks+yV+2MR3/kZhAmy07yC56WZ2Pwu/fKWtKuZB0o= github.com/docker/docker-credential-helpers v0.6.4/go.mod h1:ofX3UI0Gz1TteYBjtgs07O36Pyasyp66D2uKT7H8W1c= @@ -1247,6 +1308,7 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/ePirat/docker-credential-gitlabci v1.0.0/go.mod h1:Ptmh+D0lzBQtgb6+QHjXl9HqOn3T1P8fKUHldiSQQGA= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= @@ -1320,6 +1382,7 @@ github.com/gdamore/tcell/v2 v2.5.1 h1:zc3LPdpK184lBW7syF2a5C6MV827KmErk9jGVnmsl/ github.com/gdamore/tcell/v2 v2.5.1/go.mod h1:wSkrPaXoiIWZqW/g7Px4xc79di6FTcpB8tvaKJ6uGBo= github.com/gdamore/tcell/v2 v2.5.3/go.mod h1:wSkrPaXoiIWZqW/g7Px4xc79di6FTcpB8tvaKJ6uGBo= github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= +github.com/gdamore/tcell/v2 v2.6.0/go.mod h1:be9omFATkdr0D9qewWW3d+MEvl5dha+Etb5y65J2H8Y= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getkin/kin-openapi v0.94.0/go.mod h1:LWZfzOd7PRy8GJ1dJ6mCU6tNdSfOwRac1BUPam4aw6Q= github.com/getkin/kin-openapi v0.96.0 h1:VVbcSdQAJzfc5kCLU7z2ezw84czu3rbC6UG1BGGzahY= @@ -1339,12 +1402,18 @@ github.com/go-critic/go-critic v0.4.3/go.mod h1:j4O3D4RoIwRqlZw5jJpx0BNfXWWbpcJo github.com/go-critic/go-critic v0.6.1/go.mod h1:SdNCfU0yF3UBjtaZGw6586/WocupMOJuiqgom5DsQxM= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= +github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= +github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= github.com/go-git/go-git/v5 v5.6.0 h1:JvBdYfcttd+0kdpuWO7KTu0FYgCf5W0t5VwkWGobaa4= +github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= +github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -1461,6 +1530,8 @@ github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kU github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.4.3 h1:Hxl6lhQFj4AnOX6MLrsCb/+7tCj7DxP7VA+2rDIq5AU= +github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -1562,6 +1633,8 @@ github.com/google/go-containerregistry v0.9.0/go.mod h1:9eq4BnSufyT1kHNffX+vSXVo github.com/google/go-containerregistry v0.12.0/go.mod h1:sdIK+oHQO7B93xI8UweYdl887YhuIwg9vz8BSLH3+8k= github.com/google/go-containerregistry v0.12.1/go.mod h1:sdIK+oHQO7B93xI8UweYdl887YhuIwg9vz8BSLH3+8k= github.com/google/go-containerregistry v0.13.0 h1:y1C7Z3e149OJbOPDBxLYR8ITPz8dTKqQwjErKVHJC8k= +github.com/google/go-containerregistry v0.16.1 h1:rUEt426sR6nyrL3gt+18ibRcvYpKYdpsa5ZW7MA08dQ= +github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM= github.com/google/go-github/v30 v30.1.0/go.mod h1:n8jBpHl45a/rlBUtRJMOG4GhNADUQFEufcolZ95JfU8= @@ -1778,6 +1851,7 @@ github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= github.com/invopop/yaml v0.2.0 h1:7zky/qH+O0DwAyoobXUqvVBwgBFRxKoQ/3FjcVpjTMY= @@ -1908,6 +1982,8 @@ github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHU github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= +github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= +github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -2006,6 +2082,8 @@ github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9 github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= @@ -2013,6 +2091,7 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= @@ -2070,7 +2149,10 @@ github.com/moby/buildkit v0.8.1/go.mod h1:/kyU1hKy/aYCuP39GZA9MaKioovHku57N6cqlK github.com/moby/buildkit v0.9.3/go.mod h1:5dZQUHg9STw/Fhl4zZiusDJKn8uje/0x952Nce4a8cg= github.com/moby/buildkit v0.10.5/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= github.com/moby/buildkit v0.11.1 h1:D7ghEeXgwq4v6WT+YExVruip4GLqm3UT1+7JBLhNBic= +github.com/moby/buildkit v0.11.6 h1:VYNdoKk5TVxN7k4RvZgdeM4GOyRvIi4Z8MXOY7xvyUs= +github.com/moby/buildkit v0.11.6/go.mod h1:GCqKfHhz+pddzfgaR7WmHVEE3nKKZMMDPpK8mh3ZLv4= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo= github.com/moby/patternmatcher v0.5.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/mount v0.1.0/go.mod h1:FVQFLDRWwyBjDTBNQXDlWnSFREqOo3OKX9aqhmeoo74= @@ -2089,6 +2171,8 @@ github.com/moby/sys/mountinfo v0.6.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdx github.com/moby/sys/mountinfo v0.6.1/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= 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/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= +github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= @@ -2101,6 +2185,8 @@ github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQB github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/moby/term v0.0.0-20221105221325-4eb28fa6025c/go.mod h1:9OcmHNQQUTbk4XCffrLgN1NEKc2mh5u++biHVrvHsSU= github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA= +github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= +github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= 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-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= @@ -2204,6 +2290,8 @@ github.com/opencontainers/image-spec v1.0.3-0.20220114050600-8b9d41f48198 h1:+cz github.com/opencontainers/image-spec v1.0.3-0.20220114050600-8b9d41f48198/go.mod h1:j4h1pJW6ZcJTgMZWP3+7RlG3zTaP02aDZ/Qw0sppK7Q= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +github.com/opencontainers/image-spec v1.1.0-rc4 h1:oOxKUJWnFC4YGHCCMNql1x4YaDfYBTS5Y4x/Cgeo1E0= +github.com/opencontainers/image-spec v1.1.0-rc4/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc10/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= @@ -2219,6 +2307,8 @@ github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opencontainers/runc v1.1.4 h1:nRCz/8sKg6K6jgYAFLDlXzPeITBZJyX28DBVhWD+5dg= github.com/opencontainers/runc v1.1.4/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runc v1.1.7 h1:y2EZDS8sNng4Ksf0GUYNhKbTShZJPJg1FiXJNH/uoCk= +github.com/opencontainers/runc v1.1.7/go.mod h1:CbUumNnWCuTGFukNXahoo/RFBZvDAgRh/smNYNOhA50= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= @@ -2235,6 +2325,8 @@ github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGq github.com/opencontainers/selinux v1.10.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opencontainers/selinux v1.10.2 h1:NFy2xCsjn7+WspbfZkUd5zyVeisV7VFbPSP96+8/ha4= github.com/opencontainers/selinux v1.10.2/go.mod h1:cARutUbaUrlRClyvxOICCgKixCs6L05aUsohzA3EkHQ= +github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= +github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/opentracing-contrib/go-stdlib v1.0.0/go.mod h1:qtI1ogk+2JhVPIXVc6q+NHziSmy2W5GbdQZFUHADCBU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= @@ -2269,6 +2361,7 @@ github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -2355,6 +2448,7 @@ github.com/rivo/tview v0.0.0-20220610163003-691f46d6f500/go.mod h1:WIfMkQNY+oq/m github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -2432,8 +2526,12 @@ github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/tenv v1.4.7/go.mod h1:5nF+bITvkebQVanjU6IuMbvIot/7ReNsUV7I5NbprB0= github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= +github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= +github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= @@ -2472,6 +2570,8 @@ github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/fsync v0.9.0 h1:f9CEt3DOB2mnHxZaftmEOFWjABEvKM/xpf3cUwJrGOY= github.com/spf13/fsync v0.9.0/go.mod h1:fNtJEfG3HiltN3y4cPOz6MLjos9+2pIEqLIgszqhp/0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -2599,6 +2699,8 @@ github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME= github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI= +github.com/vbatts/tar-split v0.11.3 h1:hLFqsOLQ1SsppQNTMpkpPXClLDfC2A3Zgy9OUU+RVck= +github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= github.com/vdemeester/k8s-pkg-credentialprovider v1.17.4/go.mod h1:inCTmtUdr5KJbreVojo06krnTgaeAz/Z7lynpPk/Q2c= github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= @@ -2619,6 +2721,7 @@ github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6e github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo= github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= @@ -2814,6 +2917,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2866,6 +2971,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2966,6 +3073,8 @@ golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3024,6 +3133,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -3201,6 +3312,8 @@ golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3213,6 +3326,8 @@ golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3227,6 +3342,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3691,6 +3808,8 @@ google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscL google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= 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=