diff --git a/.gitignore b/.gitignore index a51d12293..8fc5dbf33 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ $RECYCLE.BIN/ *.iml # Generated files -content/docs/tools/pack/cli/pack* +content/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack* # Hugo .hugo_build.lock diff --git a/Makefile b/Makefile index 72a1ce79a..84b2bbc91 100644 --- a/Makefile +++ b/Makefile @@ -108,9 +108,9 @@ install-ugo: .PHONY: pack-docs-update pack-docs-update: upgrade-pack @echo "> Updating Pack CLI Documentation" - @echo "> SHA of contents (before update):" `find ./content/docs/tools/pack -type f -print0 | xargs -0 sha1sum | sha1sum | cut -d' ' -f1` + @echo "> SHA of contents (before update):" `find ./content/docs/for-platform-operators/how-to/integrate-ci/pack -type f -print0 | xargs -0 sha1sum | sha1sum | cut -d' ' -f1` cd tools; go run -mod=mod get_pack_commands.go - @echo "> SHA of contents (after update):" `find ./content/docs/tools/pack -type f -print0 | xargs -0 sha1sum | sha1sum | cut -d' ' -f1` + @echo "> SHA of contents (after update):" `find ./content/docs/for-platform-operators/how-to/integrate-ci/pack -type f -print0 | xargs -0 sha1sum | sha1sum | cut -d' ' -f1` .PHONY: pack-version pack-version: export PACK_VERSION:=$(PACK_VERSION) diff --git a/content/community.md b/content/community.md index 11b19c424..44358ccd7 100644 --- a/content/community.md +++ b/content/community.md @@ -35,7 +35,7 @@ If you didn't find anything you'd like to improve while going through the tutori [talks]: /docs/#talks [tutorials]: /docs/#tutorials [spec]: /docs/reference/spec/ -[platforms]: /docs/concepts/components/platform/ +[platforms]: /docs/for-app-developers/concepts/platform/ [pack]: https://github.com/buildpacks/pack [lifecycle]: https://github.com/buildpacks/lifecycle [docs]: https://github.com/buildpacks/docs diff --git a/content/docs/_index.md b/content/docs/_index.md index f4170ccd1..b6e946bfd 100644 --- a/content/docs/_index.md +++ b/content/docs/_index.md @@ -13,27 +13,23 @@ summary="Get started with Cloud Native Buildpacks." ## Tutorials * [An App’s Brief Journey from Source to Image](/docs/app-journey/) - An easy-to-follow introduction to Cloud Native Buildpacks using `pack`, a command line tool for Cloud Native Buildpacks. -* [Creating a Cloud Native Buildpack](/docs/buildpack-author-guide/create-buildpack) - Tutorial walking through the creation of a simple Ruby buildpack. +* [Creating a Cloud Native Buildpack](/docs/for-buildpack-authors/tutorials/basic-buildpack) - Tutorial walking through the creation of a simple Ruby buildpack. -## [Concepts](/docs/concepts) +## Going deeper -Learn the [concepts](/docs/concepts) of Cloud Native Buildpacks. +See how-to guides, concepts, and tutorials tailored to specific personas: -## Guides +* [App Developers](/docs/for-app-developers/) +* [Buildpack Authors](/docs/for-buildpack-authors/) +* [Operators](/docs/for-platform-operators/) -Set of guides tailored to specific personas: +## [Tools](/docs/for-platform-operators/) -* [App Developers](/docs/app-developer-guide/) -* [Buildpack Authors](/docs/buildpack-author-guide/) -* [Operators](/docs/operator-guide/) - -## [Tools](/docs/tools/) - -* **[CircleCI](/docs/tools/circleci)** - {{< summary "/docs/tools/circleci" >}} -* **[GitLab](/docs/tools/gitlab)** - {{< summary "/docs/tools/gitlab" >}} -* **[kpack](/docs/tools/kpack)** - {{< summary "/docs/tools/kpack" >}} -* **[Pack](/docs/tools/pack)** - {{< summary "/docs/tools/pack" >}} -* **[Tekton](/docs/tools/tekton)** - {{< summary "/docs/tools/tekton" >}} +* **[CircleCI](/docs/for-platform-operators/how-to/integrate-ci/circleci)** - {{< summary "/docs/for-platform-operators/how-to/integrate-ci/circleci" >}} +* **[GitLab](/docs/for-platform-operators/how-to/integrate-ci/gitlab)** - {{< summary "/docs/for-platform-operators/how-to/integrate-ci/gitlab" >}} +* **[kpack](/docs/for-platform-operators/how-to/integrate-ci/kpack)** - {{< summary "/docs/for-platform-operators/how-to/integrate-ci/kpack" >}} +* **[Pack](/docs/for-platform-operators/how-to/integrate-ci/pack)** - {{< summary "/docs/for-platform-operators/how-to/integrate-ci/pack" >}} +* **[Tekton](/docs/for-platform-operators/how-to/integrate-ci/tekton)** - {{< summary "/docs/for-platform-operators/how-to/integrate-ci/tekton" >}} ## [Reference](/docs/reference/) diff --git a/content/docs/app-developer-guide/_index.md b/content/docs/app-developer-guide/_index.md deleted file mode 100644 index 4e8e9e44b..000000000 --- a/content/docs/app-developer-guide/_index.md +++ /dev/null @@ -1,15 +0,0 @@ -+++ -title="App Developer Guide" -weight=4 -include_summaries=true -expand=true -+++ - -## Prerequisites - -A lot of the examples used within this guide will require the following: - -{{< download-button href="https://store.docker.com/search?type=edition&offering=community" color="blue" >}} Install Docker {{}} -{{< download-button href="/docs/install-pack" color="pink" >}} Install pack {{}} - -
\ No newline at end of file diff --git a/content/docs/app-journey.md b/content/docs/app-journey.md index 78e79225b..8bfd43dfb 100644 --- a/content/docs/app-journey.md +++ b/content/docs/app-journey.md @@ -99,9 +99,9 @@ deploying your new image to your favorite cloud! Windows image builds are now supported! -Windows build guide +Windows build guide -[builder]: /docs/concepts/components/builder/ -[buildpack]: /docs/concepts/components/buildpack/ +[builder]: /docs/for-platform-operators/concepts/builder/ +[buildpack]: /docs/for-platform-operators/concepts/buildpack/ [samples-java-maven]: https://github.com/buildpacks/samples/tree/main/apps/java-maven [pack-docs]: /docs/tools/pack/ diff --git a/content/docs/buildpack-author-guide/_index.md b/content/docs/buildpack-author-guide/_index.md deleted file mode 100644 index 2ae3a823e..000000000 --- a/content/docs/buildpack-author-guide/_index.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -title="Buildpack Author Guide" -weight=4 -include_summaries=true -expand=true -aliases=[ - "/docs/create-buildpack/" -] -+++ \ No newline at end of file diff --git a/content/docs/buildpack-author-guide/create-buildpack/_index.md b/content/docs/buildpack-author-guide/create-buildpack/_index.md deleted file mode 100644 index d9b8494ef..000000000 --- a/content/docs/buildpack-author-guide/create-buildpack/_index.md +++ /dev/null @@ -1,36 +0,0 @@ -+++ -title="Create a buildpack" -weight=4 -summary="This is a step-by-step tutorial for creating a Cloud Native Buildpack using simple bash scripts." -+++ - - - -## Prerequisites - -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 {{}} -{{< download-button href="/docs/install-pack" color="pink" >}} Install pack {{}} - - -## Overview - - -This is a step-by-step tutorial for creating a nodeJS Cloud Native Buildpack. - -- [Set up your local environment](/docs/buildpack-author-guide/create-buildpack/setup-local-environment) -- [Building blocks of a Cloud Native Buildpack](/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb) -- [Detecting your application](/docs/buildpack-author-guide/create-buildpack/detection) -- [Building your application](/docs/buildpack-author-guide/create-buildpack/build-app) -- [Making your application runnable](/docs/buildpack-author-guide/create-buildpack/make-app-runnable) -- [Specifying multiple process types](/docs/buildpack-author-guide/create-buildpack/specify-multiple-process-types) -- [Improving performance with caching](/docs/buildpack-author-guide/create-buildpack/caching) -- [Making your buildpack configurable](/docs/buildpack-author-guide/create-buildpack/make-buildpack-configurable) -- [Adding a Bill-of-Materials](/docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials) - - ---- - -Start Tutorial - \ No newline at end of file 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 deleted file mode 100644 index 19d35d510..000000000 --- a/content/docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials.md +++ /dev/null @@ -1,220 +0,0 @@ -+++ -title="Adding Bill-of-Materials" -weight=409 -+++ - - - -One of the benefits of buildpacks is they can also populate the app image with metadata from the build process, allowing you to audit the app image for information like: - -* The process types that are available and the commands associated with them -* The run-image the app image was based on -* The buildpacks were used to create the app image -* Whether the run-image can be rebased with a new version through the `Rebasable` label or not -* And more...! - -You can find some of this information using `pack` via its `inspect-image` command. The bill-of-materials information will be available using `pack sbom download`. - -```bash -pack inspect-image test-node-js-app -``` -You should see the following: - -```text -Run Images: - cnbs/sample-base-run:jammy -... - -Buildpacks: - ID VERSION HOMEPAGE - examples/node-js 0.0.1 - - -Processes: - TYPE SHELL COMMAND ARGS WORK DIR - web (default) bash node-js app.js /workspace -``` - -Apart from the above standard metadata, buildpacks can also populate information about the dependencies they have provided in form of a `Bill-of-Materials`. Let's see how we can use this to populate information about the version of `node-js` that was installed in the output app image. - -To add the `node-js` version to the output of `pack download sbom`, we will have to provide a [Software `Bill-of-Materials`](https://en.wikipedia.org/wiki/Software_bill_of_materials) (`SBOM`) containing this information. There are three "standard" ways to report SBOM data. You'll need to choose to use one of [CycloneDX](https://cyclonedx.org/), [SPDX](https://spdx.dev/) or [Syft](https://github.com/anchore/syft) update the `node-js.sbom.` (where `` is the extension appropriate for your SBOM standard, one of `cdx.json`, `spdx.json` or `syft.json`) at the end of your `build` script. Discussion of which SBOM format to choose is outside the scope of this tutorial, but we will note that the SBOM format you choose to use is likely to be the output format of any SBOM scanner (eg: [`syft cli`](https://github.com/anchore/syft)) you might choose to use. In this example we will use the CycloneDX json format. - -First, annotate the `buildpack.toml` to specify that it emits CycloneDX: - - -```toml -# Buildpack API version -api = "0.10" - -# Buildpack ID and metadata -[buildpack] - id = "examples/node-js" - version = "0.0.1" - sbom-formats = [ "application/vnd.cyclonedx+json" ] - -# Targets the buildpack will work with -[[targets]] -os = "linux" - -# Stacks (deprecated) the buildpack will work with -[[stacks]] - id = "*" -``` - -Then, in our buildpack implementation we will generate the necessary SBOM metadata: - -```bash -# ... - -# Append a Bill-of-Materials containing metadata about the provided node-js version -cat >> "${CNB_LAYERS_DIR}/node-js.sbom.cdx.json" << EOL -{ - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "components": [ - { - "type": "library", - "name": "node-js", - "version": "${node_js_version}" - } - ] -} -EOL -``` - -We can also add an SBOM entry for each dependency listed in `package.json`. Here we use `jq` to add a new record to the `components` array in `bundler.sbom.cdx.json`: - -```bash -node-jsbom="${CNB_LAYERS_DIR}/node-js.sbom.cdx.json" -cat >> ${node-jsbom} << EOL -{ - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "components": [ - { - "type": "library", - "name": "node-js", - "version": "${node_js_version}" - } - ] -} -EOL -``` - -Your `node-js-buildpack/bin/build` script should look like the following: - - -```bash -#!/usr/bin/env bash -set -eo pipefail - -echo "---> NodeJS Buildpack" - -# ======= MODIFIED ======= -# 1. GET ARGS -plan=${CNB_BP_PLAN_PATH} - -# 2. CREATE THE LAYER DIRECTORY -node_js_layer="${CNB_LAYERS_DIR}"/node-js -mkdir -p "${node_js_layer}" - -# 3. DOWNLOAD node-js -default_node_js_version="18.18.1" -node_js_version=$(cat "$plan" | yj -t | jq -r '.entries[] | select(.name == "node-js") | .metadata.version' || echo ${default_node_js_version}) -node_js_url=https://nodejs.org/dist/v${node_js_version}/node-v${node_js_version}-linux-x64.tar.xz -remote_nodejs_version=$(cat "${CNB_LAYERS_DIR}/node-js.toml" 2> /dev/null | yj -t | jq -r .metadata.nodejs_version 2>/dev/null || echo 'NOT FOUND') -if [[ "${node_js_url}" != *"${remote_nodejs_version}"* ]] ; then - echo "-----> Downloading and extracting NodeJS" - wget -q -O - "${node_js_url}" | tar -xJf - --strip-components 1 -C "${node_js_layer}" -else - echo "-----> Reusing NodeJS" -fi - -# 4. MAKE node-js AVAILABLE DURING LAUNCH and CACHE the LAYER - cat > "${CNB_LAYERS_DIR}/node-js.toml" << EOL -[types] -cache = true -launch = true -[metadata] -nodejs_version = "${node_js_version}" -EOL - -# 5. SET DEFAULT START COMMAND -cat >> "${CNB_LAYERS_DIR}/launch.toml" << EOL -[[processes]] -type = "web" -command = ["node", "app.js"] -default = true -EOL - -# ========== ADDED =========== -# 6. ADD A SBOM -node_jsbom="${CNB_LAYERS_DIR}/node-js.sbom.cdx.json" -cat >> ${node_jsbom} << EOL -{ - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "components": [ - { - "type": "library", - "name": "node-js", - "version": "${node_js_version}" - } - ] -} -EOL -``` - -Then rebuild your app using the updated buildpack: - - -```bash -pack build test-node-js-app --path ./node-js-sample-app --buildpack ./node-js-buildpack -``` - - -Viewing your bill-of-materials requires extracting (or `download`ing) the bill-of-materials from your local image. This command can take some time to return. - - -```bash -pack sbom download test-node-js-app -``` - - -The SBOM information is now downloaded to the local file system: - - -```bash -cat layers/sbom/launch/examples_node-js/node-js/sbom.cdx.json | jq -M -``` - -You should find that the included `node-js` version is `18.18.1` as expected. - -```text -{ - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "components": [ - { - "type": "library", - "name": "node-js", - "version": "18.18.1" - } -... - ] -} -``` - -Congratulations! You’ve created your first configurable Cloud Native Buildpack that uses detection, image layers, and caching to create an introspectable and runnable OCI image. - -## Going further - -Now that you've finished your buildpack, how about extending it? Try: - -- Caching the downloaded NodeJS version -- [Packaging your buildpack for distribution][package-a-buildpack] - -[package-a-buildpack]: /docs/buildpack-author-guide/package-a-buildpack/ diff --git a/content/docs/buildpack-author-guide/create-buildpack/specify-multiple-process-types.md b/content/docs/buildpack-author-guide/create-buildpack/specify-multiple-process-types.md deleted file mode 100644 index 4a2c1fe8f..000000000 --- a/content/docs/buildpack-author-guide/create-buildpack/specify-multiple-process-types.md +++ /dev/null @@ -1,100 +0,0 @@ -+++ -title="Specify multiple process types" -weight=406 -+++ - - - -One of the benefits of buildpacks is that they are multi-process - an image can have multiple entrypoints for each operational mode. Let's see how this works. We will extend our app to have an entrypoint that allows a debugger to attach to it. - -To enable running the debug process, we'll need to have our buildpack define a "process type" for the worker. Modify the section where processes are defined to: - -```bash -# ... - -cat > "${CNB_LAYERS_DIR}/launch.toml" << EOL -# our web process -[[processes]] -type = "web" -command = ["node", "app.js"] -default = true - -# our debug process -[[processes]] -type = "worker" -command = ["node", "--inspect", "app.js"] -EOL - -# ... -``` - -Your full `node-js-buildpack/bin/build` script should now look like the following: - - -```bash -#!/usr/bin/env bash -set -eo pipefail - -echo "---> NodeJS Buildpack" - -# 1. CREATE THE LAYER DIRECTORY -node_js_layer="${CNB_LAYERS_DIR}"/node-js -mkdir -p "${node_js_layer}" - -# 2. DOWNLOAD node-js -echo "---> Downloading and extracting NodeJS" -node_js_url=https://nodejs.org/dist/v18.18.1/node-v18.18.1-linux-x64.tar.xz -wget -q -O - "$node_js_url" | tar -xJf - --strip-components 1 -C "${node_js_layer}" - -# 3. MAKE node-js AVAILABLE DURING LAUNCH - cat > "${CNB_LAYERS_DIR}/node-js.toml" << EOL -[types] -launch = true -EOL - -# ========== MODIFIED =========== -# 4. SET DEFAULT START COMMAND -cat > "${CNB_LAYERS_DIR}/launch.toml" << EOL -# our web process -[[processes]] -type = "web" -command = ["node", "app.js"] -default = true - -# our debug process -[[processes]] -type = "debug" -command = ["node", "--inspect", "app.js"] -EOL -``` - -Now if you rebuild your app using the updated buildpack: - - -```bash -pack build test-node-js-app --path ./node-js-sample-app --buildpack ./node-js-buildpack -``` - - -You should then be able to run your new NodeJS debug process: - - -```bash -docker run --rm --entrypoint debug test-node-js-app -``` - - -and see the debug log output: - - -```text -Debugger listening on ws://127.0.0.1:9229/ -``` - -Next, we'll look at how to improve our buildpack by leveraging cache. - - ---- - -Next Step - \ No newline at end of file diff --git a/content/docs/concepts/_index.md b/content/docs/concepts/_index.md deleted file mode 100644 index 6dd519c3d..000000000 --- a/content/docs/concepts/_index.md +++ /dev/null @@ -1,62 +0,0 @@ -+++ -title="Concepts" -weight=3 -expand=false -+++ - -

-Buildpacks allow you to convert your source code into a secure, efficient, production ready container image. -

- -## What are buildpacks? - -![buildpacks](/docs/concepts/what.svg) - -**[Buildpacks](/docs/concepts/components/buildpack) provide framework and runtime support for applications.** Buildpacks examine your apps to determine all the dependencies it needs and configure them appropriately to run on any cloud. - - -## How do they work? - -![how](/docs/concepts/how.svg) - -**Each buildpack comprises of two phases -** - -### Detect phase - -The `detect` phase runs against your source code to determine if the buildpack is applicable or not. Once a buildpack is `detected` to be applicable, it proceeds to the `build` stage. If the project fails `detection` the `build` stage for a specific buildpack is skipped. - -For example: - -- A Python buildpack may look for a `requirements.txt` or a `setup.py` file pass -- A Node buildpack may look for a `package-lock.json` file to pass - -### Build phase - -The `build` phase runs against your source code to - - -- Set up the build-time and run-time environment -- Download dependencies and compile your source code (if needed) -- Set appropriate entry point and startup scripts - -For example: - -- A Python buildpack may run `pip install -r requirements.txt` if it detected a `requirements.txt` file -- A Node buildpack may run `npm install` if it detected a `package-lock.json` file - -## What is a builder? - -![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. - -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. - -This allows us to have a **single** `builder` that can detect and build various kinds of applications automatically. - -For example, let's say `demo-builder` contains the `Python` and `Node` buildpack. Then - - -- If your project just has a `requirements.txt`, `demo-builder` will only run the Python `build` steps. -- If your project just has a `package-lock.json`, `demo-builder` will only run the Node `build` steps. -- If your project has both `package-lock.json` and `requirements.txt`, `demo-builder` will run **both** the Python and Node `build` steps. -- If your project has no related files, `demo-builder` will fail to `detect` and exit. diff --git a/content/docs/concepts/components/base-images/build.md b/content/docs/concepts/components/base-images/build.md deleted file mode 100644 index ae96b11f0..000000000 --- a/content/docs/concepts/components/base-images/build.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -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/builder.md b/content/docs/concepts/components/builder.md deleted file mode 100644 index f98b3077f..000000000 --- a/content/docs/concepts/components/builder.md +++ /dev/null @@ -1,32 +0,0 @@ -+++ -title="Builder" -weight=1 -summary="A builder is an image that contains all the components necessary to execute a build. A builder image is created by taking a build image and adding a lifecycle, buildpacks, and files that configure aspects of the build including the buildpack detection order and the location(s) of the run image" -aliases=[ - "/docs/using-pack/working-with-builders/" -] -+++ - -## What is a builder? - -{{< param "summary" >}} - -![create-builder diagram](/docs/concepts/components/create-builder.svg) - -## Anatomy of a builder - -A builder consists of the following components: - -* [Buildpacks][buildpack] -* 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 - -To learn how to create your own builder, see our [Operator's Guide][operator-guide]. - -[builder-config]: /docs/reference/builder-config/ -[operator-guide]: /docs/operator-guide/ -[buildpack]: /docs/concepts/components/buildpack/ -[lifecycle]: /docs/concepts/components/lifecycle/ diff --git a/content/docs/concepts/components/lifecycle/_index.md b/content/docs/concepts/components/lifecycle/_index.md deleted file mode 100644 index c8d306569..000000000 --- a/content/docs/concepts/components/lifecycle/_index.md +++ /dev/null @@ -1,12 +0,0 @@ -+++ -title="Lifecycle" -weight=3 -include_summaries=true -expand=false -+++ - -## What is the lifecycle? - -The lifecycle orchestrates buildpack execution, then assembles the resulting artifacts into a final app image. - - diff --git a/content/docs/concepts/components/lifecycle/build.md b/content/docs/concepts/components/lifecycle/build.md deleted file mode 100644 index b6efdffad..000000000 --- a/content/docs/concepts/components/lifecycle/build.md +++ /dev/null @@ -1,18 +0,0 @@ -+++ -title="Build" -weight=4 -summary="Transforms application source code into runnable artifacts that can be packaged into a container." -+++ - -{{< param "summary" >}} - -### Exit Codes - -| Exit Code | Result| -|-----------------|-------| -| `0` | Success -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `1-10`, `13-19` | Generic lifecycle errors -| `51` | Buildpack build error -| `50`, `52-59` | Build-specific lifecycle errors diff --git a/content/docs/concepts/components/lifecycle/create.md b/content/docs/concepts/components/lifecycle/create.md deleted file mode 100644 index cf8b47488..000000000 --- a/content/docs/concepts/components/lifecycle/create.md +++ /dev/null @@ -1,21 +0,0 @@ -+++ -title="Create" -weight=6 -summary="Runs analyze, detect, restore, build, and export in a single command." -+++ - -{{< param "summary" >}} - -### Exit Codes - -| Exit Code | Result| -|-----------------|-------| -| `0` | Success -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `1-10`, `13-19` | Generic lifecycle errors -| `20-29` | Detection-specific lifecycle errors -| `30-39` | Analysis-specific lifecycle errors -| `40-49` | Restoration-specific lifecycle errors -| `50-59` | Build-specific lifecycle errors -| `60-69` | Export-specific lifecycle errors diff --git a/content/docs/concepts/components/lifecycle/launch.md b/content/docs/concepts/components/lifecycle/launch.md deleted file mode 100644 index bf0252248..000000000 --- a/content/docs/concepts/components/lifecycle/launch.md +++ /dev/null @@ -1,15 +0,0 @@ -+++ -title="Launch" -weight=7 -summary="The entrypoint for the final OCI image. Responsible for launching application processes." -+++ - -{{< param "summary" >}} - -### Exit Codes - -| Exit Code | Result| -|-----------|-------| -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `80-89` | Launch-specific lifecycle errors diff --git a/content/docs/concepts/components/lifecycle/rebase.md b/content/docs/concepts/components/lifecycle/rebase.md deleted file mode 100644 index 89b2b0cc2..000000000 --- a/content/docs/concepts/components/lifecycle/rebase.md +++ /dev/null @@ -1,17 +0,0 @@ -+++ -title="Rebase" -weight=8 -summary="Rebase application layers onto a new run image." -+++ - -{{< param "summary" >}} - -### Exit Codes - -| Exit Code | Result| -|-----------------|-------| -| `0` | Success -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `1-10`, `13-19` | Generic lifecycle errors -| `70-79` | Rebase-specific lifecycle errors diff --git a/content/docs/concepts/components/lifecycle/restore.md b/content/docs/concepts/components/lifecycle/restore.md deleted file mode 100644 index 4da6898b3..000000000 --- a/content/docs/concepts/components/lifecycle/restore.md +++ /dev/null @@ -1,17 +0,0 @@ -+++ -title="Restore" -weight=3 -summary="Restores layers from the cache." -+++ - -{{< param "summary" >}} - -### Exit Codes - -| Exit Code | Result| -|-----------------|-------| -| `0` | Success -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `1-10`, `13-19` | Generic lifecycle errors -| `40-49` | Restoration-specific lifecycle errors diff --git a/content/docs/concepts/operations/build.md b/content/docs/concepts/operations/build.md deleted file mode 100644 index cbd8bd1e5..000000000 --- a/content/docs/concepts/operations/build.md +++ /dev/null @@ -1,18 +0,0 @@ -+++ -title="Build" -weight=1 -summary="Build is the process of executing one or more buildpacks against the app’s source code to produce a runnable OCI image." -+++ - -## Building explained - -![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. - -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 build image, resulting in a [builder](/docs/concepts/components/builder) image. -Builders provide a convenient way to distribute buildpacks. diff --git a/content/docs/extension-guide/_index.md b/content/docs/extension-guide/_index.md deleted file mode 100644 index d2b171892..000000000 --- a/content/docs/extension-guide/_index.md +++ /dev/null @@ -1,10 +0,0 @@ -+++ -title="Extension Guide" -weight=4 -include_summaries=true -expand=true -aliases=[ - "/docs/create-extension/", - "/docs/create-author-extension/" -] -+++ diff --git a/content/docs/extension-guide/consume-extension/_index.md b/content/docs/extension-guide/consume-extension/_index.md deleted file mode 100644 index a82e0d5f9..000000000 --- a/content/docs/extension-guide/consume-extension/_index.md +++ /dev/null @@ -1,32 +0,0 @@ -+++ -title="Consume an extension" -weight=4 -summary="A few notes to help you consume extensions" -aliases = [ - "/docs/extension-author-guide/create-extension" - ] -+++ - - -## Prerequisites - -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 {{}} -{{< download-button href="/docs/install-pack" color="pink" >}} Install pack {{}} - -You may also need to [create an extension](/docs/extension-guide/create-extension) so that you can consume it. - -## Overview - - -This is a few notes for using CNB image extensions. - -- [consume in your builder](/docs/extension-guide/consume-extension/in-builder) -- [consume via pack build](/docs/extension-guide/consume-extension/from-cli) - - ---- - -Start Tutorial - diff --git a/content/docs/extension-guide/consume-extension/from-cli.md b/content/docs/extension-guide/consume-extension/from-cli.md deleted file mode 100644 index 46e92ec5a..000000000 --- a/content/docs/extension-guide/consume-extension/from-cli.md +++ /dev/null @@ -1,14 +0,0 @@ -+++ -title="Specifying an Image Extension at Build Time" -weight=405 -+++ - - - -### Specifying an Image Extension at Build Time - -No builder can be truly omniscient, and whoever did yours surely was no exception! You need to add a little extra spice to the mix with this late-breaking extension, by doing something like: - -`pack build [...] --extension=foo [...]` - - diff --git a/content/docs/extension-guide/create-extension/_index.md b/content/docs/extension-guide/create-extension/_index.md deleted file mode 100644 index 2ec44ee1d..000000000 --- a/content/docs/extension-guide/create-extension/_index.md +++ /dev/null @@ -1,33 +0,0 @@ -+++ -title="Create an extension" -weight=4 -summary="This is a step-by-step tutorial for creating and using CNB image extensions" -aliases = [ - "/docs/extension-author-guide/create-extension" - ] -+++ - - -## Prerequisites - -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 {{}} -{{< download-button href="/docs/install-pack" color="pink" >}} Install pack {{}} - -## Overview - - -This is a step-by-step tutorial for creating and using CNB image extensions. - -- [Set up your local environment](/docs/extension-guide/create-extension/setup-local-environment) -- [See a build that requires base image extension in order to succeed](/docs/extension-guide/create-extension/why-dockerfiles) -- [Building blocks of an extension](/docs/extension-guide/create-extension/building-blocks-extension) -- [Generating a build.Dockerfile for your application](/docs/extension-guide/create-extension/build-dockerfile) -- [Generating a run.Dockerfile for your application](/docs/extension-guide/create-extension/run-dockerfile-switch) - - ---- - -Start Tutorial - diff --git a/content/docs/concepts/components/_index.md b/content/docs/for-app-developers/_index.md similarity index 52% rename from content/docs/concepts/components/_index.md rename to content/docs/for-app-developers/_index.md index 23033f99c..5b2ec2294 100644 --- a/content/docs/concepts/components/_index.md +++ b/content/docs/for-app-developers/_index.md @@ -1,7 +1,6 @@ +++ -title="Components" +title="For App Developers" weight=1 -include_summaries=true -summaries_max_depth=1 expand=true -+++ \ No newline at end of file +include_summaries=true ++++ diff --git a/content/docs/for-app-developers/concepts/_index.md b/content/docs/for-app-developers/concepts/_index.md new file mode 100644 index 000000000..5499dd59b --- /dev/null +++ b/content/docs/for-app-developers/concepts/_index.md @@ -0,0 +1,5 @@ ++++ +title="Concepts" +weight=2 +include_summaries=true ++++ diff --git a/content/docs/for-app-developers/concepts/base-images/_index.md b/content/docs/for-app-developers/concepts/base-images/_index.md new file mode 100644 index 000000000..2094e416c --- /dev/null +++ b/content/docs/for-app-developers/concepts/base-images/_index.md @@ -0,0 +1,5 @@ ++++ +title="What are base images?" +weight=5 +include_summaries=true ++++ diff --git a/content/docs/for-app-developers/concepts/base-images/build.md b/content/docs/for-app-developers/concepts/base-images/build.md new file mode 100644 index 000000000..20b247e38 --- /dev/null +++ b/content/docs/for-app-developers/concepts/base-images/build.md @@ -0,0 +1,14 @@ ++++ +title="Build image" +weight=1 ++++ + +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] +(and thereby [buildpacks][buildpack]) are executed. + +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ +[buildpack]: /docs/for-app-developers/concepts/buildpack/ diff --git a/content/docs/concepts/components/base-images/run.md b/content/docs/for-app-developers/concepts/base-images/run.md similarity index 96% rename from content/docs/concepts/components/base-images/run.md rename to content/docs/for-app-developers/concepts/base-images/run.md index 0dcc563e3..6a3200175 100644 --- a/content/docs/concepts/components/base-images/run.md +++ b/content/docs/for-app-developers/concepts/base-images/run.md @@ -1,11 +1,16 @@ + +++ title="Run image" +aliases=[ + "/docs/concepts/components/base-images/run" +] 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 diff --git a/content/docs/concepts/components/stack.md b/content/docs/for-app-developers/concepts/base-images/stack.md similarity index 63% rename from content/docs/concepts/components/stack.md rename to content/docs/for-app-developers/concepts/base-images/stack.md index 19386c82c..4642e0f76 100644 --- a/content/docs/concepts/components/stack.md +++ b/content/docs/for-app-developers/concepts/base-images/stack.md @@ -1,23 +1,25 @@ + +++ title="Stack" -weight=4 aliases=[ - "/docs/using-pack/stacks/" + "/docs/concepts/components/stack", + "/docs/using-pack/stacks/" ] +weight=99 +++ -## What is a stack? - A stack (deprecated) is the grouping together of the build and run base images, represented by a unique ID. + + 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/) +* Platform API 0.12 [migration guide](/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12/) +* Buildpack API 0.10 [migration guide](/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.9-0.10/) +* [Build image](/docs/for-app-developers/concepts/base-images/build/) concept +* [Run image](/docs/for-app-developers/concepts/base-images/run/) concept +* [Target data](/docs/for-buildpack-authors/concepts/targets/) For older API versions, see below on using stacks. @@ -52,7 +54,7 @@ By providing the required `[stack]` section, a builder author can configure a st To learn how to create your own stack, see our [Operator's Guide][operator-guide]. -[operator-guide]: /docs/operator-guide/ -[builder]: /docs/concepts/components/builder/ -[buildpack]: /docs/concepts/components/buildpack/ -[lifecycle]: /docs/concepts/components/lifecycle/ +[operator-guide]: /docs/for-platform-operators/ +[builder]: /docs/for-platform-operators/concepts/builder/ +[buildpack]: /docs/for-platform-operators/concepts/buildpack/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ diff --git a/content/docs/for-app-developers/concepts/build.md b/content/docs/for-app-developers/concepts/build.md new file mode 100644 index 000000000..6a460337e --- /dev/null +++ b/content/docs/for-app-developers/concepts/build.md @@ -0,0 +1,27 @@ ++++ +title="What happens during build?" +weight=3 ++++ + +`Build` is the process of executing one or more [buildpacks][buildpack] against an application's source code to produce a runnable OCI image. + + + +## Building explained + +![build diagram](/docs/for-app-developers/concepts/build.svg) + +Each [buildpack] inspects the source code and provides relevant dependencies. +An image is then generated from the app's source code and these dependencies. + +During the build process, the [build-time base image] becomes the environment in which buildpacks are executed, +and the [runtime base image] becomes the base for the final app image. + +[Buildpacks][buildpack] can be bundled together with a specific [build-time base image], resulting in a [builder] image. +Builders provide a convenient way to distribute buildpacks. + +[build-time base image]: /docs/for-app-developers/concepts/base-images/build/ +[builder]: /docs/for-platform-operators/concepts/builder +[buildpack]: /docs/for-app-developers/concepts/buildpack/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ +[runtime base image]: /docs/for-app-developers/concepts/base-images/run/ diff --git a/content/docs/concepts/operations/build.svg b/content/docs/for-app-developers/concepts/build.svg similarity index 100% rename from content/docs/concepts/operations/build.svg rename to content/docs/for-app-developers/concepts/build.svg diff --git a/content/docs/for-app-developers/concepts/builder.md b/content/docs/for-app-developers/concepts/builder.md new file mode 100644 index 000000000..d203e922a --- /dev/null +++ b/content/docs/for-app-developers/concepts/builder.md @@ -0,0 +1,33 @@ ++++ +title="What is a builder?" +weight=2 ++++ + +A `builder` is an [OCI image](https://github.com/opencontainers/image-spec) containing +an ordered combination of [buildpacks][buildpack] and +a [build-time base image], a [lifecycle] binary, and a reference to a [runtime base image]. + + + +The [build-time base image] provides the base environment for the `builder` +(e.g., an Ubuntu Jammy OS image with build tooling) and +a [runtime base image] provides the base environment for the `app image` during runtime. + +![builder](/docs/for-app-developers/concepts/builder.svg) + +Under the hood a builder uses the [lifecycle] to run the `detect` phase for all the `buildpacks` it contains, in order, +and then proceeds to run the `build` phase for all the `buildpacks` that passed detection. + +This allows us to have a **single** `builder` that can detect and build various kinds of applications automatically. + +For example, let's say `demo-builder` contains the `Python` and `Node` buildpack. Then - + +- If your project just has a `requirements.txt`, `demo-builder` will only run the Python `build` steps. +- If your project just has a `package-lock.json`, `demo-builder` will only run the Node `build` steps. +- If your project has both `package-lock.json` and `requirements.txt`, `demo-builder` will run **both** the Python and Node `build` steps. +- If your project has no related files, `demo-builder` will fail to `detect` and exit. + +[build-time base image]: /docs/for-app-developers/concepts/base-images/build/ +[buildpack]: /docs/for-app-developers/concepts/buildpack/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ +[runtime base image]: /docs/for-app-developers/concepts/base-images/run/ diff --git a/content/docs/concepts/builder.svg b/content/docs/for-app-developers/concepts/builder.svg similarity index 100% rename from content/docs/concepts/builder.svg rename to content/docs/for-app-developers/concepts/builder.svg diff --git a/content/docs/for-app-developers/concepts/buildpack.md b/content/docs/for-app-developers/concepts/buildpack.md new file mode 100644 index 000000000..35b10cec3 --- /dev/null +++ b/content/docs/for-app-developers/concepts/buildpack.md @@ -0,0 +1,39 @@ ++++ +title="What is a buildpack?" +weight=1 ++++ + +A `buildpack` is software that examines your source code and determines the best way to build it. + + + +![buildpacks](/docs/for-app-developers/concepts/what.svg) + +## How do they work? + +![how](/docs/for-app-developers/concepts/how.svg) + +**Each buildpack has two phases** + +### Detect phase + +The `detect` phase runs against your source code to determine if the buildpack is applicable or not. +Once a buildpack is `detected` to be applicable, it proceeds to the `build` stage. If the project fails `detection` the `build` stage for a specific buildpack is skipped. + +For example: + +- A Python buildpack may look for a `requirements.txt` or a `setup.py` file pass +- A Node buildpack may look for a `package-lock.json` file to pass + +### Build phase + +The `build` phase runs against your source code to - + +- Set up the build-time and run-time environment +- Download dependencies and compile your source code (if needed) +- Set appropriate entry point and startup scripts + +For example: + +- A Python buildpack may run `pip install -r requirements.txt` if it detected a `requirements.txt` file +- A Node buildpack may run `npm install` if it detected a `package-lock.json` file diff --git a/content/docs/concepts/how.svg b/content/docs/for-app-developers/concepts/how.svg similarity index 100% rename from content/docs/concepts/how.svg rename to content/docs/for-app-developers/concepts/how.svg diff --git a/content/docs/concepts/components/platform.md b/content/docs/for-app-developers/concepts/platform.md similarity index 66% rename from content/docs/concepts/components/platform.md rename to content/docs/for-app-developers/concepts/platform.md index d7052e2ea..780ce0ce7 100644 --- a/content/docs/concepts/components/platform.md +++ b/content/docs/for-app-developers/concepts/platform.md @@ -1,11 +1,14 @@ + +++ -title="Platform" -weight=3 +title="What is a platform?" +aliases=[ + "/docs/concepts/components/platform" +] +weight=4 +++ -## What is a Platform? - -A `platform` uses a [lifecycle][lifecycle], [buildpacks][buildpack] (packaged in a [builder][builder]), and application source code to produce an OCI image. +A `platform` orchestrates [builds][build] by invoking the [lifecycle] binary together with [buildpacks][buildpack] and +application source code to produce a runnable OCI image. @@ -14,7 +17,7 @@ A `platform` uses a [lifecycle][lifecycle], [buildpacks][buildpack] (packaged in Examples of a platform might include: * A local CLI tool that uses buildpacks to create OCI images. One such tool is the [Pack CLI][pack] -* A plugin for a continuous integration service that uses buildpacks to create OCI images. One such plugin is the [buildpacks][buildpacks-tekton] plugin in [Tekton][tekton] +* A plugin for a continuous integration service that uses buildpacks to create OCI images. One such plugin is the [buildpacks][buildpacks-tekton] plugin in [Tekton] * A cloud application platform that uses buildpacks to build source code before deployment. One such platform is [kpack][kpack] ## API @@ -23,13 +26,14 @@ The platform [specification][spec] details what a platform does, and how it inte For the latest version of the Platform API, see [releases][releases] on the spec repo. -[builder]: /docs/concepts/components/builder/ -[buildpack]: /docs/concepts/components/buildpack/ -[lifecycle]: /docs/concepts/components/lifecycle/ -[spec]: https://github.com/buildpacks/spec/blob/main/platform.md -[pack]: https://github.com/buildpacks/pack +[api-version]: https://github.com/buildpacks/spec/blob/main/platform.md#platform-api-version +[build]: /docs/for-platform-operators/concepts/lifecycle/ +[builder]: /docs/for-app-developers/concepts/builder/ +[buildpack]: /docs/for-app-developers/concepts/buildpack/ [buildpacks-tekton]: https://github.com/tektoncd/catalog/tree/master/task/buildpacks -[tekton]: https://tekton.dev/ [kpack]: https://github.com/pivotal/kpack -[api-version]: https://github.com/buildpacks/spec/blob/main/platform.md#platform-api-version +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ +[pack]: https://github.com/buildpacks/pack [releases]: https://github.com/buildpacks/spec/releases?q=platform +[spec]: https://github.com/buildpacks/spec/blob/main/platform.md +[tekton]: https://tekton.dev/ diff --git a/content/docs/concepts/operations/rebase.md b/content/docs/for-app-developers/concepts/rebase.md similarity index 56% rename from content/docs/concepts/operations/rebase.md rename to content/docs/for-app-developers/concepts/rebase.md index cb2d8d9b3..6a488a1aa 100644 --- a/content/docs/concepts/operations/rebase.md +++ b/content/docs/for-app-developers/concepts/rebase.md @@ -1,21 +1,26 @@ + +++ -title="Rebase" -weight=2 -summary="Rebase allows app developers or operators to rapidly update an app image when its run image has changed." +title="What happens during rebase?" aliases=[ - "/docs/using-pack/update-app-rebase/" + "/docs/concepts/operations/rebase", + "/docs/using-pack/update-app-rebase/" ] +weight=4 +++ +`Rebase` allows app developers or operators to rapidly update an app image when its [runtime base image] has changed. + + + ### Rebasing explained -{{< param "summary" >}} By using image layer rebasing, this command avoids the need to fully rebuild the app. +By using image layer rebasing, this command avoids the need to fully rebuild the app. -![rebase diagram](/docs/concepts/operations/rebase.svg) +![rebase diagram](/docs/for-app-developers/concepts/rebase.svg) At its core, image rebasing is a simple process. By inspecting an app image, `rebase` can determine whether or not a -newer version of the app's base image exists (either locally or in a registry). If so, `rebase` updates the app image's -layer metadata to reference the newer base image version. +newer version of the app's base image exists (either locally or in a registry). +If so, `rebase` updates the app image's layer metadata to reference the newer base image version. ### Example: Rebasing an app image @@ -30,4 +35,4 @@ $ pack rebase my-app:my-tag > **TIP:** `pack rebase` has a `--publish` flag that can be used to publish the updated app image directly to a registry. > Using `--publish` is optimal when using a registry in comparison to the docker daemon. -[build]: /docs/app-developer-guide/build-an-app/ \ No newline at end of file +[runtime base image]: /docs/for-app-developers/concepts/base-images/run/ diff --git a/content/docs/concepts/operations/rebase.svg b/content/docs/for-app-developers/concepts/rebase.svg similarity index 100% rename from content/docs/concepts/operations/rebase.svg rename to content/docs/for-app-developers/concepts/rebase.svg diff --git a/content/docs/features/reproducibility.md b/content/docs/for-app-developers/concepts/reproducibility.md similarity index 85% rename from content/docs/features/reproducibility.md rename to content/docs/for-app-developers/concepts/reproducibility.md index be225d7be..8c5309d11 100644 --- a/content/docs/features/reproducibility.md +++ b/content/docs/for-app-developers/concepts/reproducibility.md @@ -1,13 +1,25 @@ + +++ -title="Reproducibility" -aliases=["/docs/reference/reproducibility"] +title="What is build reproducibility?" +aliases=[ + "/docs/features/reproducibility", + "/docs/reference/reproducibility" +] +weight=6 +++ -## Summary -The Cloud Native Buildpacks project aims to create "Reproducible Builds" of container images. For image creation commands (`builder create`, `buildpack package`, `build`) `pack` creates container images in a reproducible fashion. "Reproducible" is hard to define but we'll do so by example and with a few caveats: +Given the same inputs, two builds should produce the same outputs. +## Summary + +The Cloud Native Buildpacks project aims to create "Reproducible Builds" of container images. + +For image creation commands (`builder create`, `buildpack package`, `build`) `pack` creates container images in a reproducible fashion. + +"Reproducible" is hard to define, but we'll do so by example and with a few caveats: + ## Examples --- Running `pack build sample-hello-moon:test` multiple times produces a container image with the same image ID (*local* case) diff --git a/content/docs/concepts/what.svg b/content/docs/for-app-developers/concepts/what.svg similarity index 100% rename from content/docs/concepts/what.svg rename to content/docs/for-app-developers/concepts/what.svg diff --git a/content/docs/features/_index.md b/content/docs/for-app-developers/how-to/_index.md similarity index 52% rename from content/docs/features/_index.md rename to content/docs/for-app-developers/how-to/_index.md index 82140c9ef..ae3a24721 100644 --- a/content/docs/features/_index.md +++ b/content/docs/for-app-developers/how-to/_index.md @@ -1,6 +1,6 @@ +++ -title="Features" +title="How To" weight=3 + include_summaries=true -expand=false -+++ \ No newline at end of file ++++ diff --git a/content/docs/features/experimental/_index.md b/content/docs/for-app-developers/how-to/build-inputs/_index.md similarity index 54% rename from content/docs/features/experimental/_index.md rename to content/docs/for-app-developers/how-to/build-inputs/_index.md index d86c4e808..86c4420f2 100644 --- a/content/docs/features/experimental/_index.md +++ b/content/docs/for-app-developers/how-to/build-inputs/_index.md @@ -1,6 +1,5 @@ +++ -title="Experimental" +title="Configure build inputs" weight=1 include_summaries=true -expand=false +++ diff --git a/content/docs/app-developer-guide/environment-variables.md b/content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md similarity index 93% rename from content/docs/app-developer-guide/environment-variables.md rename to content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md index c5895ef67..817725886 100644 --- a/content/docs/app-developer-guide/environment-variables.md +++ b/content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md @@ -1,14 +1,17 @@ + +++ -title="Environment variables" -weight=3 -summary="Environment variables are a common way to configure various buildpacks at build-time." +title="Customize buildpack behavior with build-time environment variables" +aliases=[ + "/docs/app-developer-guide/environment-variables" +] +weight=2 +++ - + Environment variables are a common way to configure various buildpacks at build-time. -Below are a few ways you can do so. All of them will use our [samples][samples] repo for simplicity. + + +Below are a few ways you can do so. All of them will use our [samples] repo for simplicity. ### Using CLI arguments (`--env`) @@ -148,4 +151,4 @@ The following environment variables were set and available to buildpacks at buil >`name=FOO` to the `project.toml`, it wouldn't detect any value set for `FOO`). [descriptor-schema]: /docs/reference/project-descriptor/ -[samples]: https://github.com/buildpacks/samples \ No newline at end of file +[samples]: https://github.com/buildpacks/samples diff --git a/content/docs/app-developer-guide/specify-buildpacks.md b/content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md similarity index 82% rename from content/docs/app-developer-guide/specify-buildpacks.md rename to content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md index e94f546e0..50bc6ead9 100644 --- a/content/docs/app-developer-guide/specify-buildpacks.md +++ b/content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md @@ -1,16 +1,17 @@ + +++ -title="Specify buildpacks" -weight=4 -summary="Learn how to specify exactly what buildpacks are used during the build process." +title="Specify buildpacks or extensions at build time" +aliases=[ + "/docs/app-developer-guide/specify-buildpacks" +] +weight=1 +summary="No builder author can be truly omniscient, and whoever created yours surely was no exception!" +++ - You may specify exactly what buildpacks are used during the build process by referencing them with a URI in any of the following formats. | Type | Format | -| --------------------- | -------------------------------------------- | +|-----------------------|----------------------------------------------| | Relative | `` | | Filesystem | `file://[]/` | | URL | `http[s]:///` | @@ -20,7 +21,8 @@ You may specify exactly what buildpacks are used during the build process by ref ##### Fallback Behavior -When a string does not include a scheme prefix (ex. `docker://`) and also does not match a path on the filesystem, a platform may attempt to resolve it to a URI in the following order: +When a string does not include a scheme prefix (ex. `docker://`) and also does not match a path on the filesystem, +a platform may attempt to resolve it to a URI in the following order: - If it matches a buildpack ID in the builder, it will be treated as a `urn:cnb:builder` URI - If it looks like a Docker ref, it will be treated as a `docker://` URI - If it looks like a Buildpack Registry ID, it will be treated as a `urn:cnb:registry` URI @@ -50,7 +52,11 @@ pack build sample-java-maven-app \ > - `--buildpack` multiple times, or > - a comma-separated list to `--buildpack` (without spaces) +Similarly, it is possible to provide extensions at build time: +```bash +pack build [...] --extension=foo [...]` +``` ## Using a Project Descriptor @@ -105,5 +111,5 @@ A buildpack located in a CNB Registry Directory buildpacks are not currently supported on Windows.
Version may be omitted if there is only one buildpack in the builder matching the `id`. -[project-toml]: /docs/app-developer-guide/using-project-descriptor/ -[samples]: https://github.com/buildpacks/samples \ No newline at end of file +[project-toml]: /docs/for-app-developers/how-to/build-inputs/use-project-toml/ +[samples]: https://github.com/buildpacks/samples diff --git a/content/docs/for-app-developers/how-to/build-inputs/specify-default-launch-process.md b/content/docs/for-app-developers/how-to/build-inputs/specify-default-launch-process.md new file mode 100644 index 000000000..e8a737933 --- /dev/null +++ b/content/docs/for-app-developers/how-to/build-inputs/specify-default-launch-process.md @@ -0,0 +1,9 @@ ++++ +title="Specify the default launch process" +weight=99 +summary="Buildpacks can define multiple processes for an application image. Specify which process should be the default." ++++ + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/app-developer-guide/using-cache-image.md b/content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md similarity index 94% rename from content/docs/app-developer-guide/using-cache-image.md rename to content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md index cf5c1ed31..b11c61779 100644 --- a/content/docs/app-developer-guide/using-cache-image.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md @@ -1,16 +1,16 @@ + +++ -title="Cache Images" -weight=4 -summary="Learn how to use cache-images to share cached layers" +title="Use a cache image" +aliases=[ + "/docs/app-developer-guide/using-cache-image" +] +weight=6 +summary="Share layers between builds with a cache image." +++ - -Cache Images are a way to preserve build optimizing layers across different host machines. +Cache images are a way to preserve build-optimizing layers across different host machines. These images can improve performance when using `pack` in ephemeral environments such as CI/CD pipelines. - ## Using Cache Images (`--cache-image`) The `--cache-image` parameter must be in the following format diff --git a/content/docs/app-developer-guide/using-inline-buildpacks.md b/content/docs/for-app-developers/how-to/build-inputs/use-inline-buildpacks.md similarity index 89% rename from content/docs/app-developer-guide/using-inline-buildpacks.md rename to content/docs/for-app-developers/how-to/build-inputs/use-inline-buildpacks.md index 4ffe75d8c..e0b91293c 100644 --- a/content/docs/app-developer-guide/using-inline-buildpacks.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-inline-buildpacks.md @@ -1,7 +1,11 @@ + +++ -title="Using Inline Buildpacks" -weight=7 -summary="Learn how to create an ephemeral buildpack to customize your build." +title="Use an inline buildpack" +aliases=[ + "/docs/app-developer-guide/using-inline-buildpacks" +] +weight=5 +summary="Customize your build with a bit of shell script." +++ You can supplement your app's build process with custom scripts by creating an _inline buildpack_. An inline buildpack is an ephemeral buildpack that's defined in your [project descriptor][project-toml] (i.e. `project.toml`). You can include a script to run as part of the build without setting up all the files and directories that are required for a complete buildpack. @@ -54,6 +58,6 @@ EOF ### Further Reading For more about project descriptors, look at the [schema][descriptor-schema], as well as the [specification][spec]. -[project-toml]: /docs/app-developer-guide/using-project-descriptor/ +[project-toml]: /docs/for-app-developers/how-to/build-inputs/use-project-toml/ [descriptor-schema]: /docs/reference/project-descriptor/ [spec]: https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md diff --git a/content/docs/app-developer-guide/using-project-descriptor.md b/content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md similarity index 90% rename from content/docs/app-developer-guide/using-project-descriptor.md rename to content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md index cf8ac7be2..121ee73e3 100644 --- a/content/docs/app-developer-guide/using-project-descriptor.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md @@ -1,7 +1,11 @@ + +++ -title="Using project.toml" -weight=6 -summary="Learn how to use a project.toml file to simplify configuring pack." +title="Use project.toml" +aliases=[ + "/docs/app-developer-guide/using-project-descriptor" +] +weight=4 +summary="Simplify your `pack` configuration." +++ A `project descriptor` (alternatively referred to as a `project.toml` file) allows users to detail configuration for a @@ -106,8 +110,8 @@ docker run sample-app ### Further Reading For more about project descriptors, look at the [schema][descriptor-schema], as well as the [specification][spec]. -[specify-buildpacks]: /docs/app-developer-guide/specify-buildpacks/ -[descriptor-envs]: /docs/app-developer-guide/environment-variables/#using-project-descriptor +[specify-buildpacks]: /docs/for-app-developers/how-to/build-inputs/specify-buildpacks +[descriptor-envs]: /docs/for-app-developers/how-to/build-inputs/configure-build-time-environment/#using-project-descriptor [descriptor-schema]: /docs/reference/project-descriptor/ [samples]: https://github.com/buildpacks/samples [spec]: https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md diff --git a/content/docs/app-developer-guide/mounting-volumes.md b/content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md similarity index 87% rename from content/docs/app-developer-guide/mounting-volumes.md rename to content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md index d0f0de2d6..e5dc705f7 100644 --- a/content/docs/app-developer-guide/mounting-volumes.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md @@ -1,16 +1,12 @@ + +++ -title="Mounting Volumes" -weight=4 -summary="Volumes are a mechanism for both supplying and persisting data generated by build containers." +title="Mount volumes at build-time" +aliases=[ + "/docs/app-developer-guide/mounting-volumes" +] +weight=3 +summary="Supply and persist data from build containers with arbitrary volume mounts." +++ - -{{< param "summary" >}} - - ## Mounting Volumes (`--volume`) @@ -108,4 +104,4 @@ Since we are using the `samples/hello-world` buildpack, we should see the `/plat [builder] -rw-r--r-- 1 root root 21 Sep 17 20:18 volume_contents.txt ``` -[samples]: https://github.com/buildpack/samples \ No newline at end of file +[samples]: https://github.com/buildpack/samples diff --git a/content/docs/for-app-developers/how-to/build-outputs/_index.md b/content/docs/for-app-developers/how-to/build-outputs/_index.md new file mode 100644 index 000000000..4333afb1f --- /dev/null +++ b/content/docs/for-app-developers/how-to/build-outputs/_index.md @@ -0,0 +1,5 @@ ++++ +title="Understand build outputs" +weight=2 +include_summaries=true ++++ diff --git a/content/docs/features/bill-of-materials.md b/content/docs/for-app-developers/how-to/build-outputs/download-sbom.md similarity index 55% rename from content/docs/features/bill-of-materials.md rename to content/docs/for-app-developers/how-to/build-outputs/download-sbom.md index 8ac136d71..128a09446 100644 --- a/content/docs/features/bill-of-materials.md +++ b/content/docs/for-app-developers/how-to/build-outputs/download-sbom.md @@ -1,29 +1,34 @@ + +++ -title="Software Bill of Materials" -summary="A `Software Bill-of-Materials` (`SBoM`) gives you a layer-by-layer view of what's inside your container in a variety of formats." +title="Download a Software Bill-of-Materials (SBOM)" +aliases=[ + "/docs/features/bill-of-materials" +] +summary="An SBOM can give you a layer-by-layer view of what's inside your application image." +weight=3 +++ ## Summary -A **Software-Bill-of-Materials** (`SBoM`) lists all the software components included in an image. Cloud Native Buildpacks provides all the transparency you need to have confidence in your image supply chain. Software-Bill-of-Materials in [CycloneDX](https://cyclonedx.org/), [Syft](https://github.com/anchore/syft) and [Spdx](https://spdx.dev/) formats are supported. +A **Software-Bill-of-Materials** (`SBOM`) lists all the software components included in an image. Cloud Native Buildpacks provides all the transparency you need to have confidence in your image supply chain. Software-Bill-of-Materials in [CycloneDX](https://cyclonedx.org/), [Syft](https://github.com/anchore/syft) and [Spdx](https://spdx.dev/) formats are supported. -1. Buildpacks can populate `SBoM` information about the dependencies they have provided. +1. Buildpacks can populate `SBOM` information about the dependencies they have provided. ## Viewing Bill of Materials -You can use the `sbom download` command to inspect your app for its Software-Bill-of-Materials. The following command will download the application layer containing the `SBoM` files to `./layers/sbom/...` on your local filesystem. +You can use the `sbom download` command to inspect your app for its Software-Bill-of-Materials. The following command will download the application layer containing the `SBOM` files to `./layers/sbom/...` on your local filesystem. ```bash pack sbom download your-image-name ``` -You can also choose to download the `SBoM` from an image hosted in a remote registry, as opposed to an image hosted in a Docker daemon. You use the `--remote` flag to do so. +You can also choose to download the `SBOM` from an image hosted in a remote registry, as opposed to an image hosted in a Docker daemon. You use the `--remote` flag to do so. ```bash pack sbom download your-image-name --remote ``` -The following example demonstrates running `pack sbom download ...` on an image containing an `SBoM` in `syft` format. Running `pack sbom download ...` creates a `layers/sbom` directory and populates that directory with `sbom.syft.json` files. The combined metadata from all of the `sbom.syft.json` files is the image `SBoM`. Where an image generates CycloneDX `SBoM` metadata, the files are named `sbom.cdx.json`. Similarly, Spdx files are named `sbom.spdx.json`. +The following example demonstrates running `pack sbom download ...` on an image containing an `SBOM` in `syft` format. Running `pack sbom download ...` creates a `layers/sbom` directory and populates that directory with `sbom.syft.json` files. The combined metadata from all of the `sbom.syft.json` files is the image `SBOM`. Where an image generates CycloneDX `SBOM` metadata, the files are named `sbom.cdx.json`. Similarly, Spdx files are named `sbom.spdx.json`. ```bash layers @@ -34,11 +39,3 @@ layers │ └── sbom.syft.json └── sbom.syft.json ``` - -## Adding Bill of Materials - -[`pack`](https://github.com/buildpacks/pack), [`kpack`](https://github.com/pivotal/kpack) and [tekton](https://tekton.dev/) users will find that images created using these tools contain an SBoM. - -Developers writing a new buildpack or updating an existing buildpack should use the [Adding bill of materials][adding-bill-of-materials] tutorial to incorporate a `Bill-of-Materials` in their buildpack. - -[adding-bill-of-materials]: /docs/buildpack-author-guide/create-buildpack/adding-bill-of-materials/ diff --git a/content/docs/for-app-developers/how-to/build-outputs/inspect-app.md b/content/docs/for-app-developers/how-to/build-outputs/inspect-app.md new file mode 100644 index 000000000..3d97b4288 --- /dev/null +++ b/content/docs/for-app-developers/how-to/build-outputs/inspect-app.md @@ -0,0 +1,38 @@ ++++ +title="Inspect your application image" +weight=2 ++++ + +Buildpacks-built images contain metadata that allow you to audit both the image itself and the build process. + + + +Information includes: +* The process types that are available and the commands associated with them +* The run-image the app image was based on +* The buildpacks were used to create the app image +* Whether the run-image can be rebased with a new version through the `Rebasable` label or not +* And more...! + +```bash +pack inspect-image test-node-js-app +``` +You should see the following: + +```text +Run Images: + cnbs/sample-base-run:jammy +... + +Buildpacks: + ID VERSION HOMEPAGE + examples/node-js 0.0.1 - + +Processes: + TYPE SHELL COMMAND ARGS WORK DIR + web (default) bash node-js app.js /workspace +``` + +Apart from the above standard metadata, buildpacks can also populate information about the dependencies they have provided in form of a `Software Bill-of-Materials` or [SBOM]. + +[SBOM]: /docs/for-app-developers/how-to/build-outputs/download-sbom diff --git a/content/docs/app-developer-guide/run-an-app.md b/content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md similarity index 96% rename from content/docs/app-developer-guide/run-an-app.md rename to content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md index a03db9a31..49416927a 100644 --- a/content/docs/app-developer-guide/run-an-app.md +++ b/content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md @@ -1,14 +1,14 @@ + +++ -title="Specify launch process" -weight=5 +title="Run the application" +aliases=[ + "/docs/app-developer-guide/run-an-app" +] +weight=1 summary="Learn how to specify the launch process for an app." +++ - +Buildpacks-built images can contain multiple process types. ### Build a multi-process app @@ -162,4 +162,4 @@ docker run --rm --entrypoint bash -it multi-process-app # profile scripts have N To learn more about the launcher, see the [platform spec](https://github.com/buildpacks/spec/blob/main/platform.md#launcher). -[samples]: https://github.com/buildpacks/samples \ No newline at end of file +[samples]: https://github.com/buildpacks/samples diff --git a/content/docs/for-app-developers/how-to/build-outputs/understand-failures.md b/content/docs/for-app-developers/how-to/build-outputs/understand-failures.md new file mode 100644 index 000000000..4c35fe79b --- /dev/null +++ b/content/docs/for-app-developers/how-to/build-outputs/understand-failures.md @@ -0,0 +1,9 @@ ++++ +title="Understand build failures" +weight=99 +summary="How to troubleshoot when things go wrong." ++++ + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-app-developers/how-to/special-cases/_index.md b/content/docs/for-app-developers/how-to/special-cases/_index.md new file mode 100644 index 000000000..eccedd9ee --- /dev/null +++ b/content/docs/for-app-developers/how-to/special-cases/_index.md @@ -0,0 +1,6 @@ ++++ +title="Build in custom environments" +weight=3 + +include_summaries=true ++++ diff --git a/content/docs/app-developer-guide/build-an-arm-app.md b/content/docs/for-app-developers/how-to/special-cases/build-for-arm.md similarity index 91% rename from content/docs/app-developer-guide/build-an-arm-app.md rename to content/docs/for-app-developers/how-to/special-cases/build-for-arm.md index cadfd5358..e2d51bd07 100644 --- a/content/docs/app-developer-guide/build-an-arm-app.md +++ b/content/docs/for-app-developers/how-to/special-cases/build-for-arm.md @@ -1,10 +1,17 @@ + +++ -title="Build an ARM app" -weight=2 -summary="The basics of taking your app from source code to runnable ARM image." +title="Build for ARM architecture" +aliases=[ + "/docs/app-developer-guide/build-an-arm-app" +] +weight=1 +++ -As of today, there are no known released CNB builder images that support building ARM application images. Users can create their own ARM64 builder image by following [this guide][this guide]. + + +As of today, there are no known released CNB builder images that support building ARM application images. + +Users can create their own ARM64 builder image by following [this guide][this guide]. In the following tutorial, we will be performing a build "manually", in that we will be performing a build by invoking the lifecycle directly. diff --git a/content/docs/app-developer-guide/build-a-windows-app.md b/content/docs/for-app-developers/how-to/special-cases/build-for-windows.md similarity index 94% rename from content/docs/app-developer-guide/build-a-windows-app.md rename to content/docs/for-app-developers/how-to/special-cases/build-for-windows.md index 2dc65f640..69f08de2f 100644 --- a/content/docs/app-developer-guide/build-a-windows-app.md +++ b/content/docs/for-app-developers/how-to/special-cases/build-for-windows.md @@ -1,9 +1,14 @@ + +++ -title="Build a Windows app" +title="Build for Windows containers" +aliases=[ + "/docs/app-developer-guide/build-a-windows-app" +] weight=2 -summary="The basics of taking your Windows app from source code to runnable image." +++ + + > **EXPERIMENTAL** Windows support is experimental! > > Enable experimental mode by running: `pack config experimental true` @@ -128,10 +133,10 @@ curl http://10.0.0.1:8080 [container-mode]: https://docs.docker.com/desktop/faqs/windowsfaqs/#how-do-i-switch-between-windows-and-linux-containers [docker-env-vars]: https://docs.docker.com/engine/reference/commandline/cli/#environment-variables [docker-hosts]: #understanding-docker-hosts -[build-linux]: /docs/app-developer-guide/build-an-app -[build]: /docs/concepts/operations/build -[builder]: /docs/concepts/components/builder -[buildpack]: /docs/concepts/components/buildpack +[build-linux]: /docs/for-app-developers/tutorials/basic-app +[build]: /docs/for-app-developers/concepts/build +[builder]: /docs/for-platform-operators/concepts/builder +[buildpack]: /docs/for-platform-operators/concepts/buildpack [samples]: https://github.com/buildpacks/samples [docker-general-settings]: https://docs.docker.com/docker-for-windows/#general [windows-openssh-server]: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse diff --git a/content/docs/app-developer-guide/building-on-podman.md b/content/docs/for-app-developers/how-to/special-cases/build-on-podman.md similarity index 90% rename from content/docs/app-developer-guide/building-on-podman.md rename to content/docs/for-app-developers/how-to/special-cases/build-on-podman.md index 8baccff0f..6f0d16c32 100644 --- a/content/docs/app-developer-guide/building-on-podman.md +++ b/content/docs/for-app-developers/how-to/special-cases/build-on-podman.md @@ -1,10 +1,12 @@ + +++ -title="Building on Podman" -weight=99 -summary="Use podman as an alternative to Docker with Cloud Native Buildpacks." +title="Build on Podman" aliases=[ - "/docs/using-pack/building-app/" + "/docs/app-developer-guide/building-on-podman", + "/docs/using-pack/building-app/" ] +weight=5 +summary="Use Podman as an alternative to Docker to create the containerized build environment." +++ ### What is Podman? @@ -67,7 +69,7 @@ Where: podman images ``` -[builder]: https://buildpacks.io/docs/concepts/components/builder/ +[builder]: https://buildpacks.io/docs/for-platform-operators/concepts/builder/ --- @@ -102,4 +104,4 @@ podman images systemctl restart --user podman.socket ``` - On `macOS` you need to run this in the VM (use `podman machine ssh`). \ No newline at end of file + On `macOS` you need to run this in the VM (use `podman machine ssh`). diff --git a/content/docs/features/experimental/export-to-oci-layout.md b/content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md similarity index 94% rename from content/docs/features/experimental/export-to-oci-layout.md rename to content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md index 53c5254a3..7e557e709 100644 --- a/content/docs/features/experimental/export-to-oci-layout.md +++ b/content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md @@ -1,9 +1,14 @@ + +++ -title="Export to OCI layout format" +title="Export to OCI layout format on disk" +aliases=[ + "/docs/features/experimental/export-to-oci-layout" +] weight=3 -summary="Learn how to export your application image to disk in OCI layout format" +++ + +
The OCI Image Layout is the directory structure for OCI content-addressable blobs and location-addressable references. @@ -38,7 +43,7 @@ to save images requires by `pack build` command in OCI layout format. ### 2. Build the app -Please first follow the steps to [build an app](/docs/app-developer-guide/build-an-app), once you have successfully built an application you can export the sample application to disk in OCI layout format. +Please first follow the steps to [build an app](/docs/for-app-developers/tutorials/basic-app), once you have successfully built an application you can export the sample application to disk in OCI layout format. The OCI layout feature must be enabled using the convention `oci:` in the `` parameter when invoking `pack build`. diff --git a/content/docs/app-developer-guide/using-http-proxy.md b/content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md similarity index 96% rename from content/docs/app-developer-guide/using-http-proxy.md rename to content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md index 1a8ecf185..8b095bfe1 100644 --- a/content/docs/app-developer-guide/using-http-proxy.md +++ b/content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md @@ -1,7 +1,11 @@ + +++ -title="Using Buildpacks with a Proxy" -weight=8 -summary="Learn how to use buildpacks behind a HTTP proxy." +title="Use an HTTP proxy" +aliases=[ + "/docs/app-developer-guide/using-http-proxy" +] +weight=4 +summary="Useful for university or corporate environments." +++ Many university or corporate environments use a proxy to access HTTP and HTTPS resources on the web. Proxies introduce two constraints on buildpack built applications: diff --git a/content/docs/platform-guide/_index.md b/content/docs/for-app-developers/tutorials/_index.md similarity index 52% rename from content/docs/platform-guide/_index.md rename to content/docs/for-app-developers/tutorials/_index.md index 1ae92ab41..3dce97220 100644 --- a/content/docs/platform-guide/_index.md +++ b/content/docs/for-app-developers/tutorials/_index.md @@ -1,6 +1,6 @@ +++ -title="Platform Guide" -weight=6 -include_summaries=true +title="Tutorials" +weight=1 expand=true -+++ \ No newline at end of file +include_summaries=true ++++ diff --git a/content/docs/app-developer-guide/build-an-app.md b/content/docs/for-app-developers/tutorials/basic-app/_index.md similarity index 72% rename from content/docs/app-developer-guide/build-an-app.md rename to content/docs/for-app-developers/tutorials/basic-app/_index.md index 33e28270d..83a6a2e92 100644 --- a/content/docs/app-developer-guide/build-an-app.md +++ b/content/docs/for-app-developers/tutorials/basic-app/_index.md @@ -1,17 +1,17 @@ + +++ -title="Build an app" -weight=1 -summary="The basics of taking your app from source code to runnable image." +title="Build your very first application with buildpacks" aliases=[ - "/docs/using-pack/building-app/" + "/docs/app-developer-guide/build-an-app", + "/docs/using-pack/building-app/", ] +weight=1 +++ - Building an app using Cloud Native Buildpacks is as easy as `1`, `2`, `3`... + + ### 1. Select a builder To [build][build] an app you must first decide which [builder][builder] you're going to use. A builder @@ -67,24 +67,24 @@ The app should now be running and accessible via [localhost:8080](http://localho Linux ARM image builds are now supported! -Linux ARM build guide +Linux ARM build guide ## What about Windows apps? Windows image builds are now supported! -Windows build guide +Windows build guide -[build]: /docs/concepts/operations/build -[builder]: /docs/concepts/components/builder -[buildpack]: /docs/concepts/components/buildpack +[build]: /docs/for-app-developers/concepts/build +[builder]: /docs/for-platform-operators/concepts/builder +[buildpack]: /docs/for-platform-operators/concepts/buildpack [samples]: https://github.com/buildpacks/samples diff --git a/content/docs/for-buildpack-authors/_index.md b/content/docs/for-buildpack-authors/_index.md new file mode 100644 index 000000000..42dc93960 --- /dev/null +++ b/content/docs/for-buildpack-authors/_index.md @@ -0,0 +1,6 @@ ++++ +title="For Buildpack Authors" +weight=3 +expand=true +include_summaries=true ++++ diff --git a/content/docs/for-buildpack-authors/concepts/_index.md b/content/docs/for-buildpack-authors/concepts/_index.md new file mode 100644 index 000000000..05518f598 --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/_index.md @@ -0,0 +1,6 @@ ++++ +title="Concepts" +weight=2 + +include_summaries=true ++++ diff --git a/content/docs/for-buildpack-authors/concepts/build-plan.md b/content/docs/for-buildpack-authors/concepts/build-plan.md new file mode 100644 index 000000000..4e814bd0c --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/build-plan.md @@ -0,0 +1,10 @@ ++++ +title="What is the build plan?" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/concepts/components/buildpack-group.md b/content/docs/for-buildpack-authors/concepts/buildpack-group.md similarity index 86% rename from content/docs/concepts/components/buildpack-group.md rename to content/docs/for-buildpack-authors/concepts/buildpack-group.md index 95427a174..9110b9f50 100644 --- a/content/docs/concepts/components/buildpack-group.md +++ b/content/docs/for-buildpack-authors/concepts/buildpack-group.md @@ -1,12 +1,17 @@ + +++ -title="Buildpack Group" -weight=3 -summary="A buildpack group is a list of specific buildpacks composed together in an order such that the list is suitable for building an application. Because buildpacks are modular and reusable, a buildpack group is what allows you to connect multiple modular buildpacks together." +title="What is a buildpack group?" +aliases=[ + "/docs/concepts/components/buildpack-group" +] +weight=2 +++ -## What is a buildpack group? +A buildpack group is a list of individual buildpacks that are designged to work together to build an application. + + -{{< param "summary" >}} +Buildpack groups allow you to connect multiple modular buildpacks together, making buildpacks modular and re-usable. For example, you might have a buildpack that installs Java and a buildpack that uses Maven to build your application. These two buildpacks can be combined into a group to implement higher-level functionality, specifically that the first one will install Java and the second will use Java to run Maven, which is a Java build tool. @@ -50,6 +55,6 @@ The [Operator's Guide][operator-guide] has more information on creating builders [buildpack-group]: /docs/reference/config/builder-config/#order-_list-required_ [order-resolution]: https://github.com/buildpacks/spec/blob/main/buildpack.md#order-resolution -[operator-guide]: /docs/operator-guide/ -[builder]: /docs/concepts/components/builder/ -[meta-buildpack]: /docs/concepts/components/buildpack/#meta-buildpack +[operator-guide]: /docs/for-platform-operators/ +[builder]: /docs/for-platform-operators/concepts/builder/ +[meta-buildpack]: /docs/for-platform-operators/concepts/buildpack/#meta-buildpack diff --git a/content/docs/for-buildpack-authors/concepts/buildpack.md b/content/docs/for-buildpack-authors/concepts/buildpack.md new file mode 120000 index 000000000..442d75a15 --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/buildpack.md @@ -0,0 +1 @@ +../../for-app-developers/concepts/buildpack.md \ No newline at end of file diff --git a/content/docs/buildpack-author-guide/caching-strategies.md b/content/docs/for-buildpack-authors/concepts/caching-strategies.md similarity index 96% rename from content/docs/buildpack-author-guide/caching-strategies.md rename to content/docs/for-buildpack-authors/concepts/caching-strategies.md index 8ff906d68..fd411c5d6 100644 --- a/content/docs/buildpack-author-guide/caching-strategies.md +++ b/content/docs/for-buildpack-authors/concepts/caching-strategies.md @@ -1,7 +1,11 @@ + +++ -title="Layer Types" -weight=6 -summary="Learn strategies for caching layers." +title="What caching strategies are available to buildpacks?" +aliases=[ + "/docs/buildpack-author-guide/caching-strategies" +] +weight=4 +summary="Learn strategies for caching layers at build-time for future re-use." +++ # Layers diff --git a/content/docs/for-buildpack-authors/concepts/component-buildpack.md b/content/docs/for-buildpack-authors/concepts/component-buildpack.md new file mode 100644 index 000000000..9c40450ca --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/component-buildpack.md @@ -0,0 +1,10 @@ ++++ +title="What is a component buildpack?" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/concepts/extension.md b/content/docs/for-buildpack-authors/concepts/extension.md new file mode 120000 index 000000000..ecfc401f3 --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/extension.md @@ -0,0 +1 @@ +../../for-platform-operators/concepts/dockerfiles.md \ No newline at end of file diff --git a/content/docs/for-buildpack-authors/concepts/layer.md b/content/docs/for-buildpack-authors/concepts/layer.md new file mode 100644 index 000000000..6f474bbb5 --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/layer.md @@ -0,0 +1,10 @@ ++++ +title="What is a buildpack dependency layer?" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/buildpack-author-guide/build-phases-overview.md b/content/docs/for-buildpack-authors/concepts/lifecycle-phases.md similarity index 95% rename from content/docs/buildpack-author-guide/build-phases-overview.md rename to content/docs/for-buildpack-authors/concepts/lifecycle-phases.md index 45cdd4e76..1dad5e6a5 100644 --- a/content/docs/buildpack-author-guide/build-phases-overview.md +++ b/content/docs/for-buildpack-authors/concepts/lifecycle-phases.md @@ -1,9 +1,21 @@ + +++ -title="Overview of Buildpacks Phases" -weight=15 +title="What is the lifecycle?" +aliases=[ + "/docs/buildpack-author-guide/build-phases-overview" +] +weight=1 +++ -We work through a full example of building a "hello world" NodeJs web application. In the example we run `pack` on the NodeJS application to produce an application image. We assume that we have a NodeJS buildpack, `registry.fake/buildpacks/nodejs:latest`, that is decomposed into buildpacks that help with the build. We expand each of the buildpacks phases to explain the process. Throughout the example we take a production-level view of their operation. For example, our assumed NodeJS buildpack will be described to create different build, cache and launch layers in a manner similar to how a real NodeJS buildpack would operate. +The lifecycle is a binary responsible for orchestrating buildpacks. + + + +There are five phases to a buildpacks build. + +We work through a full example of building a "hello world" NodeJs web application. + +In the example we run `pack` on the NodeJS application to produce an application image. We assume that we have a NodeJS buildpack, `registry.fake/buildpacks/nodejs:latest`, that is decomposed into buildpacks that help with the build. We expand each of the buildpacks phases to explain the process. Throughout the example we take a production-level view of their operation. For example, our assumed NodeJS buildpack will be described to create different build, cache and launch layers in a manner similar to how a real NodeJS buildpack would operate. ## NodeJS buildpack diff --git a/content/docs/for-buildpack-authors/concepts/package.md b/content/docs/for-buildpack-authors/concepts/package.md new file mode 100644 index 000000000..39b6ff364 --- /dev/null +++ b/content/docs/for-buildpack-authors/concepts/package.md @@ -0,0 +1,10 @@ ++++ +title="What is a buildpack package?" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/concepts/components/targets.md b/content/docs/for-buildpack-authors/concepts/targets.md similarity index 88% rename from content/docs/concepts/components/targets.md rename to content/docs/for-buildpack-authors/concepts/targets.md index e6fa85412..c50a45a0b 100644 --- a/content/docs/concepts/components/targets.md +++ b/content/docs/for-buildpack-authors/concepts/targets.md @@ -1,9 +1,15 @@ + +++ -title="Targets" -weight=4 +title="What are targets?" +aliases=[ + "/docs/concepts/components/targets" +] +weight=3 +++ -The concept of "targets" is used to identify compatibility between buildpacks and base images. +The concept of `targets` is used to identify compatibility between buildpacks and base images. + + Target data includes: * Operating system name (e.g., "linux") diff --git a/content/docs/for-buildpack-authors/how-to/_index.md b/content/docs/for-buildpack-authors/how-to/_index.md new file mode 100644 index 000000000..ae3a24721 --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/_index.md @@ -0,0 +1,6 @@ ++++ +title="How To" +weight=3 + +include_summaries=true ++++ diff --git a/content/docs/buildpack-author-guide/package-a-buildpack.md b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md similarity index 92% rename from content/docs/buildpack-author-guide/package-a-buildpack.md rename to content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md index c9a8fec8a..57c13c0c1 100644 --- a/content/docs/buildpack-author-guide/package-a-buildpack.md +++ b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md @@ -1,11 +1,13 @@ + +++ -title="Package a buildpack" +title="Package a buildpack or extension" +aliases=[ + "/docs/buildpack-author-guide/package-a-buildpack" +] weight=5 -summary="Learn how to package your buildpack for distribution using standard OCI registries." +summary="Learn how to package your buildpack or extension for distribution." +++ -{{< param "summary" >}} - ### 0. Grab the sample repo Before we start, let's pull down a few buildpacks from our [samples][samples] repo. diff --git a/content/docs/buildpack-author-guide/publish-a-buildpack.md b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/publish-buildpack/_index.md similarity index 89% rename from content/docs/buildpack-author-guide/publish-a-buildpack.md rename to content/docs/for-buildpack-authors/how-to/distribute-buildpacks/publish-buildpack/_index.md index ae36b6f3e..61fdf56e9 100644 --- a/content/docs/buildpack-author-guide/publish-a-buildpack.md +++ b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/publish-buildpack/_index.md @@ -1,10 +1,15 @@ + +++ title="Publish a buildpack" +aliases=[ + "/docs/buildpack-author-guide/publish-a-buildpack" +] weight=5 -summary="Learn how to publish your buildpack to the Buildpack Registry." +++ -{{< param "summary" >}} +Learn how to publish your buildpack to the Buildpack Registry. + + ### 0. Packaging your buildpack @@ -39,4 +44,4 @@ Click _Submit new issue_, and your request will be processed within seconds. If > > If you try to publish a buildpack with a namespace that's already in use, the request will fail and the GitHub issue will be closed. You can add or change namespace owners by submitting a Pull Request to the [buildpacks/registry-namespaces](https://github.com/buildpacks/registry-namespaces/). -[package]: /docs/buildpack-author-guide/package-a-buildpack/ +[package]: /docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack diff --git a/content/docs/buildpack-author-guide/publishing-with-github-actions.md b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/publish-buildpack/with-github-actions.md similarity index 96% rename from content/docs/buildpack-author-guide/publishing-with-github-actions.md rename to content/docs/for-buildpack-authors/how-to/distribute-buildpacks/publish-buildpack/with-github-actions.md index a73f9329b..bed07bbde 100644 --- a/content/docs/buildpack-author-guide/publishing-with-github-actions.md +++ b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/publish-buildpack/with-github-actions.md @@ -1,5 +1,9 @@ + +++ title="Publishing with Github Actions" +aliases=[ + "/docs/buildpack-author-guide/publishing-with-github-actions" +] weight=5 summary="Learn how to automatically publish your buildpack to the Buildpack Registry from a Github Action." +++ @@ -85,7 +89,7 @@ It is possible to perform these same step on any automated CI platform, but the You may store your buildpack image in any standard OCI registry, such as [Docker Hub][docker-hub], [Google Container Registry][gcr], or [GitHub Container Registry][ghcr]. However, [GitHub Packages][github-packages] are not supported as they provide a non-standard implementation of the OCI Registry specification. -[package]: /docs/buildpack-author-guide/package-a-buildpack/ +[package]: /docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack [github-actions]: https://github.com/buildpacks/github-actions [docker-hub]: https://hub.docker.com/ [gcr]: https://cloud.google.com/container-registry/ diff --git a/content/docs/for-buildpack-authors/how-to/migrate/_index.md b/content/docs/for-buildpack-authors/how-to/migrate/_index.md new file mode 100644 index 000000000..4f839fead --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/migrate/_index.md @@ -0,0 +1,6 @@ ++++ +title="Migrate" +weight=99 + +include_summaries=true ++++ diff --git a/content/docs/reference/spec/migration/buildpack-api-0.7-0.8.md b/content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.7-0.8.md similarity index 95% rename from content/docs/reference/spec/migration/buildpack-api-0.7-0.8.md rename to content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.7-0.8.md index 9e3d2cf2f..e62f93ca9 100644 --- a/content/docs/reference/spec/migration/buildpack-api-0.7-0.8.md +++ b/content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.7-0.8.md @@ -1,5 +1,10 @@ + +++ title="Buildpack API 0.7 -> 0.8" +aliases=[ + "/docs/reference/spec/migration/buildpack-api-0.7-0.8" +] +weight=4 +++ diff --git a/content/docs/reference/spec/migration/buildpack-api-0.8-0.9.md b/content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.8-0.9.md similarity index 76% rename from content/docs/reference/spec/migration/buildpack-api-0.8-0.9.md rename to content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.8-0.9.md index 59fdded88..c9a6f0663 100644 --- a/content/docs/reference/spec/migration/buildpack-api-0.8-0.9.md +++ b/content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.8-0.9.md @@ -1,5 +1,10 @@ + +++ title="Buildpack API 0.8 -> 0.9" +aliases=[ + "/docs/reference/spec/migration/buildpack-api-0.8-0.9" +] +weight=5 +++ @@ -20,12 +25,14 @@ Buildpack processes can still use a shell! However, the `command` must now expli Hand-in-hand with shell removal is the introduction of overridable process arguments. -In `launch.toml`, `command` is now a list. The first element in `command` is the command, and all following entries are arguments that are always provided to the process, regardless of how the application is started. The `args` list now designates arguments that can be overridden by the end user - if supported by the platform (Platform API version 0.10 and above). For further details, see the platform [migration guide](/docs/reference/spec/migration/platform-api-0.9-0.10). +In `launch.toml`, `command` is now a list. The first element in `command` is the command, and all following entries are arguments that are always provided to the process, regardless of how the application is started. The `args` list now designates arguments that can be overridden by the end user - if supported by the platform (Platform API version 0.10 and above). + +For further details, see the platform [migration guide](/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10). For older platforms (Platform API version 0.9 and below), arguments in `command` will be prepended to arguments in `args`, negating the new functionality (but preserving compatibility). ### Image extensions are supported (experimental) -Platform 0.10 introduces image extensions as experimental components for customizing build and run-time base images (see [here](/docs/features/dockerfiles) for more information). +Platform 0.10 introduces image extensions as experimental components for customizing build and run-time base images (see [here](/docs/for-platform-operators/concepts/dockerfiles) for more information). -For more information, see [authoring an image extension](/docs/extension-guide/create-extension). +For more information, see our tutorial on [authoring an image extension](/docs/for-buildpack-authors/tutorials/basic-extension). diff --git a/content/docs/reference/spec/migration/buildpack-api-0.9-0.10.md b/content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.9-0.10.md similarity index 91% rename from content/docs/reference/spec/migration/buildpack-api-0.9-0.10.md rename to content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.9-0.10.md index 7835b30f7..28658da22 100644 --- a/content/docs/reference/spec/migration/buildpack-api-0.9-0.10.md +++ b/content/docs/for-buildpack-authors/how-to/migrate/buildpack-api-0.9-0.10.md @@ -1,5 +1,10 @@ + +++ title="Buildpack API 0.9 -> 0.10" +aliases=[ + "/docs/reference/spec/migration/buildpack-api-0.9-0.10" +] +weight=6 +++ @@ -52,4 +57,4 @@ Buildpacks can use this information to modify their behavior depending on the ta In Platform 0.12, extensions can be used to extend not only build-time base images, but runtime base images as well. -For more information, see [authoring an image extension](/docs/extension-guide/create-extension). +For more information, see [authoring an image extension](/docs/for-buildpack-authors/tutorials/basic-extension). diff --git a/content/docs/for-buildpack-authors/how-to/migrate/deprecated/_index.md b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/_index.md new file mode 100644 index 000000000..df63e7be3 --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/_index.md @@ -0,0 +1,6 @@ ++++ +title="Deprecated (unsupported) APIs" +weight=99 + +include_summaries=true ++++ diff --git a/content/docs/reference/spec/migration/buildpack-api-0.4-0.5.md b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.4-0.5.md similarity index 96% rename from content/docs/reference/spec/migration/buildpack-api-0.4-0.5.md rename to content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.4-0.5.md index e43706615..1cb6ae6d8 100644 --- a/content/docs/reference/spec/migration/buildpack-api-0.4-0.5.md +++ b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.4-0.5.md @@ -1,5 +1,10 @@ + +++ title="Buildpack API 0.4 -> 0.5" +aliases=[ + "/docs/reference/spec/migration/buildpack-api-0.4-0.5" +] +weight=1 +++ diff --git a/content/docs/reference/spec/migration/buildpack-api-0.5-0.6.md b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.5-0.6.md similarity index 97% rename from content/docs/reference/spec/migration/buildpack-api-0.5-0.6.md rename to content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.5-0.6.md index 760d4f11e..e0b6d6ee5 100644 --- a/content/docs/reference/spec/migration/buildpack-api-0.5-0.6.md +++ b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.5-0.6.md @@ -1,5 +1,10 @@ + +++ title="Buildpack API 0.5 -> 0.6" +aliases=[ + "/docs/reference/spec/migration/buildpack-api-0.5-0.6" +] +weight=2 +++ diff --git a/content/docs/reference/spec/migration/buildpack-api-0.6-0.7.md b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.6-0.7.md similarity index 96% rename from content/docs/reference/spec/migration/buildpack-api-0.6-0.7.md rename to content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.6-0.7.md index cb508e41e..33c18ec8d 100644 --- a/content/docs/reference/spec/migration/buildpack-api-0.6-0.7.md +++ b/content/docs/for-buildpack-authors/how-to/migrate/deprecated/buildpack-api-0.6-0.7.md @@ -1,5 +1,10 @@ + +++ title="Buildpack API 0.6 -> 0.7" +aliases=[ + "/docs/reference/spec/migration/buildpack-api-0.6-0.7" +] +weight=3 +++ diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/_index.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/_index.md new file mode 100644 index 000000000..2647a576c --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/_index.md @@ -0,0 +1,5 @@ ++++ +title="Write buildpacks" +weight=1 +include_summaries=true ++++ diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/add-labels.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/add-labels.md new file mode 100644 index 000000000..3d9d75ebc --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/add-labels.md @@ -0,0 +1,10 @@ ++++ +title="Add labels to the application image" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/add-sbom.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/add-sbom.md new file mode 100644 index 000000000..58d34627e --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/add-sbom.md @@ -0,0 +1,78 @@ ++++ +title="Provide a Software Bill-of-Materials" +weight=2 ++++ + +Buildpacks can provide a [Software `Bill-of-Materials`](https://en.wikipedia.org/wiki/Software_bill_of_materials) (SBOM) +to describe the dependencies that they provide. + + + +There are three supported ways to report SBOM data. +You'll need to choose to use one or more of [CycloneDX](https://cyclonedx.org/), [SPDX](https://spdx.dev/) or [Syft](https://github.com/anchore/syft). +The SBOM format you choose to use is likely to be the format accepted by the SBOM scanner (eg: [`syft cli`](https://github.com/anchore/syft)) you might choose to use. + +The emitted SBOM files follow a naming convention based on the layer they describe and the format they contain. + +For example, to provide SBOM information in CycloneDX json format for a `node-js` layer, +you'll need to create a `node-js.sbom.cdx.json` file in the buildpack layers directory containing the SBOM data. + +Other supported file extensions are `spdx.json` or `syft.json`. + +You'll also need to update your `buildpack.toml` file to declare that your buildpack emits SBOM files. For example: + + +```toml +# Buildpack API version +api = "0.10" + +# Buildpack ID and metadata +[buildpack] + id = "examples/node-js" + version = "0.0.1" + sbom-formats = [ "application/vnd.cyclonedx+json" ] +``` + +Then, in our buildpack implementation we will generate the necessary SBOM metadata: + +```bash +# ... + +# Append a Bill-of-Materials containing metadata about the provided node-js version +cat >> "${CNB_LAYERS_DIR}/node-js.sbom.cdx.json" << EOL +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "components": [ + { + "type": "library", + "name": "node-js", + "version": "${node_js_version}" + } + ] +} +EOL +``` + +We can also add an SBOM entry for each dependency listed in `package.json`. Here we use `jq` to add a new record to the `components` array in `bundler.sbom.cdx.json`: + +```bash +node-jsbom="${CNB_LAYERS_DIR}/node-js.sbom.cdx.json" +cat >> ${node-jsbom} << EOL +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "components": [ + { + "type": "library", + "name": "node-js", + "version": "${node_js_version}" + } + ] +} +EOL +``` + +The bill-of-materials information will be available using `pack sbom download`. diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/clear-env.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/clear-env.md new file mode 100644 index 000000000..b921aca2c --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/clear-env.md @@ -0,0 +1,10 @@ ++++ +title="Clear the buildpack environment" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/create-layer.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/create-layer.md new file mode 100644 index 000000000..a56b377c1 --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/create-layer.md @@ -0,0 +1,10 @@ ++++ +title="Create dependency layers" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/create-slice-layers.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/create-slice-layers.md new file mode 100644 index 000000000..296e8a40b --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/create-slice-layers.md @@ -0,0 +1,10 @@ ++++ +title="Create slice layers" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/re-use-layers.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/re-use-layers.md new file mode 100644 index 000000000..1cd37363b --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/re-use-layers.md @@ -0,0 +1,10 @@ ++++ +title="Re-use dependency layers" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/specify-env.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/specify-env.md new file mode 100644 index 000000000..2e84eff32 --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/specify-env.md @@ -0,0 +1,17 @@ ++++ +title="Specify the environment" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) + +To cover: +* POSIX paths +* Build env +* Process env +* Runtime env +* Modifiers diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/specify-launch-processes.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/specify-launch-processes.md new file mode 100644 index 000000000..c02f7702d --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/specify-launch-processes.md @@ -0,0 +1,44 @@ ++++ +title="Specify process types" +weight=1 ++++ + +One of the benefits of buildpacks is that they are multi-process - an image can have multiple entrypoints for each operational mode. + + + +Let's see how this works. We will specify a process type that allows a debugger to attach to our application. + +To enable running the debug process, we'll need to have our buildpack define a "process type" for the worker. +We'll need to create a `launch.toml` file in the buildpack layers directory: + +```bash +# ... + +cat > "${CNB_LAYERS_DIR}/launch.toml" << EOL +# our web process +[[processes]] +type = "web" +command = ["node", "app.js"] +default = true + +# our debug process +[[processes]] +type = "debug" +command = ["node", "--inspect", "app.js"] +EOL + +# ... +``` + +After building the application, you should then be able to run your new NodeJS debug process: + +```bash +docker run --rm --entrypoint debug test-node-js-app +``` + +and see the debug log output: + +```text +Debugger listening on ws://127.0.0.1:9229/ +``` diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/use-build-plan.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/use-build-plan.md new file mode 100644 index 000000000..f65f14f2d --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/use-build-plan.md @@ -0,0 +1,10 @@ ++++ +title="Use the build plan" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-buildpacks/use-exec.d.md b/content/docs/for-buildpack-authors/how-to/write-buildpacks/use-exec.d.md new file mode 100644 index 000000000..afd470e2c --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-buildpacks/use-exec.d.md @@ -0,0 +1,10 @@ ++++ +title="Use exec.d binaries to configure the application at runtime" +weight=99 ++++ + + + +This page is a stub! The CNB project is applying to [Google Season of Docs](https://developers.google.com/season-of-docs/docs/timeline) to receive support for improving our documentation. Please check back soon. + +If you are familiar with this content and would like to make a contribution, please feel free to open a PR :) diff --git a/content/docs/for-buildpack-authors/how-to/write-extensions/_index.md b/content/docs/for-buildpack-authors/how-to/write-extensions/_index.md new file mode 100644 index 000000000..288b31de5 --- /dev/null +++ b/content/docs/for-buildpack-authors/how-to/write-extensions/_index.md @@ -0,0 +1,5 @@ ++++ +title="Write extensions" +weight=2 +include_summaries=true ++++ diff --git a/content/docs/extension-guide/create-extension/advanced-extensions.md b/content/docs/for-buildpack-authors/how-to/write-extensions/guidance.md similarity index 95% rename from content/docs/extension-guide/create-extension/advanced-extensions.md rename to content/docs/for-buildpack-authors/how-to/write-extensions/guidance.md index 06542f264..91c705ffd 100644 --- a/content/docs/extension-guide/create-extension/advanced-extensions.md +++ b/content/docs/for-buildpack-authors/how-to/write-extensions/guidance.md @@ -1,9 +1,16 @@ + +++ -title="The finer points of image extensions" -weight=406 +title="Guidance for extension authors" +aliases=[ + "/docs/extension-guide/create-extension/advanced-extensions" +] +weight=1 +++ -# Guidance for extension authors +If you haven't already, check out our [tutorial](/docs/for-buildpack-authors/tutorials/basic-extension) on extensions, +then come here for the finer points. + + ## During detect diff --git a/content/docs/operator-guide/_index.md b/content/docs/for-buildpack-authors/tutorials/_index.md similarity index 52% rename from content/docs/operator-guide/_index.md rename to content/docs/for-buildpack-authors/tutorials/_index.md index 0db05c949..3dce97220 100644 --- a/content/docs/operator-guide/_index.md +++ b/content/docs/for-buildpack-authors/tutorials/_index.md @@ -1,6 +1,6 @@ +++ -title="Operator Guide" -weight=5 -include_summaries=true +title="Tutorials" +weight=1 expand=true -+++ \ No newline at end of file +include_summaries=true ++++ diff --git a/content/docs/buildpack-author-guide/create-buildpack/setup-local-environment.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md similarity index 79% rename from content/docs/buildpack-author-guide/create-buildpack/setup-local-environment.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md index 5e94a924c..dde05762e 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/setup-local-environment.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md @@ -1,8 +1,19 @@ + +++ -title="Set up your local environment" -weight=401 +title="Setting up your local environment" +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/setup-local-environment" +] +weight=1 +++ +### Check system requirements + +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 {{}} +{{< download-button href="/docs/install-pack" color="pink" >}} Install pack {{}} + @@ -96,5 +107,5 @@ Server: Docker Engine - Community --- -Next Step +Next Step diff --git a/content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/02_building-blocks-cnb.md similarity index 88% rename from content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/02_building-blocks-cnb.md index 069e10c6d..6404204b8 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/02_building-blocks-cnb.md @@ -1,6 +1,10 @@ + +++ -title="Building blocks of a Cloud Native Buildpack" -weight=402 +title="The building blocks of a Cloud Native Buildpack" +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/building-blocks-cnb" +] +weight=2 +++ @@ -58,7 +62,7 @@ os = "linux" ``` 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. +[Targets](/docs/for-buildpack-authors/concepts/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` @@ -134,7 +138,7 @@ ERROR: failed to detect: buildpack(s) failed with err --- -Next Step +Next Step -[builder]: /docs/concepts/components/builder +[builder]: /docs/for-platform-operators/concepts/builder diff --git a/content/docs/buildpack-author-guide/create-buildpack/detection.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/03_detection.md similarity index 89% rename from content/docs/buildpack-author-guide/create-buildpack/detection.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/03_detection.md index 4098834d0..4b7f833aa 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/detection.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/03_detection.md @@ -1,6 +1,10 @@ + +++ title="Detecting your application" -weight=403 +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/detection" +] +weight=3 +++ @@ -55,5 +59,5 @@ You will also notice that `RESTORING` now appears in the build output. This step --- -Next Step +Next Step diff --git a/content/docs/buildpack-author-guide/create-buildpack/build-app.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/04_build-app.md similarity index 95% rename from content/docs/buildpack-author-guide/create-buildpack/build-app.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/04_build-app.md index f93aebf33..5811d265e 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/build-app.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/04_build-app.md @@ -1,6 +1,10 @@ + +++ title="Building your application" -weight=404 +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/build-app" +] +weight=4 +++ @@ -103,7 +107,7 @@ A new image named `test-node-js-app` was created in your Docker daemon with a la --- -Next Step +Next Step [layers-dir]: /docs/reference/spec/buildpack-api/#layers diff --git a/content/docs/buildpack-author-guide/create-buildpack/make-app-runnable.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/05_make-app-runnable.md similarity index 88% rename from content/docs/buildpack-author-guide/create-buildpack/make-app-runnable.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/05_make-app-runnable.md index a6ff3a3dd..e4dd100db 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/make-app-runnable.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/05_make-app-runnable.md @@ -1,6 +1,10 @@ + +++ -title="Make your application runnable" -weight=405 +title="Making your application runnable" +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/make-app-runnable" +] +weight=5 +++ @@ -81,5 +85,5 @@ We can add multiple process types to a single app. We'll do that in the next sec --- -Next Step - \ No newline at end of file +Next Step + diff --git a/content/docs/buildpack-author-guide/create-buildpack/caching.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/06_caching.md similarity index 95% rename from content/docs/buildpack-author-guide/create-buildpack/caching.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/06_caching.md index 1265af90d..1f70a6fb5 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/caching.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/06_caching.md @@ -1,6 +1,10 @@ + +++ title="Improving performance with caching" -weight=407 +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/caching" +] +weight=6 +++ @@ -56,11 +60,6 @@ cat > "${CNB_LAYERS_DIR}/launch.toml" << EOL type = "web" command = ["node", "app.js"] default = true - -# our debug process -[[processes]] -type = "debug" -command = ["node", "--inspect", "app.js"] EOL ``` @@ -150,5 +149,5 @@ Next, let's see how buildpack users may be able to provide configuration to the --- -Next Step +Next Step diff --git a/content/docs/buildpack-author-guide/create-buildpack/make-buildpack-configurable.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/07_make-buildpack-configurable.md similarity index 91% rename from content/docs/buildpack-author-guide/create-buildpack/make-buildpack-configurable.md rename to content/docs/for-buildpack-authors/tutorials/basic-buildpack/07_make-buildpack-configurable.md index 66ef24d23..b6969a88e 100644 --- a/content/docs/buildpack-author-guide/create-buildpack/make-buildpack-configurable.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/07_make-buildpack-configurable.md @@ -1,6 +1,10 @@ + +++ title="Making your buildpack configurable" -weight=408 +aliases=[ + "/docs/buildpack-author-guide/create-buildpack/make-buildpack-configurable" +] +weight=7 +++ @@ -111,10 +115,10 @@ You will notice that version of NodeJS specified in the app's `.node-js-version` -----> Downloading and extracting NodeJS 18.18.1 ``` -Next, let's see how buildpacks can store information about the dependencies provided in the output app image for introspection. +## Going further + +Now that you've finished your buildpack, how about extending it? Try: - ---- +- [Packaging your buildpack for distribution][package-a-buildpack] -Next Step - +[package-a-buildpack]: /docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack/ diff --git a/content/docs/for-buildpack-authors/tutorials/basic-buildpack/_index.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/_index.md new file mode 100644 index 000000000..88272cac8 --- /dev/null +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/_index.md @@ -0,0 +1,24 @@ ++++ +title="Write a basic buildpack" +weight=1 ++++ + +This is a step-by-step tutorial for creating a nodeJS Cloud Native Buildpack. + + + +## What we'll cover + +- [Setting up your local environment](/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment) +- [The building blocks of a Cloud Native Buildpack](/docs/for-buildpack-authors/tutorials/basic-buildpack/02_building-blocks-cnb) +- [Detecting your application](/docs/for-buildpack-authors/tutorials/basic-buildpack/03_detection) +- [Building your application](/docs/for-buildpack-authors/tutorials/basic-buildpack/04_build-app) +- [Making your application runnable](/docs/for-buildpack-authors/tutorials/basic-buildpack/05_make-app-runnable) +- [Improving performance with caching](/docs/for-buildpack-authors/tutorials/basic-buildpack/06_caching) +- [Making your buildpack configurable](/docs/for-buildpack-authors/tutorials/basic-buildpack/07_make-buildpack-configurable) + +
+ + + Start Tutorial + diff --git a/content/docs/extension-guide/create-extension/setup-local-environment.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/01_setup-local-environment.md similarity index 75% rename from content/docs/extension-guide/create-extension/setup-local-environment.md rename to content/docs/for-buildpack-authors/tutorials/basic-extension/01_setup-local-environment.md index 9ec4b29cf..b07b9431e 100644 --- a/content/docs/extension-guide/create-extension/setup-local-environment.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/01_setup-local-environment.md @@ -1,16 +1,27 @@ + +++ -title="Set up your local environment" -weight=401 -aliases = [ +title="Setting up your local environment" +aliases=[ "/docs/extension-author-guide/create-extension/setup-local-environment/", - ] + "/docs/extension-guide/create-extension/setup-local-environment" +] +weight=1 +++ - + Let's walk through a build that uses extensions, step by step. We will see an image extension that installs `curl` on the builder image, and switches the run image to an image that has `curl` installed. +### Check system requirements + +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 {{}} +{{< download-button href="/docs/install-pack" color="pink" >}} Install pack {{}} + + + ### Ensure Docker is running @@ -78,5 +89,5 @@ git clone https://github.com/buildpacks/samples.git --- -Next Step +Next Step diff --git a/content/docs/extension-guide/create-extension/why-dockerfiles.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/02_why-dockerfiles.md similarity index 93% rename from content/docs/extension-guide/create-extension/why-dockerfiles.md rename to content/docs/for-buildpack-authors/tutorials/basic-extension/02_why-dockerfiles.md index ef8d02437..c48554d8d 100644 --- a/content/docs/extension-guide/create-extension/why-dockerfiles.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/02_why-dockerfiles.md @@ -1,11 +1,15 @@ + +++ -title="Why Dockerfiles" -weight=402 -aliases = [ +title="Why this feature?" +aliases=[ "/docs/extension-author-guide/create-extension/why-dockerfiles/", - ] + "/docs/extension-guide/create-extension/why-dockerfiles" +] +weight=2 +++ + + Let's see a build that requires base image extension in order to succeed. @@ -105,5 +109,5 @@ Let's take a look at how the `samples/vim` extension installs `vim` on the build --- -Next Step +Next Step diff --git a/content/docs/extension-guide/create-extension/building-blocks-extension.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/03_building-blocks-extension.md similarity index 81% rename from content/docs/extension-guide/create-extension/building-blocks-extension.md rename to content/docs/for-buildpack-authors/tutorials/basic-extension/03_building-blocks-extension.md index bf63f4620..b069a628b 100644 --- a/content/docs/extension-guide/create-extension/building-blocks-extension.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/03_building-blocks-extension.md @@ -1,11 +1,15 @@ + +++ -title="Building blocks of a CNB Image Extension" -weight=403 -aliases = [ - "/docs/extension-author-guide/building-blocks-extension/" - ] +title="The building blocks of a CNB image extension" +aliases=[ + "/docs/extension-author-guide/building-blocks-extension/", + "/docs/extension-guide/create-extension/building-blocks-extension" +] +weight=3 +++ + + ### Examine `vim` extension @@ -40,10 +44,10 @@ You should see something akin to the following: for further details. We'll take a closer look at the executables for the `vim` extension in the next step. -For guidance around writing extensions and more advanced use cases, see [here](/docs/extension-guide/create-extension/advanced-extensions). +For guidance around writing extensions and more advanced use cases, see [here](/docs/for-buildpack-authors/how-to/write-extensions). --- -Next Step +Next Step diff --git a/content/docs/extension-guide/create-extension/build-dockerfile.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/04_build-dockerfile.md similarity index 89% rename from content/docs/extension-guide/create-extension/build-dockerfile.md rename to content/docs/for-buildpack-authors/tutorials/basic-extension/04_build-dockerfile.md index 2c03c519f..c4318700f 100644 --- a/content/docs/extension-guide/create-extension/build-dockerfile.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/04_build-dockerfile.md @@ -1,11 +1,15 @@ + +++ -title="Generating a build.Dockerfile" -weight=404 -aliases = [ +title="Extending the build-time base image with a build.Dockerfile" +aliases=[ "/docs/extension-author-guide/create-extension/build-dockerfile/", - ] + "/docs/extension-guide/create-extension/build-dockerfile" +] +weight=4 +++ + + Builder images can be kept lean if image extensions are used to dynamically install the needed dependencies @@ -91,4 +95,4 @@ Let's take a look at how the `samples/curl` extension fixes the error by switchi --- -Next Step +Next Step diff --git a/content/docs/extension-guide/create-extension/run-dockerfile-switch.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/05_run-dockerfile-switch.md similarity index 92% rename from content/docs/extension-guide/create-extension/run-dockerfile-switch.md rename to content/docs/for-buildpack-authors/tutorials/basic-extension/05_run-dockerfile-switch.md index eba86ba0e..eb9337296 100644 --- a/content/docs/extension-guide/create-extension/run-dockerfile-switch.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/05_run-dockerfile-switch.md @@ -1,11 +1,15 @@ + +++ -title="Generating a run.Dockerfile that switches the runtime base image" -weight=405 -aliases = [ - "/docs/extension-author-guide/run-dockerfile/" - ] +title="Switching the runtime base image with a run.Dockerfile" +aliases=[ + "/docs/extension-author-guide/run-dockerfile/", + "/docs/extension-guide/create-extension/run-dockerfile-switch" +] +weight=5 +++ + + Platforms can have several run images available, each tailored to a specific language family - thus limiting the number @@ -145,5 +149,5 @@ Luckily, we can also use image extensions to dynamically install runtime depende --- -Next Step +Next Step diff --git a/content/docs/extension-guide/create-extension/run-dockerfile-extend.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/06_run-dockerfile-extend.md similarity index 95% rename from content/docs/extension-guide/create-extension/run-dockerfile-extend.md rename to content/docs/for-buildpack-authors/tutorials/basic-extension/06_run-dockerfile-extend.md index fce8b3b8c..98adfe078 100644 --- a/content/docs/extension-guide/create-extension/run-dockerfile-extend.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/06_run-dockerfile-extend.md @@ -1,8 +1,14 @@ + +++ -title="Generating a run.Dockerfile that extends the runtime base image" -weight=406 +title="Extending the runtime base image with a run.Dockerfile" +aliases=[ + "/docs/extension-guide/create-extension/run-dockerfile-extend" +] +weight=6 +++ + + Run images can be kept lean if image extensions are used to dynamically install the needed dependencies diff --git a/content/docs/for-buildpack-authors/tutorials/basic-extension/_index.md b/content/docs/for-buildpack-authors/tutorials/basic-extension/_index.md new file mode 100644 index 000000000..73a974757 --- /dev/null +++ b/content/docs/for-buildpack-authors/tutorials/basic-extension/_index.md @@ -0,0 +1,26 @@ ++++ +title="Write a basic extension" +weight=2 +aliases = [ + "/docs/extension-author-guide/create-extension" +] ++++ + +This is a step-by-step tutorial for creating and using image extensions, which allow for customization of the build-time and runtime base images using Dockerfiles. + + + +## What we'll cover + +- [Setting up your local environment](/docs/for-buildpack-authors/tutorials/basic-extension/01_setup-local-environment) +- [Why this feature?](/docs/for-buildpack-authors/tutorials/basic-extension/02_why-dockerfiles) +- [The building blocks of a Cloud Native Buildpacks image extension](/docs/for-buildpack-authors/tutorials/basic-extension/03_building-blocks-extension) +- [Extending the build-time base image with a build.Dockerfile](/docs/for-buildpack-authors/tutorials/basic-extension/04_build-dockerfile) +- [Switching the runtime base image with a run.Dockerfile](/docs/for-buildpack-authors/tutorials/basic-extension/05_run-dockerfile-switch) +- [Extending the runtime base image with a run.Dockerfile](/docs/for-buildpack-authors/tutorials/basic-extension/06_run-dockerfile-extend) + +
+ + + Start Tutorial + diff --git a/content/docs/concepts/operations/_index.md b/content/docs/for-platform-operators/_index.md similarity index 57% rename from content/docs/concepts/operations/_index.md rename to content/docs/for-platform-operators/_index.md index 8da250d58..a7d7b438c 100644 --- a/content/docs/concepts/operations/_index.md +++ b/content/docs/for-platform-operators/_index.md @@ -1,6 +1,6 @@ +++ -title="Operations" +title="For Platform Operators" weight=2 -include_summaries=true expand=true -+++ \ No newline at end of file +include_summaries=true ++++ diff --git a/content/docs/platform-guide/conventions/_index.md b/content/docs/for-platform-operators/concepts/_index.md similarity index 54% rename from content/docs/platform-guide/conventions/_index.md rename to content/docs/for-platform-operators/concepts/_index.md index 8ade34dff..5c7f31f19 100644 --- a/content/docs/platform-guide/conventions/_index.md +++ b/content/docs/for-platform-operators/concepts/_index.md @@ -1,6 +1,5 @@ +++ -title="Conventions" +title="Concepts" weight=1 include_summaries=true -expand=false +++ \ No newline at end of file diff --git a/content/docs/for-platform-operators/concepts/builder.md b/content/docs/for-platform-operators/concepts/builder.md new file mode 100644 index 000000000..24d92804b --- /dev/null +++ b/content/docs/for-platform-operators/concepts/builder.md @@ -0,0 +1,33 @@ ++++ +title="What is a builder?" +weight=2 +aliases=[ + "/docs/using-pack/working-with-builders/" +] ++++ + +A `builder` is an OCI image containing +an ordered combination of [buildpacks][buildpack] and +a build-time base image, a [lifecycle] binary, and a reference to a runtime base image. + + + +![create-builder diagram](/docs/for-platform-operators/concepts/create-builder.svg) + +## Anatomy of a builder + +A builder consists of the following components: + +* [Buildpacks][buildpack] +* A [lifecycle][lifecycle] +* A [build image](/docs/for-app-developers/concepts/base-images/build/) +* A reference to a [run image](/docs/for-app-developers/concepts/base-images/run/) + +### Resources + +To learn how to create your own builder, see our [Operator's Guide][operator-guide]. + +[builder-config]: /docs/reference/builder-config/ +[buildpack]: /docs/for-platform-operators/concepts/buildpack/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ +[operator-guide]: /docs/for-platform-operators/ diff --git a/content/docs/concepts/components/buildpack.md b/content/docs/for-platform-operators/concepts/buildpack.md similarity index 80% rename from content/docs/concepts/components/buildpack.md rename to content/docs/for-platform-operators/concepts/buildpack.md index b60d7a48f..39e16eba3 100644 --- a/content/docs/concepts/components/buildpack.md +++ b/content/docs/for-platform-operators/concepts/buildpack.md @@ -1,11 +1,13 @@ + +++ -title="Buildpack" -weight=2 +title="What is a buildpack?" +aliases=[ + "/docs/concepts/components/buildpack" +] +weight=1 +++ -## What is a buildpack? - -A buildpack is a set of executables that inspects your app source code and creates a plan to build and run your application. +A `buildpack` is software that examines your source code and determines the best way to build it. @@ -44,6 +46,6 @@ Buildpacks can be [packaged][package-a-buildpack] as OCI images on an image regi Learn more about buildpacks by referring to the [Buildpack API][buildpack-api]. [buildpack-api]: /docs/reference/buildpack-api -[buildpack-group]: /docs/concepts/components/buildpack-group/ -[package-a-buildpack]: /docs/buildpack-author-guide/package-a-buildpack/ -[platform]: /docs/concepts/components/platform +[buildpack-group]: /docs/for-buildpack-authors/concepts/buildpack-group/ +[package-a-buildpack]: /docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack/ +[platform]: /docs/for-app-developers/concepts/platform diff --git a/content/docs/concepts/components/create-builder.svg b/content/docs/for-platform-operators/concepts/create-builder.svg similarity index 100% rename from content/docs/concepts/components/create-builder.svg rename to content/docs/for-platform-operators/concepts/create-builder.svg diff --git a/content/docs/features/dockerfiles.md b/content/docs/for-platform-operators/concepts/dockerfiles.md similarity index 92% rename from content/docs/features/dockerfiles.md rename to content/docs/for-platform-operators/concepts/dockerfiles.md index ea5f2cde6..8a6062c3e 100644 --- a/content/docs/features/dockerfiles.md +++ b/content/docs/for-platform-operators/concepts/dockerfiles.md @@ -1,8 +1,16 @@ + +++ -title="Dockerfiles" -summary="Dockerfiles can be used to extend base images for buildpacks builds." +title="What are image extensions?" +aliases=[ + "/docs/features/dockerfiles" +] +weight=99 +++ +Image extensions generate Dockerfiles that can be used to extend base images for buildpacks builds. + + + ## Why Dockerfiles? Buildpacks can do a lot, but there are some things buildpacks can't do. They can't install operating system packages, @@ -59,7 +67,7 @@ An image extension could be defined with the following directory: outputs either or both of `build.Dockerfile` or `run.Dockerfile` for extending the builder or run image. For more information and to see a build in action, -see [authoring an image extension](/docs/extension-guide/create-extension). +see [authoring an image extension](/docs/for-buildpack-authors/tutorials/basic-extension). ## A platform's perspective @@ -90,7 +98,7 @@ The ordering of lifecycle phases looks like the following: * `build` * `export` -For more information, consult the [migration guide](/docs/reference/spec/migration/platform-api-0.9-0.10). +For more information, consult the [migration guide](/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10). #### Platform support for Dockerfiles diff --git a/content/docs/for-platform-operators/concepts/lifecycle/_index.md b/content/docs/for-platform-operators/concepts/lifecycle/_index.md new file mode 100644 index 000000000..6380618f4 --- /dev/null +++ b/content/docs/for-platform-operators/concepts/lifecycle/_index.md @@ -0,0 +1,9 @@ ++++ +title="What is the lifecycle?" +weight=3 +include_summaries=true ++++ + +The `lifecycle` orchestrates buildpack execution, then assembles the resulting artifacts into an [OCI image](https://github.com/opencontainers/image-spec). + + diff --git a/content/docs/concepts/components/lifecycle/analyze.md b/content/docs/for-platform-operators/concepts/lifecycle/analyze.md similarity index 52% rename from content/docs/concepts/components/lifecycle/analyze.md rename to content/docs/for-platform-operators/concepts/lifecycle/analyze.md index 86e34cd86..177867eec 100644 --- a/content/docs/concepts/components/lifecycle/analyze.md +++ b/content/docs/for-platform-operators/concepts/lifecycle/analyze.md @@ -1,10 +1,15 @@ + +++ title="Analyze" +aliases=[ + "/docs/concepts/components/lifecycle/analyze" +] weight=1 -summary="Restores files that buildpacks may use to optimize the build and export phases." +++ -{{< param "summary" >}} +The `analyzer` restores files that buildpacks may use to optimize the build and export phases. + + Prior to `Platform API 0.7`, the `analyzer` was responsible for analyzing the metadata from the cache and the previously built image (if available) to determine what layers can or cannot be reused. This information is used during the `export` phase in order to avoid re-uploading unchanged layers.\ @@ -13,12 +18,12 @@ For more information, please see [this migration guide][platform-api-06-07-migra ### Exit Codes -| Exit Code | Result| -|-----------------|-------| -| `0` | Success -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `1-10`, `13-19` | Generic lifecycle errors -| `30-39` | Analysis-specific lifecycle errors +| Exit Code | Result | +|-----------------|-------------------------------------| +| `0` | Success | +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `1-10`, `13-19` | Generic lifecycle errors | +| `30-39` | Analysis-specific lifecycle errors | -[platform-api-06-07-migration]: https://buildpacks.io/docs/reference/spec/migration/platform-api-0.6-0.7/ +[platform-api-06-07-migration]: https://buildpacks.io/docs/for-platform-operators/how-to/migrate/platform-api-0.6-0.7/ diff --git a/content/docs/for-platform-operators/concepts/lifecycle/build.md b/content/docs/for-platform-operators/concepts/lifecycle/build.md new file mode 100644 index 000000000..0ebb9c7f9 --- /dev/null +++ b/content/docs/for-platform-operators/concepts/lifecycle/build.md @@ -0,0 +1,19 @@ ++++ +title="Build" +weight=4 ++++ + +The `builder` transforms application source code into runnable artifacts that can be packaged into a container. + + + +### Exit Codes + +| Exit Code | Result | +|-----------------|-------------------------------------| +| `0` | Success | +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `1-10`, `13-19` | Generic lifecycle errors | +| `51` | Buildpack build error | +| `50`, `52-59` | Build-specific lifecycle errors | diff --git a/content/docs/for-platform-operators/concepts/lifecycle/create.md b/content/docs/for-platform-operators/concepts/lifecycle/create.md new file mode 100644 index 000000000..fbc716ea8 --- /dev/null +++ b/content/docs/for-platform-operators/concepts/lifecycle/create.md @@ -0,0 +1,22 @@ ++++ +title="Create" +weight=6 ++++ + +The `creator` runs analyze, detect, restore, build, and export in a single command. + + + +### Exit Codes + +| Exit Code | Result | +|-----------------|---------------------------------------| +| `0` | Success | +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `1-10`, `13-19` | Generic lifecycle errors | +| `20-29` | Detection-specific lifecycle errors | +| `30-39` | Analysis-specific lifecycle errors | +| `40-49` | Restoration-specific lifecycle errors | +| `50-59` | Build-specific lifecycle errors | +| `60-69` | Export-specific lifecycle errors | diff --git a/content/docs/concepts/components/lifecycle/detect.md b/content/docs/for-platform-operators/concepts/lifecycle/detect.md similarity index 97% rename from content/docs/concepts/components/lifecycle/detect.md rename to content/docs/for-platform-operators/concepts/lifecycle/detect.md index e68ae94a5..69805e8a3 100644 --- a/content/docs/concepts/components/lifecycle/detect.md +++ b/content/docs/for-platform-operators/concepts/lifecycle/detect.md @@ -1,11 +1,16 @@ + +++ title="Detect" +aliases=[ + "/docs/concepts/components/lifecycle/detect" +] weight=2 -summary="Finds an ordered group of buildpacks to use during the build phase." +++ -{{< param "summary" >}}\ -\ +The `detector` finds an ordered group of buildpacks to use during the build phase. + + + Detection is the first phase of the Lifecycle. It’s done by the `detector`. In this phase, the detector looks for an ordered group of buildpacks that will be used during the build phase. The detector is invoked in the build environment without any required arguments and it cannot run with root privileges. diff --git a/content/docs/concepts/components/lifecycle/export.md b/content/docs/for-platform-operators/concepts/lifecycle/export.md similarity index 62% rename from content/docs/concepts/components/lifecycle/export.md rename to content/docs/for-platform-operators/concepts/lifecycle/export.md index 31a2b9a1d..9f611042c 100644 --- a/content/docs/concepts/components/lifecycle/export.md +++ b/content/docs/for-platform-operators/concepts/lifecycle/export.md @@ -1,21 +1,25 @@ + +++ title="Export" +aliases=[ + "/docs/concepts/components/lifecycle/export" +] weight=5 -summary="Creates the final OCI image." +++ -{{< param "summary" >}} +The `exporter` creates the final OCI image. -### Exit Codes + -| Exit Code | Result| -|-----------------|-------| -| `0` | Success -| `11` | Platform API incompatibility error -| `12` | Buildpack API incompatibility error -| `1-10`, `13-19` | Generic lifecycle errors -| `60-69` | Export-specific lifecycle errors +### Exit Codes +| Exit Code | Result | +|-----------------|-------------------------------------| +| `0` | Success | +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `1-10`, `13-19` | Generic lifecycle errors | +| `60-69` | Export-specific lifecycle errors | ### Image diff --git a/content/docs/for-platform-operators/concepts/lifecycle/launch.md b/content/docs/for-platform-operators/concepts/lifecycle/launch.md new file mode 100644 index 000000000..e44e0e634 --- /dev/null +++ b/content/docs/for-platform-operators/concepts/lifecycle/launch.md @@ -0,0 +1,16 @@ ++++ +title="Launch" +weight=7 ++++ + +The `launcher` is the entrypoint for the final OCI image, responsible for launching application processes. + + + +### Exit Codes + +| Exit Code | Result | +|-----------|-------------------------------------| +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `80-89` | Launch-specific lifecycle errors | diff --git a/content/docs/for-platform-operators/concepts/lifecycle/rebase.md b/content/docs/for-platform-operators/concepts/lifecycle/rebase.md new file mode 100644 index 000000000..6dfec8815 --- /dev/null +++ b/content/docs/for-platform-operators/concepts/lifecycle/rebase.md @@ -0,0 +1,18 @@ ++++ +title="Rebase" +weight=8 ++++ + +The `rebaser` places application layers atop a new version of the runtime base image. + + + +### Exit Codes + +| Exit Code | Result | +|-----------------|-------------------------------------| +| `0` | Success | +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `1-10`, `13-19` | Generic lifecycle errors | +| `70-79` | Rebase-specific lifecycle errors | diff --git a/content/docs/for-platform-operators/concepts/lifecycle/restore.md b/content/docs/for-platform-operators/concepts/lifecycle/restore.md new file mode 100644 index 000000000..ccbde1eaf --- /dev/null +++ b/content/docs/for-platform-operators/concepts/lifecycle/restore.md @@ -0,0 +1,18 @@ ++++ +title="Restore" +weight=3 ++++ + +The `restorer` copies layers from the cache into the build container. + + + +### Exit Codes + +| Exit Code | Result | +|-----------------|---------------------------------------| +| `0` | Success | +| `11` | Platform API incompatibility error | +| `12` | Buildpack API incompatibility error | +| `1-10`, `13-19` | Generic lifecycle errors | +| `40-49` | Restoration-specific lifecycle errors | diff --git a/content/docs/for-platform-operators/how-to/_index.md b/content/docs/for-platform-operators/how-to/_index.md new file mode 100644 index 000000000..ae3a24721 --- /dev/null +++ b/content/docs/for-platform-operators/how-to/_index.md @@ -0,0 +1,6 @@ ++++ +title="How To" +weight=3 + +include_summaries=true ++++ diff --git a/content/docs/for-platform-operators/how-to/build-inputs/_index.md b/content/docs/for-platform-operators/how-to/build-inputs/_index.md new file mode 100644 index 000000000..859f9ec2e --- /dev/null +++ b/content/docs/for-platform-operators/how-to/build-inputs/_index.md @@ -0,0 +1,6 @@ ++++ +title="Prepare build inputs" +weight=2 + +include_summaries=true ++++ diff --git a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/_index.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/_index.md new file mode 100644 index 000000000..46f91f519 --- /dev/null +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/_index.md @@ -0,0 +1,10 @@ ++++ +title="Create a builder" +weight=1 +include_summaries=true ++++ + +A [builder][builder] is an OCI image with all the inputs needed for a buildpacks build, including +the build-time base image, a reference to a runtime base image, a lifecycle, and a set of buildpacks. + +[builder]: /docs/for-platform-operators/concepts/builder \ No newline at end of file diff --git a/content/docs/operator-guide/create-build-base.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md similarity index 86% rename from content/docs/operator-guide/create-build-base.md rename to content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md index 5379c91f5..c7348020f 100644 --- a/content/docs/operator-guide/create-build-base.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md @@ -1,8 +1,16 @@ + +++ title="Create a build base image" -weight=2 +aliases=[ + "/docs/operator-guide/create-build-base" +] +weight=1 +++ +The build-time base image provides the OS-level dependencies for buildpacks at build-time. + + + ## Define a build base image for your CNB build We need a Dockerfile similar to the following: @@ -58,7 +66,7 @@ The given user **MUST NOT** be a root user, and must have a writeable home direc 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. +To determine which values to provide, see [targets](/docs/for-buildpack-authors/concepts/targets/) concept information. ## Build the build base image diff --git a/content/docs/operator-guide/create-a-builder.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md similarity index 90% rename from content/docs/operator-guide/create-a-builder.md rename to content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md index dc8f2769d..5b4609a49 100644 --- a/content/docs/operator-guide/create-a-builder.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md @@ -1,9 +1,13 @@ + +++ -title="Create a builder" -weight=1 +title="Putting it all together" +aliases=[ + "/docs/operator-guide/create-a-builder" +] +weight=3 +++ -Creating a custom [builder][builder] allows you to control what buildpacks are used and what image apps are based on. +After you have created a build-time base image and a runtime base image, you are ready to create your builder! @@ -104,7 +108,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]. -[build]: /docs/concepts/operations/build/ -[builder]: /docs/concepts/components/builder/ +[build]: /docs/for-app-developers/concepts/build/ +[builder]: /docs/for-platform-operators/concepts/builder/ [builder-config]: /docs/reference/builder-config/ [samples]: https://github.com/buildpacks/samples diff --git a/content/docs/extension-guide/consume-extension/in-builder.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/extensions.md similarity index 64% rename from content/docs/extension-guide/consume-extension/in-builder.md rename to content/docs/for-platform-operators/how-to/build-inputs/create-builder/extensions.md index 58d1f60f1..4818e59fc 100644 --- a/content/docs/extension-guide/consume-extension/in-builder.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/extensions.md @@ -1,13 +1,18 @@ + +++ -title="Specifying an Image Extension in the Builder" -weight=405 +title="Specify an image extension in a builder" +aliases=[ + "/docs/extension-guide/consume-extension/in-builder" +] +weight=101 +++ - +If you are using extensions, here is how to include them in a builder. -### Specifying an Image Extension in the Builder + You're pretty sharp, and you know what your buildpack users will need. + That's why you're going to add something similar to the following lines directly to `builder.toml`: ``` @@ -21,5 +26,3 @@ id = "foo" version = "0.0.1" uri = "/local/path/to/extension/foo" # can be relative or absolute ``` - - diff --git a/content/docs/operator-guide/create-run-base.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md similarity index 85% rename from content/docs/operator-guide/create-run-base.md rename to content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md index f29dfe482..e355ecaf4 100644 --- a/content/docs/operator-guide/create-run-base.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md @@ -1,8 +1,16 @@ + +++ title="Create a run base image" -weight=3 +aliases=[ + "/docs/operator-guide/create-run-base" +] +weight=2 +++ +The runtime base image provides the OS-level dependencies for applications at runtime. + + + ## Define a run base image for your CNB build We need a Dockerfile similar to the following: @@ -49,7 +57,7 @@ You should consult the documentation for your buildpacks to determine what is su 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. +To determine which values to provide, see [targets](/docs/for-buildpack-authors/concepts/targets/) concept information. ## Build the run base image diff --git a/content/docs/platform-guide/conventions/source-metadata.md b/content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md similarity index 88% rename from content/docs/platform-guide/conventions/source-metadata.md rename to content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md index b5d6d0a63..4633ffe28 100644 --- a/content/docs/platform-guide/conventions/source-metadata.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md @@ -1,13 +1,18 @@ + +++ -title="Source Metadata" -weight=1 -summary="Conventions for declaring app source information in the app image." +title="Declare source metadata" +aliases=[ + "/docs/platform-guide/conventions/source-metadata" +] +weight=3 +summary="Declare information about application source code, to be included as metadata in the application image." tags=["spec:platform/0.6", "spec:project-descriptor/0.2"] +++ ## Summary -The following are conventions for declaring different type of source inputs. This information is provided to the [lifecycle][lifecycle] using [project-metadata.toml][project-metadata]. +The following are conventions for declaring different type of source inputs. +This information is provided to the [lifecycle][lifecycle] using [project-metadata.toml][project-metadata]. ## Sources @@ -142,5 +147,5 @@ type = "image" url = "https://github.com/example/repo" ``` -[lifecycle]: /docs/concepts/components/lifecycle/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ [project-metadata]: https://github.com/buildpacks/spec/blob/platform/0.7/platform.md#project-metadatatoml-toml diff --git a/content/docs/operator-guide/create-a-stack.md b/content/docs/for-platform-operators/how-to/build-inputs/stack.md similarity index 86% rename from content/docs/operator-guide/create-a-stack.md rename to content/docs/for-platform-operators/how-to/build-inputs/stack.md index e07a379fb..66c505e2d 100644 --- a/content/docs/operator-guide/create-a-stack.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/stack.md @@ -1,14 +1,21 @@ + +++ -title="Create a stack" -weight=4 +title="Create a stack (deprecated)" +aliases=[ + "/docs/operator-guide/create-a-stack" +] +weight=99 +++ +A stack is the grouping together of the build and run base images, represented by a unique ID. + + + **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/). +To find out how, see [create a build base image](/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base/) and [create a run base image](/docs/for-platform-operators/how-to/build-inputs/create-builder/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... @@ -24,7 +31,7 @@ Before we get started, make sure you've got the following installed: ## Creating a custom 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. +To find out how, see [create a build base image](/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base/) and [create a run base image](/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base/), then come back here. ## Choose your stack ID @@ -119,6 +126,6 @@ mixins = ["build:git", "run:imagemagick", "wget"] 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/ +[stack]: /docs/for-app-developers/concepts/base-images/stack/ +[builder]: /docs/for-platform-operators/concepts/builder/ [samples]: https://github.com/buildpacks/samples diff --git a/content/docs/for-platform-operators/how-to/integrate-ci/_index.md b/content/docs/for-platform-operators/how-to/integrate-ci/_index.md new file mode 100644 index 000000000..6e3cdea1c --- /dev/null +++ b/content/docs/for-platform-operators/how-to/integrate-ci/_index.md @@ -0,0 +1,6 @@ ++++ +title="Integrate with your favorite CI tooling" +weight=1 + +include_summaries=true ++++ diff --git a/content/docs/tools/circleci.md b/content/docs/for-platform-operators/how-to/integrate-ci/circleci.md similarity index 87% rename from content/docs/tools/circleci.md rename to content/docs/for-platform-operators/how-to/integrate-ci/circleci.md index 2df9fa35e..00cf92a8c 100644 --- a/content/docs/tools/circleci.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/circleci.md @@ -1,8 +1,15 @@ + +++ title="CircleCI" +aliases=[ + "/docs/tools/circleci" +] +weight=3 +++ -[CircleCI][circleci] is a continuous integration and delivery platform. The CNB project maintains an integration, called an [orb](https://circleci.com/orbs/), +[CircleCI][circleci] is a continuous integration and delivery platform. + +The CNB project maintains an integration, called an [orb](https://circleci.com/orbs/), which allows users to run [pack][pack] commands inside their pipelines. diff --git a/content/docs/tools/gitlab.md b/content/docs/for-platform-operators/how-to/integrate-ci/gitlab.md similarity index 81% rename from content/docs/tools/gitlab.md rename to content/docs/for-platform-operators/how-to/integrate-ci/gitlab.md index 0b2fef27f..1abfe4e12 100644 --- a/content/docs/tools/gitlab.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/gitlab.md @@ -1,9 +1,15 @@ + +++ title="Gitlab Auto DevOps" +aliases=[ + "/docs/tools/gitlab" +] +weight=4 +++ -[Gitlab][about-gitlab] is a web based DevOps platform. It uses [`pack`][pack] as part of the [Auto DevOps][devops] feature, to -build applications prior to deploying them. +[Gitlab][about-gitlab] is a web-based DevOps platform. The [Auto DevOps][devops] feature uses [`pack`][pack] +to build applications prior to deploying them. + ## Use diff --git a/content/docs/tools/kpack.md b/content/docs/for-platform-operators/how-to/integrate-ci/kpack.md similarity index 80% rename from content/docs/tools/kpack.md rename to content/docs/for-platform-operators/how-to/integrate-ci/kpack.md index 58622c4c7..1bd394e7f 100644 --- a/content/docs/tools/kpack.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/kpack.md @@ -1,8 +1,16 @@ + +++ title="kpack" +aliases=[ + "/docs/tools/kpack" +] +weight=2 +++ -[kpack][kpack] is a Kubernetes native platform, belonging to the [Buildpacks Community](https://github.com/buildpacks-community) organization. It utilizes unprivileged Kubernetes primitives to provide builds of OCI images as a platform implementation of Cloud Native Buildpacks (CNB). +[kpack][kpack] is a Kubernetes-native platform that uses unprivileged Kubernetes primitives to perform buildpacks builds and keep application images up-to-date. + +[kpack][kpack] is part of the [Buildpacks Community](https://github.com/buildpacks-community) organization. + ## Use diff --git a/content/docs/tools/pack/_index.md b/content/docs/for-platform-operators/how-to/integrate-ci/pack/_index.md similarity index 79% rename from content/docs/tools/pack/_index.md rename to content/docs/for-platform-operators/how-to/integrate-ci/pack/_index.md index 9e54de2ff..3fa43c973 100644 --- a/content/docs/tools/pack/_index.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/pack/_index.md @@ -1,12 +1,16 @@ + +++ title="Pack" -include_summaries=false -expand=false -aliases=["/docs/install-pack/", "/docs/tools/pack/cli/install/"] -weight=100 +aliases=[ + "/docs/install-pack/", + "/docs/tools/pack/_index", + "/docs/tools/pack/cli/install/" +] +weight=1 +++ -Pack is a tool maintained by the Cloud Native Buildpacks project to support the use of buildpacks. +Pack is a CLI tool maintained by the CNB project to support the use of buildpacks. + It enables the following functionality: @@ -58,7 +62,7 @@ To configure your `zsh` shell to load completions for each session, add the foll ### References -- [Docs](/docs/tools/pack/cli/pack/) +- [Docs](/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack/) - [Source](https://github.com/buildpacks/pack/) --- @@ -76,7 +80,7 @@ go get -u github.com/buildpacks/pack - [Docs](https://pkg.go.dev/github.com/buildpacks/pack) - [Source](https://github.com/buildpacks/pack/) -[build]: /docs/concepts/operations/build/ -[rebase]: /docs/concepts/operations/rebase/ -[components]: /docs/concepts/components/ +[build]: /docs/for-app-developers/concepts/build/ +[rebase]: /docs/for-app-developers/concepts/rebase/ +[components]: /docs/for-platform-operators/concepts/ [github-releases]: https://github.com/buildpacks/pack/releases diff --git a/content/docs/tools/pack/cli/_index.md b/content/docs/for-platform-operators/how-to/integrate-ci/pack/cli/_index.md similarity index 71% rename from content/docs/tools/pack/cli/_index.md rename to content/docs/for-platform-operators/how-to/integrate-ci/pack/cli/_index.md index 5ba0ddc51..28a7781ed 100755 --- a/content/docs/tools/pack/cli/_index.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/pack/cli/_index.md @@ -1,5 +1,9 @@ + +++ title="CLI Docs" +aliases=[ + "/docs/tools/pack/cli/_index" +] include_summaries=true +++ diff --git a/content/docs/tools/pack/concepts/_index.md b/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/_index.md similarity index 70% rename from content/docs/tools/pack/concepts/_index.md rename to content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/_index.md index af7e67031..6c72d220c 100755 --- a/content/docs/tools/pack/concepts/_index.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/_index.md @@ -1,7 +1,11 @@ + +++ title="Concepts" +aliases=[ + "/docs/tools/pack/concepts/_index" +] include_summaries=true -expand=false + weight=2 +++ diff --git a/content/docs/tools/pack/concepts/trusted_builders.md b/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md similarity index 80% rename from content/docs/tools/pack/concepts/trusted_builders.md rename to content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md index 4ec318c15..5a871928f 100644 --- a/content/docs/tools/pack/concepts/trusted_builders.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md @@ -1,5 +1,9 @@ + +++ title="Trusted Builders" +aliases=[ + "/docs/tools/pack/concepts/trusted_builders" +] +++ From version [0.11.0](https://github.com/buildpacks/pack/releases/tag/v0.11.0) onward, `pack` can be used to identify builders that should be considered trusted. `pack build` will operate slightly differently under the hood based on whether it considers the specified builder to be trusted. @@ -21,16 +25,16 @@ When `pack` trusts a builder `pack build` will run a single lifecycle binary whi If `pack` were to use the `creator` lifecycle phase with an untrusted builder, each of the buildpack's `bin/detect` and `bin/build` processes would run within a container that has heightened privileges or access to registry credentials. The buildpacks distributed with the untrusted builder could be constructed to act maliciously with these privileges or credentials. ## Which Builders are trusted? -You may view which builders are trusted via [`pack config trusted-builders list`](/docs/tools/pack/cli/pack_config_trusted-builders_list/). +You may view which builders are trusted via [`pack config trusted-builders list`](/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack_config_trusted-builders_list/). Here are some other related commands: -* By default, any builder suggested by [`pack builder suggest`](/docs/tools/pack/cli/pack_builder_suggest/) is considered trusted. -* Any other builder can be trusted using [`pack config trusted-builders add `](/docs/tools/pack/cli/pack_config_trusted-builders_add/). +* By default, any builder suggested by [`pack builder suggest`](/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack_builder_suggest/) is considered trusted. +* Any other builder can be trusted using [`pack config trusted-builders add `](/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack_config_trusted-builders_add/). -* To stop trusting a builder use [`pack config trusted-builders remove **Note:** A published lifecycle image is available for lifecycle versions 0.7.5+ and 0.6.1. If your builder has been created with an earlier version of the lifecycle `pack build` will **fail** due to this security related change. >
diff --git a/content/docs/tools/piper.md b/content/docs/for-platform-operators/how-to/integrate-ci/piper.md similarity index 76% rename from content/docs/tools/piper.md rename to content/docs/for-platform-operators/how-to/integrate-ci/piper.md index a2215e0c3..846ae0ec1 100644 --- a/content/docs/tools/piper.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/piper.md @@ -1,8 +1,16 @@ + +++ title='Project "Piper"' +aliases=[ + "/docs/tools/piper" +] +weight=5 +++ -[Project "Piper"][piper] (maintained by [SAP][sap]) is a set of ready-made Continuous Delivery pipelines for direct use in your project. It now also implements the CNB Platform spec as a step and makes it available in your Jenkins pipeline. +[Project "Piper"][piper] is a set of ready-made continuous delivery pipelines for direct use in your project. +It now also implements the CNB Platform spec as a step and makes it available in your Jenkins pipeline. + +[Project "Piper"][piper] is maintained by [SAP][sap]. diff --git a/content/docs/tools/tekton.md b/content/docs/for-platform-operators/how-to/integrate-ci/tekton.md similarity index 95% rename from content/docs/tools/tekton.md rename to content/docs/for-platform-operators/how-to/integrate-ci/tekton.md index 7b0c2b8ab..7d1089430 100644 --- a/content/docs/tools/tekton.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/tekton.md @@ -1,9 +1,16 @@ + +++ title="Tekton" +aliases=[ + "/docs/tools/tekton" +] +weight=6 +++ -[Tekton][tekton] is an open-source CI/CD system platform implementation running on k8s. There are two Tekton `tasks` -maintained by the CNB project, both of which use the [lifecycle][lifecycle] directly (i.e. they do not use `pack`). +[Tekton][tekton] is an open-source CI/CD system running on k8s. + +The CNB project has created two reference "tasks" for performing buildpacks builds, +both of which use the [lifecycle][lifecycle] directly (i.e. they do not use `pack`). @@ -249,7 +256,7 @@ Some general resources for Tekton are: - [Tekton Authorization Documentation][tekton-auth] [tekton]: https://tekton.dev/ -[lifecycle]: /docs/concepts/components/lifecycle +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle [buildpacks-task]: https://github.com/tektoncd/catalog/tree/master/task/buildpacks [buildpacks-phases]: https://github.com/tektoncd/catalog/tree/master/task/buildpacks-phases [tekton-setup]: https://tekton.dev/docs/getting-started/ diff --git a/content/docs/for-platform-operators/how-to/migrate/_index.md b/content/docs/for-platform-operators/how-to/migrate/_index.md new file mode 100644 index 000000000..4f839fead --- /dev/null +++ b/content/docs/for-platform-operators/how-to/migrate/_index.md @@ -0,0 +1,6 @@ ++++ +title="Migrate" +weight=99 + +include_summaries=true ++++ diff --git a/content/docs/for-platform-operators/how-to/migrate/deprecated/_index.md b/content/docs/for-platform-operators/how-to/migrate/deprecated/_index.md new file mode 100644 index 000000000..df63e7be3 --- /dev/null +++ b/content/docs/for-platform-operators/how-to/migrate/deprecated/_index.md @@ -0,0 +1,6 @@ ++++ +title="Deprecated (unsupported) APIs" +weight=99 + +include_summaries=true ++++ diff --git a/content/docs/reference/spec/migration/platform-api-0.3-0.4.md b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.3-0.4.md similarity index 87% rename from content/docs/reference/spec/migration/platform-api-0.3-0.4.md rename to content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.3-0.4.md index 0e805889d..469112809 100644 --- a/content/docs/reference/spec/migration/platform-api-0.3-0.4.md +++ b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.3-0.4.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.3 -> 0.4" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.3-0.4" +] +weight=1 +++ @@ -10,13 +15,13 @@ See the [spec release](https://github.com/buildpacks/spec/releases/tag/platform% ### Windows support -Windows image builds are now supported! See the [Windows build guide](/docs/app-developer-guide/build-a-windows-app) +Windows image builds are now supported! See the [Windows build guide](/docs/for-app-developers/how-to/special-cases/build-for-windows) for more details. ### Multicall launcher When running the exported application image, it is now possible to provide arguments to pre-defined process types. -The new flow is described [here](/docs/app-developer-guide/run-an-app/#run-a-multi-process-app). +The new flow is described [here](/docs/for-app-developers/how-to/build-outputs/specify-launch-process/#run-a-multi-process-app). As part of these changes, the exporter will not set, and the launcher no longer accepts, the `CNB_PROCESS_TYPE` variable. See the associated [RFC](https://github.com/buildpacks/rfcs/blob/main/text/0045-launcher-arguments.md) and [spec PR](https://github.com/buildpacks/spec/pull/118) for more details. diff --git a/content/docs/reference/spec/migration/platform-api-0.4-0.5.md b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.4-0.5.md similarity index 96% rename from content/docs/reference/spec/migration/platform-api-0.4-0.5.md rename to content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.4-0.5.md index 112f26a65..0bdaa01b4 100644 --- a/content/docs/reference/spec/migration/platform-api-0.4-0.5.md +++ b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.4-0.5.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.4 -> 0.5" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.4-0.5" +] +weight=2 +++ diff --git a/content/docs/reference/spec/migration/platform-api-0.5-0.6.md b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.5-0.6.md similarity index 93% rename from content/docs/reference/spec/migration/platform-api-0.5-0.6.md rename to content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.5-0.6.md index bfd71099b..be50b50b4 100644 --- a/content/docs/reference/spec/migration/platform-api-0.5-0.6.md +++ b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.5-0.6.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.5 -> 0.6" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.5-0.6" +] +weight=3 +++ @@ -30,4 +35,4 @@ Lifecycle exit codes are condensed to be within 0-255 so that they are understan The report.toml output by the exporter will now include the image manifest size in bytes. Note that this only applies to published images, as images exported to a docker daemon will not have a manifest. -[lifecycle]: /docs/concepts/components/lifecycle/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ diff --git a/content/docs/reference/spec/migration/platform-api-0.6-0.7.md b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.6-0.7.md similarity index 94% rename from content/docs/reference/spec/migration/platform-api-0.6-0.7.md rename to content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.6-0.7.md index e9367aa86..460837820 100644 --- a/content/docs/reference/spec/migration/platform-api-0.6-0.7.md +++ b/content/docs/for-platform-operators/how-to/migrate/deprecated/platform-api-0.6-0.7.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.6 -> 0.7" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.6-0.7" +] +weight=4 +++ diff --git a/content/docs/reference/spec/migration/platform-api-0.10-0.11.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md similarity index 97% rename from content/docs/reference/spec/migration/platform-api-0.10-0.11.md rename to content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md index b2d19a882..64bfc6e98 100644 --- a/content/docs/reference/spec/migration/platform-api-0.10-0.11.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.10 -> 0.11" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.10-0.11" +] +weight=4 +++ diff --git a/content/docs/reference/spec/migration/platform-api-0.11-0.12.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md similarity index 92% rename from content/docs/reference/spec/migration/platform-api-0.11-0.12.md rename to content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md index 84e913cb8..1629d6516 100644 --- a/content/docs/reference/spec/migration/platform-api-0.11-0.12.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.11 -> 0.12" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.11-0.12" +] +weight=5 +++ @@ -66,7 +71,7 @@ To use the feature, platforms should: * Invoke `restorer` with the `-dameon` flag (newly added in this Platform API version) if the export target is a daemon * When extensions switch the run image, the `restorer` must re-read target data from the new run image in order to provide this information to buildpacks; if `-daemon` is provided the `restorer` will look for the run image in a daemon instead of a registry * When extensions extend the run image, the `-daemon` flag has no effect as the `restorer` must be able to pull the run image manifest from a registry -* Invoke `extender` as usual to extend the builder image (see [migration guide](/docs/reference/spec/migration/platform-api-0.9-0.10/index.html) for Platform 0.10) +* Invoke `extender` as usual to extend the builder image (see [migration guide](/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10/index.html) for Platform 0.10) * Inspect the contents of `analyzed.toml` - if `run-image.extend` is `true` we must run the `extender` on the run image * Using the **run image** as the basis for the container, invoke `extender` with flags `-kind run` and `-extended ` * `` is the directory where layers created from the application of each `run.Dockerfile` to the run image will be saved for use by the `exporter`; it defaults to `/extended` @@ -93,14 +98,14 @@ following the [rules](https://github.com/buildpacks/spec/blob/platform/v0.12/pla The feature is enabled by providing a `-layout` flag or by setting the `CNB_USE_LAYOUT` environment variable to `true` for the following lifecycle phases: -- [Analyze](https://buildpacks.io/docs/concepts/components/lifecycle/analyze/) -- [Restore](https://buildpacks.io/docs/concepts/components/lifecycle/restore/) -- [Export](https://buildpacks.io/docs/concepts/components/lifecycle/export/) -- [Create](https://buildpacks.io/docs/concepts/components/lifecycle/create/) +- [Analyze](https://buildpacks.io/docs/for-platform-operators/concepts/lifecycle/analyze/) +- [Restore](https://buildpacks.io/docs/for-platform-operators/concepts/lifecycle/restore/) +- [Export](https://buildpacks.io/docs/for-platform-operators/concepts/lifecycle/export/) +- [Create](https://buildpacks.io/docs/for-platform-operators/concepts/lifecycle/create/) Additionally, the path to the layout directory must be specified, either by providing a `-layout-dir` flag or by setting the `CNB_LAYOUT_DIR` environment variable. -**Note**: [Rebasing](https://buildpacks.io/docs/concepts/components/lifecycle/rebase/) an image exported to OCI layout format +**Note**: [Rebasing](https://buildpacks.io/docs/for-platform-operators/concepts/lifecycle/rebase/) an image exported to OCI layout format and extending OCI layout base images with Dockerfiles are currently not supported. ## Base Image Author diff --git a/content/docs/reference/spec/migration/platform-api-0.7-0.8.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.7-0.8.md similarity index 97% rename from content/docs/reference/spec/migration/platform-api-0.7-0.8.md rename to content/docs/for-platform-operators/how-to/migrate/platform-api-0.7-0.8.md index 3a189840c..d0e732865 100644 --- a/content/docs/reference/spec/migration/platform-api-0.7-0.8.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.7-0.8.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.7 -> 0.8" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.7-0.8" +] +weight=1 +++ diff --git a/content/docs/reference/spec/migration/platform-api-0.8-0.9.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.8-0.9.md similarity index 96% rename from content/docs/reference/spec/migration/platform-api-0.8-0.9.md rename to content/docs/for-platform-operators/how-to/migrate/platform-api-0.8-0.9.md index 984338f32..ba5937177 100644 --- a/content/docs/reference/spec/migration/platform-api-0.8-0.9.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.8-0.9.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.8 -> 0.9" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.8-0.9" +] +weight=2 +++ diff --git a/content/docs/reference/spec/migration/platform-api-0.9-0.10.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md similarity index 93% rename from content/docs/reference/spec/migration/platform-api-0.9-0.10.md rename to content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md index cacddcd4c..0aac5c712 100644 --- a/content/docs/reference/spec/migration/platform-api-0.9-0.10.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md @@ -1,5 +1,10 @@ + +++ title="Platform API 0.9 -> 0.10" +aliases=[ + "/docs/reference/spec/migration/platform-api-0.9-0.10" +] +weight=3 +++ @@ -80,7 +85,7 @@ For processes from older buildpacks, upgrading the platform will not change the ### Image extensions are supported (experimental) -Platform 0.10 introduces image extensions as experimental components for customizing build and run-time base images (see [here](/docs/features/dockerfiles) for more information). Image extensions output Dockerfiles which are applied by the lifecycle using [kaniko][https://github.com/GoogleContainerTools/kaniko], a tool for building container images in Kubernetes, as a library. +Platform 0.10 introduces image extensions as experimental components for customizing build and run-time base images (see [here](/docs/for-platform-operators/concepts/dockerfiles) for more information). Image extensions output Dockerfiles which are applied by the lifecycle using [kaniko][https://github.com/GoogleContainerTools/kaniko], a tool for building container images in Kubernetes, as a library. Note: image extensions are not supported for Windows container images. diff --git a/content/docs/for-platform-operators/tutorials/_index.md b/content/docs/for-platform-operators/tutorials/_index.md new file mode 100644 index 000000000..3dce97220 --- /dev/null +++ b/content/docs/for-platform-operators/tutorials/_index.md @@ -0,0 +1,6 @@ ++++ +title="Tutorials" +weight=1 +expand=true +include_summaries=true ++++ diff --git a/content/docs/for-platform-operators/tutorials/lifecycle/_index.md b/content/docs/for-platform-operators/tutorials/lifecycle/_index.md new file mode 100644 index 000000000..90f0f1148 --- /dev/null +++ b/content/docs/for-platform-operators/tutorials/lifecycle/_index.md @@ -0,0 +1,8 @@ ++++ +title="Orchestrate a build with the CNB lifecycle" +weight=1 +expand=true +include_summaries=true ++++ + +Coming soon! In the meantime check out this excellent [blog post](https://medium.com/buildpacks/unpacking-cloud-native-buildpacks-ff51b5a767bf) from our community. diff --git a/content/docs/reference/_index.md b/content/docs/reference/_index.md index 2d4e5756f..c37828d53 100644 --- a/content/docs/reference/_index.md +++ b/content/docs/reference/_index.md @@ -2,5 +2,5 @@ title="Reference" weight=99 include_summaries=true -expand=false + +++ \ No newline at end of file diff --git a/content/docs/reference/config/_index.md b/content/docs/reference/config/_index.md index bee293dd6..59ad01236 100644 --- a/content/docs/reference/config/_index.md +++ b/content/docs/reference/config/_index.md @@ -1,5 +1,5 @@ +++ title="Configuration" include_summaries=true -expand=false + +++ \ No newline at end of file diff --git a/content/docs/reference/config/builder-config.md b/content/docs/reference/config/builder-config.md index f160417bb..3fb0529ef 100644 --- a/content/docs/reference/config/builder-config.md +++ b/content/docs/reference/config/builder-config.md @@ -1,7 +1,9 @@ +++ title="builder.toml" summary="Schema of the builder config file." -aliases=["/docs/reference/builder-config/"] +aliases=[ + "/docs/reference/builder-config/" +] +++ A [builder][builder] configuration schema is as follows: @@ -62,10 +64,10 @@ A [builder][builder] configuration schema is as follows: 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 + [Mirrors](/docs/for-app-developers/concepts/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. + The stack to use for the builder. See [stack](/docs/for-app-developers/concepts/base-images/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: @@ -80,7 +82,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/base-images/run#run-image-mirrors) for the stack + [Run image mirrors](/docs/for-app-developers/concepts/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: @@ -116,5 +118,5 @@ A [builder][builder] configuration schema is as follows: Currently, when specifying a URI to a buildpack or lifecycle, only `tar` or `tgz` archive types are supported. -[builder]: /docs/concepts/components/builder -[lifecycle]: /docs/concepts/components/lifecycle +[builder]: /docs/for-platform-operators/concepts/builder +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle diff --git a/content/docs/reference/config/package-config.md b/content/docs/reference/config/package-config.md index affcdf457..d89ecc8d5 100644 --- a/content/docs/reference/config/package-config.md +++ b/content/docs/reference/config/package-config.md @@ -1,7 +1,9 @@ +++ title="package.toml" summary="Schema of the buildpack package config file." -aliases=["/docs/reference/package-config/"] +aliases=[ + "/docs/reference/package-config/", +] +++ A [buildpackage][package] configuration schema is as follows: @@ -29,6 +31,6 @@ A [buildpackage][package] configuration schema is as follows: You can view [sample buildpackages](https://github.com/buildpacks/samples/tree/main/packages) on Github. -[package]: /docs/concepts/components/buildpack#distribution +[package]: /docs/for-platform-operators/concepts/buildpack#distribution [supported-archives]: /docs/reference/builder-config#supported-archives [order-group]: /docs/reference/spec/buildpack-api/#schema diff --git a/content/docs/reference/config/project-descriptor.md b/content/docs/reference/config/project-descriptor.md index 85e720bfb..a40272d65 100644 --- a/content/docs/reference/config/project-descriptor.md +++ b/content/docs/reference/config/project-descriptor.md @@ -1,7 +1,9 @@ +++ title="project.toml" summary="Schema of the project descriptor file." -aliases=["/docs/reference/project-descriptor/"] +aliases=[ + "/docs/reference/project-descriptor/" +] +++ A project descriptor allows users to detail configuration for apps, services, functions and buildpacks. It should, by @@ -135,4 +137,4 @@ For more detail, you can check out the `project.toml` [specification][spec] [spec]: https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md [supported-archives]: /docs/reference/builder-config#supported-archives [api-compat]: /docs/reference/buildpack-api#api-compatibility -[lifecycle]: /docs/concepts/components/lifecycle/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ diff --git a/content/docs/reference/spec/_index.md b/content/docs/reference/spec/_index.md index dde3df868..af9fd6bcc 100644 --- a/content/docs/reference/spec/_index.md +++ b/content/docs/reference/spec/_index.md @@ -4,8 +4,9 @@ include_summaries=true expand=true +++ -This section provides an overview of the Cloud Native Buildpack API specification. Most -buildpack users won't need this information unless they are writing a buildpack or +This section provides an overview of the Cloud Native Buildpack API specification. + +Most buildpack users won't need this information unless they are writing a buildpack or a platform that supports buildpacks. diff --git a/content/docs/reference/spec/buildpack-api.md b/content/docs/reference/spec/buildpack-api.md index 70bc9d94c..ed570c7ed 100644 --- a/content/docs/reference/spec/buildpack-api.md +++ b/content/docs/reference/spec/buildpack-api.md @@ -1,6 +1,8 @@ +++ title="Buildpack API" -aliases=["/docs/reference/buildpack-api/"] +aliases=[ + "/docs/reference/buildpack-api/" +] +++ This specification defines the interface between a buildpack and the environment that runs it. @@ -392,6 +394,6 @@ For example, You can read the complete [Buildpack API specification on Github](https://github.com/buildpacks/spec/blob/main/buildpack.md). -[buildpack]: /docs/concepts/components/buildpack/ -[lifecycle]: /docs/concepts/components/lifecycle/ -[meta-buildpack]: /docs/concepts/components/buildpack/#meta-buildpack +[buildpack]: /docs/for-platform-operators/concepts/buildpack/ +[lifecycle]: /docs/for-platform-operators/concepts/lifecycle/ +[meta-buildpack]: /docs/for-platform-operators/concepts/buildpack/#meta-buildpack diff --git a/content/docs/reference/spec/distribution-api.md b/content/docs/reference/spec/distribution-api.md index 983da2ab0..7ec1b3bad 100644 --- a/content/docs/reference/spec/distribution-api.md +++ b/content/docs/reference/spec/distribution-api.md @@ -1,6 +1,8 @@ +++ title="Distribution API" -aliases=["/docs/reference/distribution-api/"] +aliases=[ + "/docs/reference/distribution-api/" +] +++ This specification defines the artifact format, delivery mechanism, and order resolution process for buildpacks. diff --git a/content/docs/reference/spec/migration/_index.md b/content/docs/reference/spec/migration/_index.md deleted file mode 100644 index b25d84b7d..000000000 --- a/content/docs/reference/spec/migration/_index.md +++ /dev/null @@ -1,16 +0,0 @@ -+++ -title="Migration" -include_summaries=true -+++ - -This section provides a series of guides for migrating from one version of the -Cloud Native Buildpack API specification (either buildpack or platform) to the next. Most -buildpack users won't need this information unless they are writing a buildpack or -a platform that supports buildpacks. - -Each guide describes changes from the previous minor, who these changes impact, -as well as any actions that may be necessary. - - - -The following guides are available: \ No newline at end of file diff --git a/content/docs/reference/spec/platform-api.md b/content/docs/reference/spec/platform-api.md index 939a91526..cf974aa48 100644 --- a/content/docs/reference/spec/platform-api.md +++ b/content/docs/reference/spec/platform-api.md @@ -1,9 +1,11 @@ +++ title="Platform API" -aliases=["/docs/reference/platform-api/"] +aliases=[ + "/docs/reference/platform-api/" +] +++ -The Platform specification defines the interface between the CNB [lifecycle](/docs/concepts/components/lifecycle/) and a [platform](/docs/concepts/components/platform/) that runs it. +The Platform specification defines the interface between the CNB [lifecycle](/docs/for-platform-operators/concepts/lifecycle/) and a [platform](/docs/for-app-developers/concepts/platform/) that runs it. diff --git a/content/docs/tools/_index.md b/content/docs/tools/_index.md deleted file mode 100644 index 72a316ee4..000000000 --- a/content/docs/tools/_index.md +++ /dev/null @@ -1,8 +0,0 @@ -+++ -title="Tools" -weight=98 -include_summaries=true -expand=true -+++ - -A list of tools that work with Cloud Native Buildpacks. \ No newline at end of file diff --git a/tools/get_pack_commands.go b/tools/get_pack_commands.go index 9603f1d0d..1bcc8c7f4 100644 --- a/tools/get_pack_commands.go +++ b/tools/get_pack_commands.go @@ -15,7 +15,7 @@ import ( ) const ( - cliDir = "/docs/tools/pack/cli/" + cliDir = "/docs/for-platform-operators/how-to/integrate-ci/pack/cli/" outputPath = "../content" + cliDir indexFile = `_index.md` diff --git a/tools/go.mod b/tools/go.mod index cc8457849..93b238e4c 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -1,18 +1,20 @@ module github.com/buildpacks/docs/tools -go 1.20 +go 1.21 + +toolchain go1.21.5 require ( - github.com/buildpacks/pack v0.32.1 + github.com/buildpacks/pack v0.33.1 github.com/gohugoio/hugo v0.100.2 - github.com/spf13/cobra v1.7.0 + github.com/spf13/cobra v1.8.0 ) require ( - cloud.google.com/go v0.110.4 // indirect - cloud.google.com/go/compute v1.21.0 // indirect + cloud.google.com/go v0.110.8 // indirect + cloud.google.com/go/compute v1.23.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/iam v1.1.2 // indirect cloud.google.com/go/storage v1.30.1 // indirect dario.cat/mergo v1.0.0 // indirect github.com/Azure/azure-pipeline-go v0.2.3 // indirect @@ -39,28 +41,29 @@ require ( github.com/apex/log v1.9.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/aws/aws-sdk-go v1.44.32 // indirect - github.com/aws/aws-sdk-go-v2 v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/config v1.18.27 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.26 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.15 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.18.11 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.16.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.7 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.26.11 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.19.2 // indirect - github.com/aws/smithy-go v1.13.5 // indirect - github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20230522190001-adf1bafd791a // indirect + github.com/aws/aws-sdk-go-v2 v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect + github.com/aws/aws-sdk-go-v2/config v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.13.43 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.56 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.22 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.25 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.24 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.30.6 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 // indirect + github.com/aws/smithy-go v1.15.0 // indirect + github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20231003182221-725682229e60 // indirect + github.com/beorn7/perks v1.0.1 // indirect github.com/bep/clock v0.3.0 // indirect github.com/bep/debounce v1.2.1 // indirect github.com/bep/gitmap v1.3.0 // indirect @@ -70,26 +73,29 @@ require ( github.com/bep/gowebp v0.1.0 // indirect github.com/bep/overlayfs v0.6.0 // indirect github.com/bep/tmc v0.5.1 // indirect - github.com/buildpacks/imgutil v0.0.0-20231102131059-84d632186b59 // indirect - github.com/buildpacks/lifecycle v0.17.2 // indirect + github.com/buildpacks/imgutil v0.0.0-20240118145509-e94a1b7de8a9 // indirect + github.com/buildpacks/lifecycle v0.18.4 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 // indirect github.com/clbanning/mxj/v2 v2.5.6 // indirect github.com/cli/safeexec v1.0.0 // indirect - github.com/cloudflare/circl v1.3.3 // indirect + github.com/cloudflare/circl v1.3.7 // indirect github.com/containerd/containerd v1.7.11 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect github.com/containerd/typeurl v1.0.2 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/disintegration/gift v1.2.1 // indirect + github.com/distribution/reference v0.5.0 // indirect github.com/dlclark/regexp2 v1.4.0 // indirect github.com/docker/cli v24.0.7+incompatible // indirect - github.com/docker/distribution v2.8.2+incompatible // indirect + github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker v24.0.7+incompatible // indirect - github.com/docker/docker-credential-helpers v0.7.0 // indirect - github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/docker-credential-helpers v0.8.0 // indirect + github.com/docker/go-connections v0.5.0 // indirect + github.com/docker/go-metrics v0.0.1 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/emirpasic/gods v1.18.1 // indirect @@ -97,7 +103,7 @@ require ( github.com/frankban/quicktest v1.14.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gdamore/encoding v1.0.0 // indirect - github.com/gdamore/tcell/v2 v2.6.0 // indirect + github.com/gdamore/tcell/v2 v2.7.0 // indirect github.com/getkin/kin-openapi v0.96.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect @@ -115,12 +121,13 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.6.0 // indirect - github.com/google/go-containerregistry v0.16.1 // indirect + github.com/google/go-containerregistry v0.18.0 // indirect github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.4.0 // indirect github.com/google/wire v0.5.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.11.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.4 // indirect + github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/hairyhenderson/go-codeowners v0.2.3-0.20201026200250-cdc7c0759690 // indirect github.com/heroku/color v0.0.6 // indirect @@ -131,23 +138,24 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/compress v1.17.1 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/kyokomi/emoji/v2 v2.2.9 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect - github.com/magefile/mage v1.13.0 // indirect + github.com/magefile/mage v1.14.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-ieproxy v0.0.7 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.14 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/hashstructure v1.1.0 // indirect github.com/mitchellh/ioprogress v0.0.0-20180201004757-6a23b12fa88e // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/buildkit v0.11.6 // indirect - github.com/moby/patternmatcher v0.5.0 // indirect + github.com/moby/buildkit v0.12.2 // indirect + github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/sys/sequential v0.5.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/morikuni/aec v1.0.0 // indirect @@ -162,6 +170,10 @@ require ( github.com/pelletier/go-toml/v2 v2.0.2 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/prometheus/client_golang v1.17.0 // indirect + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect github.com/rivo/tview v0.0.0-20220610163003-691f46d6f500 // indirect github.com/rivo/uniseg v0.4.3 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect @@ -172,38 +184,40 @@ require ( github.com/sergi/go-diff v1.2.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/skeema/knownhosts v1.2.1 // indirect - github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/fsync v0.9.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tdewolff/minify/v2 v2.11.9 // indirect github.com/tdewolff/parse/v2 v2.6.0 // indirect - github.com/vbatts/tar-split v0.11.3 // indirect + github.com/vbatts/tar-split v0.11.5 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/yuin/goldmark v1.4.13 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.25.0 // indirect - golang.org/x/crypto v0.17.0 // indirect + golang.org/x/crypto v0.18.0 // indirect golang.org/x/image v0.0.0-20220601225756-64ec528b34cd // indirect - golang.org/x/mod v0.13.0 // indirect - golang.org/x/net v0.19.0 // indirect - golang.org/x/oauth2 v0.13.0 // indirect - golang.org/x/sync v0.4.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.16.0 // indirect + golang.org/x/term v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.13.0 // indirect + golang.org/x/tools v0.16.1 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.126.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + google.golang.org/api v0.128.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect google.golang.org/grpc v1.58.3 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) + +replace github.com/moby/buildkit => github.com/moby/buildkit v0.11.6 diff --git a/tools/go.sum b/tools/go.sum index 9499d4899..fbfac7d46 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -31,8 +31,8 @@ cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Ud cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= -cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.8 h1:tyNdfIxjzaWctIiLYOTalaLKZ17SI44SKFW26QbOhME= +cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -43,8 +43,8 @@ cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTB cloud.google.com/go/compute v1.2.0/go.mod h1:xlogom/6gr8RJGBe7nT2eGsQYAFUbbv8dbC29qE3Xmw= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.21.0 h1:JNBsyXVoOoNJtTQcnEY5uYpZIbeCTYIeDe0Xh1bySMk= -cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.1 h1:V97tBoDaZHb6leicZ1G6DLK2BAaZLJ/7+9BB/En3hR0= +cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= @@ -53,8 +53,8 @@ cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.1.1/go.mod h1:CKqrcnI/suGpybEHxZ7BMehL0oA4LpdyJdUlTl9jVMw= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= -cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iam v1.1.2 h1:gacbrBdWcoVmGLozRuStX45YKvJtzIjJdAolzUs1sm4= +cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= @@ -83,6 +83,7 @@ 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= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/azure-amqp-common-go/v3 v3.2.1/go.mod h1:O6X1iYHP7s2x7NjUKsXVhkwWrQhxrd+d8/3rRadj4CI= github.com/Azure/azure-amqp-common-go/v3 v3.2.2/go.mod h1:O6X1iYHP7s2x7NjUKsXVhkwWrQhxrd+d8/3rRadj4CI= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= @@ -139,7 +140,6 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69 h1:+tu3HOoMXB7RXEINRVIpxJCT+KdYiI7LAEAUrOw3dIU= github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69/go.mod h1:L1AbZdiDllfyYH5l5OkAaZtk7VkWe89bPJFmnDBNHxg= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -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= @@ -151,6 +151,7 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= +github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= @@ -162,7 +163,10 @@ github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7l github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek= github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0= github.com/apex/log v1.9.0/go.mod h1:m82fZlWIuiWzWP04XCTXmnX0xRkYYbCdYn8jbJeLBEA= @@ -172,6 +176,7 @@ github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3st github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= @@ -179,97 +184,89 @@ github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.44.32 h1:x5hBtpY/02sgRL158zzTclcCLwh3dx3YlSl1rAH4Op0= github.com/aws/aws-sdk-go v1.44.32/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.16.2/go.mod h1:ytwTPBG6fXTZLxxeeCCWj2/EMYp/xDUgX+OET6TLNNU= -github.com/aws/aws-sdk-go-v2 v1.16.5/go.mod h1:Wh7MEsmEApyL5hrWzpDkba4gwAPc5/piwLVLFnCxp48= -github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -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 v1.17.6/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2 v1.21.2 h1:+LXZ0sgo8quN9UOKXXzAWRT3FWd4NxeXWOZom9pE7GA= +github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= 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= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= github.com/aws/aws-sdk-go-v2/config v1.15.3/go.mod h1:9YL3v07Xc/ohTsxFXzan9ZpFpdTOFl4X65BAKYaz8jg= -github.com/aws/aws-sdk-go-v2/config v1.15.10/go.mod h1:XL4DzwzWdwXBzKdwMdpLkMIaGEQCYRQyzA4UnJaUnNk= -github.com/aws/aws-sdk-go-v2/config v1.18.22/go.mod h1:mN7Li1wxaPxSSy4Xkr6stFuinJGf3VZW3ZSNvO0q6sI= -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/config v1.18.16/go.mod h1:XjM6lVbq7UgELp9NjXBrb1DQY/ownlWsvDhEQksemJc= +github.com/aws/aws-sdk-go-v2/config v1.19.0 h1:AdzDvwH6dWuVARCl3RTLGRc4Ogy+N7yLFxVxXe1ClQ0= +github.com/aws/aws-sdk-go-v2/config v1.19.0/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE= github.com/aws/aws-sdk-go-v2/credentials v1.11.2/go.mod h1:j8YsY9TXTm31k4eFhspiQicfXPLZ0gYXA50i4gxPE8g= -github.com/aws/aws-sdk-go-v2/credentials v1.12.5/go.mod h1:DOcdLlkqUiNGyXnjWgspC3eIAdXhj8q0pO1LiSvrTI4= -github.com/aws/aws-sdk-go-v2/credentials v1.13.21/go.mod h1:90Dk1lJoMyspa/EDUrldTxsPns0wn6+KpRKpdAWc0uA= -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/credentials v1.13.16/go.mod h1:KP7aFJhfwPFgx9aoVYL2nYHjya5WBD98CWaadpgmnpY= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43 h1:LU8vo40zBlo3R7bAvBVy/ku4nxGEyZe9N8MqAeFTzF8= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.3/go.mod h1:uk1vhHHERfSVCUnqSqz8O48LBYDSC+k6brng09jcMOk= -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.13.3/go.mod h1:4Q0UFP0YJf0NrsEuEYHpM9fTSEVnD16Z3uyEF7J9JGM= -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/ec2/imds v1.12.24/go.mod h1:neYVaeKr5eT7BzwULuG2YbLhzWZ22lpjKdCybR7AXrQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 h1:PIktER+hwIG286DqXyvVENjgLTAwGgoeriLDD5C+YlQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= 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= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.56 h1:kFDCPqqVvb9vYcW82L7xYfrBGpuxXQ/8A/zYVayRQK4= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.56/go.mod h1:FoSBuessadgy8Cqp9gQF8U5rzi1XVQhiEJ6su2/kBEE= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.9/go.mod h1:AnVH5pvai0pAF4lXRq0bmhbes1u9R8wTE+g+183bZNM= -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.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= -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/configsources v1.1.30/go.mod h1:LUBAO3zNXQjoONBKn/kR1y0Q4cj/D02Ts0uHYjcCQLM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 h1:nFBQlGtkbPzp/NjZLuFxRqmT91rLJkgvsEQs68h962Y= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= 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.6/go.mod h1:FwpAKI+FBPIELJIdmQzlLtRe8LQSOreMcM2wBsPMvvc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= -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/endpoints/v2 v2.4.24/go.mod h1:gAuCezX/gob6BSMbItsSlMb6WZGV7K2+fWOvk8xBSto= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 h1:JRVhO25+r3ar2mKGP7E0LDl8K9/G36gjlqca5iQbaqc= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.10/go.mod h1:8DcYQcz0+ZJaSxANlHIsbbi6S+zMwjwdDqwW3r9AzaE= -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.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= -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.18.10/go.mod h1:Ce1q2jlNm8BVpjLaOnwnm5v2RClAbK6txwPljFzyW6c= -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.16.1/go.mod h1:uHtRE7aqXNmpeYL+7Ec7LacH5zC9+w2T5MBOeEKDdu0= -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/internal/ini v1.3.31/go.mod h1:5zUjguZfG5qjhG9/wqmuyHRyUftl2B5Cp6NNxNC6kRA= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21BvOBuc76YhW0HsuQ4= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.22 h1:lTqBRUuy8oLhBsnnVZf14uRbIHPHCrGqg4Plc8gU/1U= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.22/go.mod h1:YsOa3tFriwWNvBPYHXM5ARiU2yqBNWPWeUiq+4i7Na0= +github.com/aws/aws-sdk-go-v2/service/ecr v1.20.2 h1:y6LX9GUoEA3mO0qpFl1ZQHj1rFyPWVphlzebiSt2tKE= +github.com/aws/aws-sdk-go-v2/service/ecr v1.20.2/go.mod h1:Q0LcmaN/Qr8+4aSBrdrXXePqoX0eOuYpJLbYpilmWnA= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.18.2 h1:PpbXaecV3sLAS6rjQiaKw4/jyq3Z8gNzmoJupHAoBp0= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.18.2/go.mod h1:fUHpGXr4DrXkEDpGAjClPsviWf+Bszeb0daKE0blxv8= 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= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.3/go.mod h1:Seb8KNmD6kVTjwRjVEgOT5hPin6sq+v4C2ycJQDwuH8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.7 h1:DYUAx8lWAhIzFiD284oq6RUPKppKk3cyqv/hyUkbWuA= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.7/go.mod h1:6tcs0yjwAW2Z9Yb3Z4X/2tm3u9jNox1dvXxVXTd73Zw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.25 h1:B/hO3jfWRm7hP00UeieNlI5O2xP5WJ27tyJG5lzc7AM= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.25/go.mod h1:54K1zgxK/lai3a4HosE4IKBwZsP/5YAJ6dzJfwsjJ0U= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.3/go.mod h1:wlY6SVjuwvh3TVRpTqdy4I1JpBFLX4UGeKZdWntaocw= -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.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= -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/presigned-url v1.9.24/go.mod h1:HMA4FZG6fyib+NDo5bpIxX1EhYjrAOveZJY2YR0xrNE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 h1:WWZA/I2K4ptBS1kg0kV1JbBtG/umed0vwHRrmcr9z7k= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= 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= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.24 h1:i4RH8DLv/BHY0fCrXYQDr+DGnWzaxB3Ee/esxUaSavk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.24/go.mod h1:N8X45/o2cngvjCYi2ZnvI0P4mU4ZRJfEYC3maCSsPyw= github.com/aws/aws-sdk-go-v2/service/kms v1.16.3/go.mod h1:QuiHPBqlOFCi4LqdSskYYAWpQlx3PKmohy+rE2F+o5g= github.com/aws/aws-sdk-go-v2/service/s3 v1.26.3/go.mod h1:g1qvDuRsJY+XghsV6zg00Z4KJ7DtFFCx8fJD2a491Ak= -github.com/aws/aws-sdk-go-v2/service/s3 v1.26.11 h1:Wt0512f6GfLiMd6a+NuOCC9r3/trmzHMTB697CBDUwg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.26.11/go.mod h1:VMTprbiZWqW44viXgPSQhWdeZ8JTAeJwhO7OXpC/Rsg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.30.6 h1:zzTm99krKsFcF4N7pu2z17yCcAZpQYZ7jnJZPIgEMXE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.30.6/go.mod h1:PudwVKUTApfm0nYaPutOXaKdPKTlZYClGBQpVIRdcbs= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.4/go.mod h1:PJc8s+lxyU8rrre0/4a0pn2wgwiDvOEzoOjcJUBr67o= github.com/aws/aws-sdk-go-v2/service/sns v1.17.4/go.mod h1:kElt+uCcXxcqFyc+bQqZPFD9DME/eC6oHBXvFzQ9Bcw= github.com/aws/aws-sdk-go-v2/service/sqs v1.18.3/go.mod h1:skmQo0UPvsjsuYYSYMVmrPc1HWCbHUJyrCEp+ZaLzqM= github.com/aws/aws-sdk-go-v2/service/ssm v1.24.1/go.mod h1:NR/xoKjdbRJ+qx0pMR4mI+N/H1I1ynHwXnO6FowXJc0= github.com/aws/aws-sdk-go-v2/service/sso v1.11.3/go.mod h1:7UQ/e69kU7LDPtY40OyoHYgRmgfGM4mgsLYtcObdveU= -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.12.9/go.mod h1:ouy2P4z6sJN70fR3ka3wD3Ro3KezSxU6eKGQI2+2fjI= -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.14.9/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk= -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/sso v1.12.5/go.mod h1:vuWiaDB30M/QTC+lI3Wj6S/zb7tpUK2MSYgy3Guh2L0= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBWK32rM9+a1g6u73k= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.5/go.mod h1:QjxpHmCwAg0ESGtPQnLIVp7SedTOBMYy+Slr3IfMKeI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= github.com/aws/aws-sdk-go-v2/service/sts v1.16.3/go.mod h1:bfBj0iVmsUyUg4weDB4NxktD9rDGeKSVWnjTnwbx9b8= -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.18.10/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8= -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/aws-sdk-go-v2/service/sts v1.18.6/go.mod h1:48WJ9l3dwP0GSHWGc5sFGGlCkuA82Mc2xnw+T6Q8aDw= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 h1:0BkLfgeDjfZnZ+MhB3ONb01u9pwFYTCZVhlsSSBvlbU= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= github.com/aws/smithy-go v1.11.2/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM= -github.com/aws/smithy-go v1.11.3/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-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/aws/smithy-go v1.15.0 h1:PS/durmlzvAFpQHDs4wi4sNNP9ExsqZh6IlfdHXgKK8= +github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20231003182221-725682229e60 h1:ONd54l3oubhjMPcj7HpjPWvlFI6WXsu0/W7DsKCPI9w= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20231003182221-725682229e60/go.mod h1:eSn65Noe23f/Z7A2ESqw3dbhAFSEyzZf38nXcKVNxtE= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bep/clock v0.3.0 h1:vfOA6+wVb6pPQEiXow9f/too92vNTLe9MuwO13PfI0M= github.com/bep/clock v0.3.0/go.mod h1:6Gz2lapnJ9vxpvPxQ2u6FcXFRoj4kkiqQ6pm0ERZlwk= github.com/bep/debounce v1.2.0/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= @@ -291,17 +288,19 @@ github.com/bep/tmc v0.5.1 h1:CsQnSC6MsomH64gw0cT5f+EwQDcvZz4AazKunFwTpuI= github.com/bep/tmc v0.5.1/go.mod h1:tGYHN8fS85aJPhDLgXETVKp+PR382OvFi2+q2GkGsq0= github.com/bep/workers v1.0.0 h1:U+H8YmEaBCEaFZBst7GcRVEoqeRC9dzH2dWOwGmOchg= github.com/bep/workers v1.0.0/go.mod h1:7kIESOB86HfR2379pwoMWNy8B50D7r99fRLUyPSNyCs= -github.com/buildpacks/imgutil v0.0.0-20231102131059-84d632186b59 h1:5g+dMdOO6Ufx/bDa5gUH/Aw9FN6wt7T3HzKSkHVvue4= -github.com/buildpacks/imgutil v0.0.0-20231102131059-84d632186b59/go.mod h1:PsazEB9yz+NG/cgm0Z1oQ0Xq6rD/U7eNMt5Su41afYY= -github.com/buildpacks/lifecycle v0.17.2 h1:CfJYWHIC5v996idgjDamYHBTk+G+c1Qt7Yk80MlbWpw= -github.com/buildpacks/lifecycle v0.17.2/go.mod h1:h8MrqltqMM+HQnn2F2JOQaKWmeybZ54qvlNV3pAiAqw= -github.com/buildpacks/pack v0.32.1 h1:TlKxevNRR8LAhtBpf8HuR8ODYnGqF0tpAwqojD8xVus= -github.com/buildpacks/pack v0.32.1/go.mod h1:xiyqG2a/wwxkAuSvTr7yCAGWlTjxmZ/HFm6OsAtjyns= +github.com/buildpacks/imgutil v0.0.0-20240118145509-e94a1b7de8a9 h1:kxe31xfMWJAIAzDfGQ3lL0j8QSSRfEHyLg7dRWIHA8I= +github.com/buildpacks/imgutil v0.0.0-20240118145509-e94a1b7de8a9/go.mod h1:PsazEB9yz+NG/cgm0Z1oQ0Xq6rD/U7eNMt5Su41afYY= +github.com/buildpacks/lifecycle v0.18.4 h1:LGl/4guzU+57hn08W8RwjLLizYtuNfCZHtxn8TP2+bE= +github.com/buildpacks/lifecycle v0.18.4/go.mod h1:DxxfyFaCi9ovbbP2fhcKBlImfbTPiPEtM5UqSlD1TJ8= +github.com/buildpacks/pack v0.33.1 h1:2CJQA3qjTwHi0x3EgQgBbN4VBDCnxMWR5TfizGO38Qc= +github.com/buildpacks/pack v0.33.1/go.mod h1:NpkBDnewecivvLxQukx0kH09i7n6gLPovD53ceskL84= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= 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= @@ -313,8 +312,9 @@ github.com/clbanning/mxj/v2 v2.5.6/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn 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.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= 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= @@ -335,14 +335,14 @@ github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcD github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -354,26 +354,33 @@ github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc= github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI= +github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE= github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E= github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg= github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -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/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= +github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= -github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8= +github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= 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/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -405,8 +412,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1/go.mod h1:Az6Jt+M5idSED2YPGtwnfJV0kXohgdCBPmHGSYc1r04= -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/gdamore/tcell/v2 v2.7.0 h1:I5LiGTQuwrysAt1KS9wg1yFfOI3arI3ucFrxtd/xqaA= +github.com/gdamore/tcell/v2 v2.7.0/go.mod h1:hl/KtAANGBecfIPxk+FzKvThTqI84oplgbPEmVX60b8= github.com/getkin/kin-openapi v0.96.0 h1:VVbcSdQAJzfc5kCLU7z2ezw84czu3rbC6UG1BGGzahY= github.com/getkin/kin-openapi v0.96.0/go.mod h1:w4lRPHiyOdwGbOkLIyk+P0qCwlu7TXPCHD/64nSXzgE= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -415,18 +422,22 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.3/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= 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.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= 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= github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= @@ -450,6 +461,7 @@ github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/gohugoio/go-i18n/v2 v2.1.3-0.20210430103248-4c28c89f8013 h1:Nj29Qbkt0bZ/bJl8eccfxQp3NlU/0IW1v9eyYtQ53XQ= @@ -461,6 +473,7 @@ github.com/gohugoio/locales v0.14.0/go.mod h1:ip8cCAv/cnmVLzzXtiTpPwgJ4xhKZranqN github.com/gohugoio/localescompressed v1.0.1 h1:KTYMi8fCWYLswFyJAeOtuk/EkXR/KPTHHNN9OS+RTxo= github.com/gohugoio/localescompressed v1.0.1/go.mod h1:jBF6q8D7a0vaEmcWPNcAjUZLJaIVNiwvM3WlmTvooB0= github.com/gohugoio/testmodBuilder/mods v0.0.0-20190520184928-c56af20f2e95 h1:sgew0XCnZwnzpWxTt3V8LLiCO7OQi3C6dycaE67wfkU= +github.com/gohugoio/testmodBuilder/mods v0.0.0-20190520184928-c56af20f2e95/go.mod h1:bOlVlCa1/RajcHpXkrUXPSHB/Re1UnlXxD1Qp8SKOd8= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= @@ -523,8 +536,8 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/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-containerregistry v0.18.0 h1:ShE7erKNPqRh5ue6Z9DUOlk04WsnFWPO6YGr3OxnfoQ= +github.com/google/go-containerregistry v0.18.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= github.com/google/go-replayers/httpreplay v1.1.1 h1:H91sIMlt1NZzN7R+/ASswyouLJfW0WLW7fhyUFvDEkY= @@ -561,20 +574,22 @@ github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.4 h1:uGy6JWR/uMIILU8wbf+OkstIrNiMjGpEIyhx8f6W7s4= +github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= -github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -587,6 +602,7 @@ github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO0 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95 h1:S4qyfL2sEm5Budr4KVMyEniCy+PbS55651I/a+Kn/NQ= +github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95/go.mod h1:QiyDdbZLaJ/mZP4Zwc9g2QsfaEA4o7XvvgZegSci5/E= github.com/heroku/color v0.0.6 h1:UTFFMrmMLFcL3OweqP1lAdp8i1y/9oHqkeHjQ/b/Ny0= github.com/heroku/color v0.0.6/go.mod h1:ZBvOcx7cTF2QKOv4LbmoBtNl5uB17qWxGuzZrsi1wLU= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -649,17 +665,20 @@ github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqx github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -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/compress v1.17.1 h1:NE3C767s2ak2bweCZo3+rdP4U/HoyVXLv/X9f2gPS5g= +github.com/klauspost/compress v1.17.1/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= @@ -677,6 +696,7 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyokomi/emoji/v2 v2.2.9 h1:UWYkjplPZ4rMPvLxc+/e12/xTqoRcn55oUySkpZ554g= github.com/kyokomi/emoji/v2 v2.2.9/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= @@ -687,8 +707,8 @@ github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/magefile/mage v1.13.0 h1:XtLJl8bcCM7EFoO8FyH8XK3t7G5hQAeK+i4tq+veT9M= -github.com/magefile/mage v1.13.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= +github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= +github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= @@ -709,12 +729,15 @@ github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -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-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= 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-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -728,22 +751,26 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/buildkit v0.11.6 h1:VYNdoKk5TVxN7k4RvZgdeM4GOyRvIi4Z8MXOY7xvyUs= github.com/moby/buildkit v0.11.6/go.mod h1:GCqKfHhz+pddzfgaR7WmHVEE3nKKZMMDPpK8mh3ZLv4= -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/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= +github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= 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/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-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/montanaflynn/stats v0.6.3/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/muesli/smartcrop v0.3.0 h1:JTlSkmxWg/oQ1TcLDoypuirdE8Y/jzNirQeLkxpA6Oc= github.com/muesli/smartcrop v0.3.0/go.mod h1:i2fCI/UorTfgEpPPLWiFBv4pye+YAG78RwcQLUkocpI= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neurosnap/sentences v1.0.6/go.mod h1:pg1IapvYpWCJJm/Etxeh0+gtMf1rI1STY9S7eUCPbDc= github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= +github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/niklasfasching/go-org v1.6.5 h1:5YAIqNTdl6lAOb7lD2AyQ1RuFGPVrAKvUexphk8PGbo= github.com/niklasfasching/go-org v1.6.5/go.mod h1:ybv0eGDnxylFUfFE+ySaQc734j/L3+/ChKZ/h63a2wM= @@ -751,7 +778,8 @@ github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= +github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= +github.com/onsi/gomega v1.31.1/go.mod h1:y40C95dwAD1Nz36SsEnxvfFe8FFfNxzI5eJ0EYGyAy0= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= @@ -768,6 +796,7 @@ 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= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -775,7 +804,25 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= +github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/rivo/tview v0.0.0-20220610163003-691f46d6f500 h1:KvoRB2TMfMqK2NF2mIvZprDT/Ofvsa4RphWLoCmUDag= github.com/rivo/tview v0.0.0-20220610163003-691f46d6f500/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -801,16 +848,17 @@ github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQ github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= +github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shogo82148/go-shuffle v0.0.0-20180218125048-27e6095f230d/go.mod h1:2htx6lmL0NGLHlO8ZCf+lQBGBHIbEujyywxJArf+2Yc= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -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/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ= @@ -820,12 +868,12 @@ github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= -github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= +github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -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/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= 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.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= @@ -850,6 +898,7 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tdewolff/minify/v2 v2.11.9 h1:1q5728c0QICKlp2X1n7OiaiiFFzCzsq7uxAkv+eykT8= github.com/tdewolff/minify/v2 v2.11.9/go.mod h1:XHKhaRF/vTa3EP4JX8oZ2CO4crGEtVOiSoqUED953wM= github.com/tdewolff/parse/v2 v2.5.33/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho= @@ -866,9 +915,8 @@ github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPf github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= -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/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= +github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= 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/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -910,6 +958,7 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= gocloud.dev v0.25.0 h1:Y7vDq8xj7SyM848KXf32Krda2e6jQ4CLh/mTeCSqXtk= gocloud.dev v0.25.0/go.mod h1:7HegHVCYZrMiU3IE1qtnzf/vRrDwLYnRNR3EhWX8x9Y= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -934,8 +983,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -977,11 +1026,12 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= -golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -989,6 +1039,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1030,8 +1081,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1052,8 +1103,8 @@ golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= -golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1067,11 +1118,12 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1083,6 +1135,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1128,7 +1181,6 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1150,15 +1202,14 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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= @@ -1167,8 +1218,9 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1190,6 +1242,7 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -1252,8 +1305,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= +golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1304,16 +1357,17 @@ google.golang.org/api v0.69.0/go.mod h1:boanBiw+h5c3s+tBPgEzLDRHfFLWV0qXxRHz3ws7 google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= -google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.128.0 h1:RjPESny5CnQRn9V6siglged+DZCgfu9l6mO9dkX9VOg= +google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1398,12 +1452,12 @@ google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220401170504-314d38edb7de/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= -google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw= -google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a h1:fwgW9j3vHirt4ObdHoYNwuO24BEZjSzbh+zPaNWoiY8= +google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:EMfReVxb80Dq1hhioy0sOsY9jCE46YDgHlJ7fWVUWRE= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 h1:W18sezcAYs+3tDZX4F80yctqa12jcP1PUS2gQu1zTPU= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b h1:ZlWIi1wSK56/8hn4QcBp/j9M7Gt3U/3hZw3mC7vDICo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1451,6 +1505,7 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/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/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1480,6 +1535,7 @@ gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=