diff --git a/content/docs/app-journey.md b/content/docs/app-journey.md index 62f486145..91fc75a2e 100644 --- a/content/docs/app-journey.md +++ b/content/docs/app-journey.md @@ -63,7 +63,7 @@ cd samples/apps/java-maven 3. Build the app using [`pack`][pack-docs] ``` -pack build myapp --builder cnbs/sample-builder:jammy +pack build myapp --builder docker.io/cnbs/sample-builder:jammy ``` diff --git a/content/docs/for-app-developers/concepts/base-images/stack.md b/content/docs/for-app-developers/concepts/base-images/stack.md index 4642e0f76..44e6d5701 100644 --- a/content/docs/for-app-developers/concepts/base-images/stack.md +++ b/content/docs/for-app-developers/concepts/base-images/stack.md @@ -42,8 +42,8 @@ Stacks are used by [builders][builder] and are configured through a builder's [stack] id = "com.example.stack" - build-image = "example/build" - run-image = "example/run" + build-image = "docker.io/example/build" + run-image = "docker.io/example/run" run-image-mirrors = ["gcr.io/example/run", "registry.example.com/example/run"] ``` diff --git a/content/docs/for-app-developers/concepts/rebase.md b/content/docs/for-app-developers/concepts/rebase.md index ec0aa8aa1..7bc119289 100644 --- a/content/docs/for-app-developers/concepts/rebase.md +++ b/content/docs/for-app-developers/concepts/rebase.md @@ -24,12 +24,13 @@ If so, `rebase` updates the app image's layer metadata to reference the newer ba ### Example: Rebasing an app image -Consider an app image `my-app:my-tag` that was originally built using the default builder. -That builder has a reference to a run image called `pack/run`. -Running the following will update the base of `my-app:my-tag` with the latest version of `pack/run`. +Consider an app image `registry.example.com/example/my-app:my-tag` that was originally built using the default builder. +That builder has a reference to a run image called `registry.example.com/example/run`. +Running the following will update the base of `registry.example.com/example/my-app:my-tag` with the latest version of +`registry.example.com/example/run`. ```bash -$ pack rebase my-app:my-tag +$ pack rebase registry.example.com/example/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. diff --git a/content/docs/for-app-developers/concepts/reproducibility.md b/content/docs/for-app-developers/concepts/reproducibility.md index 8c5309d11..a3e728fc1 100644 --- a/content/docs/for-app-developers/concepts/reproducibility.md +++ b/content/docs/for-app-developers/concepts/reproducibility.md @@ -30,7 +30,7 @@ Running `pack build sample-hello-moon:test` multiple times produces a container - The same set of buildpacks (see caveat below). --- -Running `pack build cnbs/sample-hello-world:test --publish` multiple times produces a container image with the same image digest (*remote* case) +Running `pack build registry.example.com/example/sample-hello-world:test --publish` multiple times produces a container image with the same image digest (*remote* case) **Given**: - The same source code @@ -40,21 +40,30 @@ Running `pack build cnbs/sample-hello-world:test --publish` multiple times produ Inspecting the results of the above command, we see the following output: ```bash -$ docker pull cnbs/sample-hello-world:test && docker images --digest # Pull remotely created image and view IDs and Digests -REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE -sample-hello-world test sha256:9e3cfea3f90fb4fbbe855a2cc9ce505087ae10d6805cfcb44bd67a4b72628641 597c49cae461 40 years ago 95.2MB -sample-hello-moon-app test 86aab15e22b8 40 years ago 43MB +$ docker pull registry.example.com/example/sample-hello-world:test && docker images --digests # Pull remotely created image and view IDs and Digests +REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE +registry.example.com/example/sample-hello-world test sha256:9e3cfea3f90fb4fbbe855a2cc9ce505087ae10d6805cfcb44bd67a4b72628641 597c49cae461 40 years ago 95.2MB +sample-hello-moon test 86aab15e22b8 40 years ago 43MB ``` ### Consequences and Caveats -There are a couple things to note about the above output: +There are a couple of things to note about the above output: - We achieve reproducible builds by "zeroing" various timestamps of the layers of the output image. When images are inspected they may have confusing creation times (eg. "40 years ago"). -- The `cnbs/sample-hello-moon:test` image does not have an entry for the "DIGEST" column. This is because the digest is produced from the image's manifest and a manifest is only created when an image is stored in a remote registry. +- The `sample-hello-moon:test` image does not have an entry for the "DIGEST" column. This is because the digest is produced from the image's manifest and a manifest is only created when an image is stored in a remote registry. The CNB lifecycle cannot fix non-reproducible buildpack layer file contents. This means that the underlying buildpack and language ecosystem have to implement reproducible output (for example `go` binaries are reproducible by default). Buildpacks that produce identical layers given the same input could be said to be reproducible buildpacks. -Running `pack build cnbs/test-image:test && docker push cnbs/test-image:test` and `pack build cnbs/test-image:test --publish` with the same inputs will not produce the same image digest because: +Even with the same inputs, running two commands below will not produce the same image digest. + +```bash +# pack build and docker push +$ pack build registry.example.com/example/test-image:test && docker push registry.example.com/example/test-image:test + +# pack build with "--publish" flag +$ pack build registry.example.com/example/test-image:test --publish +``` + +This is because: - The remote image will have an image digest reference in the `runImage.reference` field in the `io.buildpacks.lifecycle.metadata` label - The local image will have an image ID in the `runImage.reference` field in the `io.buildpacks.lifecycle.metadata` label if it was created locally - diff --git a/content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md b/content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md index 817725886..eb2fb75bc 100644 --- a/content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md +++ b/content/docs/for-app-developers/how-to/build-inputs/configure-build-time-environment.md @@ -33,10 +33,10 @@ export FOO=BAR pack build sample-app \ --env "HELLO=WORLD" \ --env "FOO" \ - --builder cnbs/sample-builder:jammy \ - --buildpack samples/buildpacks/hello-world/ \ + --builder docker.io/cnbs/sample-builder:jammy \ + --buildpack samples/buildpacks/hello-world/ \ --buildpack samples/apps/bash-script/bash-script-buildpack/ \ - --path samples/apps/bash-script/ + --path samples/apps/bash-script/ ``` @@ -79,10 +79,10 @@ echo -en "HELLO=WORLD\nFOO" > ./envfile ``` pack build sample-app \ --env-file ./envfile \ - --builder cnbs/sample-builder:jammy \ - --buildpack samples/buildpacks/hello-world/ \ + --builder docker.io/cnbs/sample-builder:jammy \ + --buildpack samples/buildpacks/hello-world/ \ --buildpack samples/apps/bash-script/bash-script-buildpack/ \ - --path samples/apps/bash-script/ + --path samples/apps/bash-script/ ``` @@ -125,10 +125,10 @@ EOL 2. Build the app ``` pack build sample-app \ - --builder cnbs/sample-builder:jammy \ - --buildpack samples/buildpacks/hello-world/ \ + --builder docker.io/cnbs/sample-builder:jammy \ + --buildpack samples/buildpacks/hello-world/ \ --buildpack samples/apps/bash-script/bash-script-buildpack/ \ - --path samples/apps/bash-script/ + --path samples/apps/bash-script/ ``` diff --git a/content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md b/content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md index 50bc6ead9..31b5d4150 100644 --- a/content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md +++ b/content/docs/for-app-developers/how-to/build-inputs/specify-buildpacks.md @@ -39,10 +39,10 @@ For this example we will use a few buildpacks from our [samples][samples] repo. ``` pack build sample-java-maven-app \ - --builder cnbs/sample-builder:alpine \ + --builder registry.example.com/example/builder:alpine \ --buildpack samples/java-maven \ --buildpack samples/buildpacks/hello-processes/ \ - --buildpack docker://cnbs/sample-package:hello-universe \ + --buildpack docker://registry.example.com/example/sample-package:hello-universe \ --path samples/apps/java-maven/ ``` @@ -78,7 +78,7 @@ uri = "samples/java-maven" uri = "samples/buildpacks/hello-processes/" [[io.buildpacks.group]] -uri = "docker://cnbs/sample-package:hello-universe" +uri = "docker://registry.example.com/example/sample-package:hello-universe" ``` ## URI Examples diff --git a/content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md b/content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md index b11c61779..6d31196be 100644 --- a/content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-cache-image.md @@ -32,7 +32,7 @@ For the following examples we will use: Next we trust the `cnbs/sample-builder:jammy` builder in order to allow access to docker credentials when publishing. ``` -pack config trusted-builders add cnbs/sample-builder:jammy +pack config trusted-builders add docker.io/cnbs/sample-builder:jammy ``` @@ -42,7 +42,7 @@ To build the `localhost:5000/buildpack-examples/cache-image-example` application ``` pack build localhost:5000/buildpack-examples/cache-image-example \ - --builder cnbs/sample-builder:jammy \ + --builder docker.io/cnbs/sample-builder:jammy \ --buildpack samples/java-maven \ --path samples/apps/java-maven \ --cache-image localhost:5000/buildpack-examples/maven-cache-image:latest \ @@ -76,7 +76,7 @@ builds may also update the specified `cache-image`. The following command will restore data for the `samples/java-maven:maven_m2` layer from the cache image. ``` pack build localhost:5000/buildpack-examples/second-cache-image-example \ - --builder cnbs/sample-builder:jammy \ + --builder docker.io/cnbs/sample-builder:jammy \ --buildpack samples/java-maven \ --path samples/apps/java-maven \ --cache-image localhost:5000/buildpack-examples/maven-cache-image:latest \ diff --git a/content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md b/content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md index 121ee73e3..bc8f90413 100644 --- a/content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-project-toml.md @@ -45,8 +45,8 @@ To use a `project.toml` file, simply: ```shell script # build the app pack build sample-app \ - --builder cnbs/sample-builder:jammy \ - --path samples/apps/bash-script/ + --builder docker.io/cnbs/sample-builder:jammy \ + --path samples/apps/bash-script/ # run the app docker run sample-app @@ -55,9 +55,9 @@ docker run sample-app If the descriptor is named `project.toml`, it will be read by `pack` automatically. Otherwise, you can run: ```shell script pack build sample-app \ - --builder cnbs/sample-builder:jammy \ - --path samples/apps/bash-script/ \ - --descriptor samples/apps/bash-script/ + --builder docker.io/cnbs/sample-builder:jammy \ + --path samples/apps/bash-script/ \ + --descriptor samples/apps/bash-script/ ``` to specify an alternatively named `project descriptor`. @@ -99,8 +99,8 @@ Paste the above `toml` as `new-project.toml` in the `samples/apps/bash-script/` ```shell script # build the app pack build sample-app \ - --builder cnbs/sample-builder:jammy \ - --path samples/apps/bash-script/ \ + --builder docker.io/cnbs/sample-builder:jammy \ + --path samples/apps/bash-script/ \ --descriptor samples/apps/bash-script/new-project.toml # run the app diff --git a/content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md b/content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md index e5dc705f7..d1b0ea3fa 100644 --- a/content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md +++ b/content/docs/for-app-developers/how-to/build-inputs/use-volume-mounts.md @@ -83,7 +83,7 @@ Now, we can mount this volume during `pack build`: ```bash ls -al pack build volume-example \ - --builder cnbs/sample-builder:jammy \ + --builder docker.io/cnbs/sample-builder:jammy \ --buildpack samples/buildpacks/hello-world \ --path samples/apps/bash-script \ --volume test-volume:/platform/volume:ro diff --git a/content/docs/for-app-developers/how-to/build-outputs/download-sbom.md b/content/docs/for-app-developers/how-to/build-outputs/download-sbom.md index 128a09446..d19ccee1d 100644 --- a/content/docs/for-app-developers/how-to/build-outputs/download-sbom.md +++ b/content/docs/for-app-developers/how-to/build-outputs/download-sbom.md @@ -19,13 +19,13 @@ A **Software-Bill-of-Materials** (`SBOM`) lists all the software components incl 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 +pack sbom download my-app:my-tag ``` 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 +pack sbom download registry.example.com/example/my-app:my-tag --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`. diff --git a/content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md b/content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md index 49416927a..3fb2efe57 100644 --- a/content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md +++ b/content/docs/for-app-developers/how-to/build-outputs/specify-launch-process.md @@ -17,7 +17,7 @@ For this example we will use the `hello-processes` buildpack from our [samples][ Let's build the app. ``` pack build multi-process-app \ - --builder cnbs/sample-builder:alpine \ + --builder docker.io/cnbs/sample-builder:alpine \ --buildpack samples/java-maven \ --buildpack samples/buildpacks/hello-processes/ \ --path samples/apps/java-maven/ diff --git a/content/docs/for-app-developers/how-to/special-cases/build-for-arm.md b/content/docs/for-app-developers/how-to/special-cases/build-for-arm.md index b7952f367..28a898ab6 100644 --- a/content/docs/for-app-developers/how-to/special-cases/build-for-arm.md +++ b/content/docs/for-app-developers/how-to/special-cases/build-for-arm.md @@ -24,7 +24,7 @@ git clone https://github.com/buildpacks/samples If you're using an ARM64 computer (such as an Apple Silicon Mac, or an AWS Graviton instance), you can produce an ARM64 OCI image with [pack][pack] simply by setting your builder to `heroku/builder:24`: ``` -pack build java-maven-sample --path samples/apps/java-maven/ --builder heroku/builder:24 +pack build java-maven-sample --path samples/apps/java-maven/ --builder docker.io/heroku/builder:24 ``` diff --git a/content/docs/for-app-developers/how-to/special-cases/build-for-windows.md b/content/docs/for-app-developers/how-to/special-cases/build-for-windows.md index a8cce1661..d4870e423 100644 --- a/content/docs/for-app-developers/how-to/special-cases/build-for-windows.md +++ b/content/docs/for-app-developers/how-to/special-cases/build-for-windows.md @@ -65,7 +65,7 @@ To [build][build] an app you must first decide which [builder][builder] you're g includes the [buildpacks][buildpack] that will be used as well as the environment for building your app. -For this guide we're going to use a sample builder, `cnbs/sample-builder:dotnet-framework-1809`. +For this guide we're going to use a sample builder, `docker.io/cnbs/sample-builder:dotnet-framework-1809`. ### 2. Build your app @@ -79,7 +79,7 @@ git clone https://github.com/buildpacks/samples cd samples # build the app -pack build sample-app --path apps/aspnet --builder cnbs/sample-builder:dotnet-framework-1809 --trust-builder +pack build sample-app --path apps/aspnet --builder docker.io/cnbs/sample-builder:dotnet-framework-1809 --trust-builder ``` > **TIP:** The builder may take a few minutes to download on the first use. @@ -116,7 +116,7 @@ ssh -f -N -L 2375:127.0.0.1:2375 10.0.0.1 export DOCKER_HOST=tcp://localhost:2375 # build the app -pack build sample-app --path samples/apps/aspnet --builder cnbs/sample-builder:dotnet-framework-1809 --trust-builder +pack build sample-app --path samples/apps/aspnet --builder docker.io/cnbs/sample-builder:dotnet-framework-1809 --trust-builder # run it docker run --rm -it -p 8080:80 sample-app diff --git a/content/docs/for-app-developers/how-to/special-cases/build-on-podman.md b/content/docs/for-app-developers/how-to/special-cases/build-on-podman.md index 6f0d16c32..e07b0debe 100644 --- a/content/docs/for-app-developers/how-to/special-cases/build-on-podman.md +++ b/content/docs/for-app-developers/how-to/special-cases/build-on-podman.md @@ -49,7 +49,7 @@ git clone https://github.com/buildpacks/samples ![](https://i.imgur.com/0mmV6K7.png) ```shell=bash -pack build sample-app -p samples/apps/ruby-bundler/ -B cnbs/sample-builder:jammy +pack build sample-app -p samples/apps/ruby-bundler/ -B docker.io/cnbs/sample-builder:jammy ``` Where: diff --git a/content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md b/content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md index 9cb16d027..baf6239a3 100644 --- a/content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md +++ b/content/docs/for-app-developers/how-to/special-cases/export-to-oci-layout.md @@ -51,7 +51,7 @@ The OCI layout feature must be enabled using the convention `oci: --format=oci ``` It will give you `application/vnd.docker.distribution.manifest.list.v2+json`, which will fail because of the [state of our current implementation](https://github.com/buildpacks/rfcs/pull/203#discussion_r1092449172), we will improve this behavior in future versions. - - - - - diff --git a/content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md b/content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md index 8b095bfe1..a20ce4133 100644 --- a/content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md +++ b/content/docs/for-app-developers/how-to/special-cases/use-http-proxy.md @@ -17,10 +17,10 @@ We show how to solve both of these constraints. ## Making `pack` Proxy Aware -You may need the `pack` command-line tool to download buildpacks and images via your proxy. Building an application with an incorrectly configured proxy results in errors such as the following: +You may need the `pack` command-line tool to download buildpacks and images via your proxy. Building an application with an incorrectly configured proxy results in errors such as the following: ```console -$ pack build sample-app --path samples/apps/java-maven --builder cnbs/sample-builder:jammy +$ pack build sample-app --path samples/apps/java-maven --builder docker.io/cnbs/sample-builder:jammy ERROR: failed to build: failed to fetch builder image 'index.docker.io/cnbs/sample-builder:jammy' : Error response from daemon: Get "https//registry-1.docker.io/v2/": context deadline exceeded ``` @@ -38,10 +38,10 @@ The Docker project documents [how to configure configure the HTTP/HTTPS proxy](h Buildpacks may also need to be aware of your http and https proxies at build time. For example python, java and nodejs buildpacks need to be aware of proxies in order to resolve dependencies. To make buildpacks aware of proxies, export the `http_proxy` and `https_proxy` environment variables before invoking `pack`. For example: -```console +``` export http_proxy=http://user:pass@my-proxy.example.com:3128 export https_proxy=https://my-proxy.example.com:3129 -pack build sample-app --path samples/apps/java-maven --builder cnbs/sample-builder:jammy +pack build sample-app --path samples/apps/java-maven --builder docker.io/cnbs/sample-builder:jammy ``` ## Making your Application Proxy Aware diff --git a/content/docs/for-app-developers/tutorials/basic-app/_index.md b/content/docs/for-app-developers/tutorials/basic-app/_index.md index 83a6a2e92..dd6627485 100644 --- a/content/docs/for-app-developers/tutorials/basic-app/_index.md +++ b/content/docs/for-app-developers/tutorials/basic-app/_index.md @@ -41,12 +41,12 @@ ls samples || git clone https://github.com/buildpacks/samples 2. Build the app ``` -pack build sample-app --path samples/apps/java-maven --builder cnbs/sample-builder:jammy +pack build sample-app --path samples/apps/java-maven --builder docker.io/cnbs/sample-builder:jammy ``` > **TIP:** If you don't want to keep specifying a builder every time you build, you can set it as your default -> builder by running `pack config default-builder ` for example `pack config default-builder cnbs/sample-builder:jammy` +> builder by running `pack config default-builder ` for example `pack config default-builder docker.io/cnbs/sample-builder:jammy` ### 3. Run it diff --git a/content/docs/for-buildpack-authors/concepts/lifecycle-phases.md b/content/docs/for-buildpack-authors/concepts/lifecycle-phases.md index 1dad5e6a5..39d5e35f4 100644 --- a/content/docs/for-buildpack-authors/concepts/lifecycle-phases.md +++ b/content/docs/for-buildpack-authors/concepts/lifecycle-phases.md @@ -13,7 +13,7 @@ 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. +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. @@ -84,7 +84,7 @@ We build our application using the default builder and specify to only use the ` + poster="data:text/plain,$ pack build registry.fake/example --verbose --buildpack docker://registry.fake/buildpacks/nodejs:latest" src="/images/pack-hello-world-nodejs.cast"> Now that we understand the example application we can step through each of the Buildpack phases. @@ -100,16 +100,16 @@ At a high-level each layer: * Build phase - Executes buildpacks (via /bin/build). * Export phase - Creates an image and caches layers. -We consider each of the buildpacks phases in the context of our invocation of `pack build example --buildpack docker://registry.fake/buildpacks/nodejs:latest`. +We consider each of the buildpacks phases in the context of our invocation of `pack build registry.fake/example --buildpack docker://registry.fake/buildpacks/nodejs:latest`. ### Phase 1: Analyze -The analyze phase checks a registry for previous images called `example`. It resolves the image metadata making it available to the subsequent restore phase. In addition, analyze verifies that we have write access to the registry to create or update the image called `example`. +The analyze phase checks a registry for previous images called `registry.fake/example`. It resolves the image metadata making it available to the subsequent restore phase. In addition, analyze verifies that we have write access to the registry to create or update the image called `registry.fake/example`. -In our case `pack` tells us that there is no previous `example` image. It provides the output. +In our case `pack` tells us that there is no previous `registry.fake/example` image. It provides the output. ``` -Previous image with name "example" not found +Previous image with name "registry.fake/example" not found Analyzing image "98070ee549c522cbc08d15683d134aa0af1817fcdc56f450b07e6b4a7903f9b 0" ``` @@ -120,7 +120,7 @@ The analyze phase writes to disk the metadata it has found. The metadata is use The detect phase runs the `detect` binary of each buildpack in the order provided in the buildpack metadata. -The invocation of `pack build example --buildpack docker://registry.fake/buildpacks/nodejs:latest` explicitly defines a buildpack order. The command line invocation includes a single `nodejs` buildpack. In our example the detect phase runs the `detect` binary from each buildpack in the first order group. The `yarn-install` `detect` binary will fail as no yarn lock file is present in our source project. As the `detect` binary of a non-optional buildpack has failed, then detection of the entire build group containing `yarn-install` has failed. The detect phase then proceeds to run the `detect` binary of each buildpack in the second order group. As all non-optional buildpacks in this group have passed the detect phase, all the passing buildpacks are added to the build order. +The invocation of `pack build registry.fake/example --buildpack docker://registry.fake/buildpacks/nodejs:latest` explicitly defines a buildpack order. The command line invocation includes a single `nodejs` buildpack. In our example the detect phase runs the `detect` binary from each buildpack in the first order group. The `yarn-install` `detect` binary will fail as no yarn lock file is present in our source project. As the `detect` binary of a non-optional buildpack has failed, then detection of the entire build group containing `yarn-install` has failed. The detect phase then proceeds to run the `detect` binary of each buildpack in the second order group. As all non-optional buildpacks in this group have passed the detect phase, all the passing buildpacks are added to the build order. ![nodejs order groups](/images/order-groups-detect.svg) diff --git a/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md index 980fd0daa..ede66c174 100644 --- a/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md +++ b/content/docs/for-buildpack-authors/how-to/distribute-buildpacks/package-buildpack.md @@ -51,7 +51,7 @@ uri = "samples/buildpacks/hello-universe/" uri = "samples/buildpacks/hello-moon" [[dependencies]] -uri = "docker://cnbs/sample-package:hello-world" +uri = "docker://docker.io/cnbs/sample-package:hello-world" ``` > For more information about the configuration, see [package.toml][package-config] config. diff --git a/content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md index e273239d1..c1f7a4771 100644 --- a/content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md +++ b/content/docs/for-buildpack-authors/tutorials/basic-buildpack/01_setup-local-environment.md @@ -63,7 +63,7 @@ const server = http.createServer((req, res) => { console.log(`Server running at http://${hostname}:${port}/`) ``` -We also create a `package.json` file with the following contents: +We also create a `node-js-sample-app/package.json` file with the following contents: ```javascript diff --git a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md index c7348020f..1bb199442 100644 --- a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/build-base.md @@ -17,7 +17,7 @@ We need a Dockerfile similar to the following: ```Dockerfile # Define the base image -FROM ubuntu:jammy +FROM docker.io/ubuntu:jammy # Install packages that we want to make available at build time RUN apt-get update && \ @@ -71,5 +71,5 @@ To determine which values to provide, see [targets](/docs/for-buildpack-authors/ ## Build the build base image ```bash -docker build . -t cnbs/sample-base-build:jammy +docker build . -t docker.io/cnbs/sample-base-build:jammy ``` diff --git a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md index 8be4d64dd..8aecde3fc 100644 --- a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/builder.md @@ -34,7 +34,7 @@ uri = "samples/buildpacks/hello-processes" [[buildpacks]] # Packaged buildpacks to include in builder; # the "hello-universe" package contains the "hello-world" and "hello-moon" buildpacks -uri = "docker://cnbs/sample-package:hello-universe" +uri = "docker://docker.io/cnbs/sample-package:hello-universe" # Order used for detection [[order]] @@ -55,20 +55,20 @@ uri = "docker://cnbs/sample-package:hello-universe" # Base images used to create the builder [build] -image = "cnbs/sample-base-build:jammy" +image = "docker.io/cnbs/sample-base-build:jammy" [run] [[run.images]] -image = "cnbs/sample-base-run:jammy" +image = "docker.io/cnbs/sample-base-run:jammy" mirrors = ["other-registry.example.com/cnbs/sample-base-run:jammy"] # Stack (deprecated) used to create the builder [stack] id = "io.buildpacks.samples.stacks.jammy" # This image is used at runtime -run-image = "cnbs/sample-base-run:jammy" -run-image-mirrors = ["other-registry.example.com/cnbs/sample-base-run:jammy"] +run-image = "docker.io/cnbs/sample-base-run:jammy" +run-image-mirrors = ["registry.example.com/example/sample-base-run:jammy"] # This image is used at build-time -build-image = "cnbs/sample-base-build:jammy" +build-image = "docker.io/cnbs/sample-base-build:jammy" ``` ### 2. Create builder @@ -77,7 +77,7 @@ Creating a builder is now as simple as running the following command: ```bash # create builder -pack builder create my-builder:jammy --config ./builder.toml +pack builder create registry.example.com/example/my-builder:jammy --config ./builder.toml ``` > **TIP:** `builder create` has a `--publish` flag that can be used to publish the generated builder image to a registry. @@ -89,7 +89,7 @@ pack builder create my-builder:jammy --config ./builder.toml Let's go a little further and use our builder to [`build`][build] an app by running: ```bash -pack build my-app --builder my-builder:jammy --path samples/apps/java-maven/ +pack build my-app --builder registry.example.com/example/my-builder:jammy --path samples/apps/java-maven/ ``` ### 4. Running the app diff --git a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md index e355ecaf4..d9b858018 100644 --- a/content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/create-builder/run-base.md @@ -17,7 +17,7 @@ We need a Dockerfile similar to the following: ```Dockerfile # Define the base image -FROM ubuntu:jammy +FROM docker.io/ubuntu:jammy # Install packages that we want to make available at run time RUN apt-get update && \ @@ -62,5 +62,5 @@ To determine which values to provide, see [targets](/docs/for-buildpack-authors/ ## Build the run base image ```bash -docker build . -t cnbs/sample-base-run:jammy +docker build . -t docker.io/cnbs/sample-base-run:jammy ``` diff --git a/content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md b/content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md index 4633ffe28..6572419b9 100644 --- a/content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md +++ b/content/docs/for-platform-operators/how-to/build-inputs/declare-source-metadata.md @@ -92,8 +92,8 @@ type = "image" [source.metadata] path = "/source" - repository = "index.docker.io/example/image:latest" - refs = ["index.docker.io/example/image:mytag", "index.docker.io/example/image@sha256:146c4bce42545e6a4575283b32a7f01924ef86ce848273079693a42b52b27321"] + repository = "registry.example.com/example/my-app:latest" + refs = ["registry.example.com/example/my-app:my-tag", "registry.example.com/example/my-app@sha256:146c4bce42545e6a4575283b32a7f01924ef86ce848273079693a42b52b27321"] ``` ### Additive @@ -142,8 +142,8 @@ type = "image" [source.metadata] path = "/source" - repository = "index.docker.io/example/image:latest" - refs = ["index.docker.io/example/image:mytag", "index.docker.io/example/image@sha256:146c4bce42545e6a4575283b32a7f01924ef86ce848273079693a42b52b27321"] + repository = "registry.example.com/example/my-app:latest" + refs = ["registry.example.com/example/my-app:my-tag", "registry.example.com/example/my-app@sha256:146c4bce42545e6a4575283b32a7f01924ef86ce848273079693a42b52b27321"] url = "https://github.com/example/repo" ``` diff --git a/content/docs/for-platform-operators/how-to/integrate-ci/circleci.md b/content/docs/for-platform-operators/how-to/integrate-ci/circleci.md index 00cf92a8c..1098342c2 100644 --- a/content/docs/for-platform-operators/how-to/integrate-ci/circleci.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/circleci.md @@ -28,7 +28,7 @@ workflows: jobs: - pack/build: image-name: sample - builder: 'paketobuildpacks/builder:base' + builder: 'docker.io/paketobuildpacks/builder:base' ``` For more precise steps, see the `pack-orb` [documentation][pack-orb-docs] diff --git a/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md b/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md index 5a871928f..26fd0c0ad 100644 --- a/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders.md @@ -32,7 +32,7 @@ Here are some other related commands: * 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 `](/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack_config_trusted-builders_remove/). * You may trust any builder for the duration of a single build by using the `--trust-builder` flag with [`pack build`](/docs/for-platform-operators/how-to/integrate-ci/pack/cli/pack_build/). diff --git a/content/docs/for-platform-operators/how-to/integrate-ci/tekton.md b/content/docs/for-platform-operators/how-to/integrate-ci/tekton.md index 7d1089430..f55673868 100644 --- a/content/docs/for-platform-operators/how-to/integrate-ci/tekton.md +++ b/content/docs/for-platform-operators/how-to/integrate-ci/tekton.md @@ -153,7 +153,7 @@ spec: - name: SOURCE_SUBPATH value: "apps/java-maven" # This is the path within the samples repo you want to build (OPTIONAL, default: "") - name: BUILDER_IMAGE - value: paketobuildpacks/builder:base # This is the builder we want the task to use (REQUIRED) + value: docker.io/paketobuildpacks/builder:base # This is the builder we want the task to use (REQUIRED) - name: display-results runAfter: - buildpacks diff --git a/content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md index 64bfc6e98..195b9c90f 100644 --- a/content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.10-0.11.md @@ -40,13 +40,18 @@ This prevented rebasing by digest, among other use cases. In Platform 0.11, the original image may be specified separately from the destination image with the `previous-image` flag, as in the following: ```bash -/cnb/lifecycle/rebaser -previous-image some-original-image some-destination-image +/cnb/lifecycle/rebaser \ + -previous-image registry.example.com/example/my-app:org \ + registry.example.com/example/my-app:dst ``` As before, additional tags for the destination image can also be provided: ```bash -/cnb/lifecycle/rebaser -previous-image some-original-image -tag some-additional-tag:latest some-destination-image +/cnb/lifecycle/rebaser \ + -previous-image registry.example.com/example/my-app:org \ + -tag registry.example.com/example/my-app:latest \ + registry.example.com/example/my-app:dst ``` To use this feature, platforms can provide the new `-previous-image` flag to the `rebaser`. diff --git a/content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md index 1629d6516..9b59a21cc 100644 --- a/content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.11-0.12.md @@ -137,26 +137,26 @@ The new `builder.toml` schema is: ```toml [run] [[run.images]] -image = "cnbs/some-run-image" -mirrors = ["mirror1", "mirror2"] +image = "docker.io/example/run" +mirrors = ["gcr.io/example/run", "registry.example.com/example/run"] [build] -image = "cnbs/some-build-image" +image = "docker.io/example/build" ``` Run image information will be translated to `run.toml` in the builder with schema: ```toml [[images]] - image = "cnbs/some-run-image" - mirrors = ["mirror1", "mirror2"] + image = "docker.io/example/run" + mirrors = ["gcr.io/example/run", "registry.example.com/example/run"] ``` Run image information will also be translated to `stack.toml` (for compatibility with older platforms) in the builder with schema: ```toml [run-image] - image = "cnbs/some-run-image" - mirrors = ["mirror1", "mirror2"] + image = "docker.io/example/run" + mirrors = ["gcr.io/example/run", "registry.example.com/example/run"] ``` The old `builder.toml` schema is still valid: @@ -164,9 +164,9 @@ The old `builder.toml` schema is still valid: ```toml [stack] id = "some.stack.id" -run-image = "cnbs/some-run-image" -run-image-mirrors = ["mirror1", "mirror2"] -build-image = "cnbs/some-build-image" +run-image = "docker.io/example/run" +run-image-mirrors = ["gcr.io/example/run", "registry.example.com/example/run"] +build-image = "docker.io/example/build" ``` If the old `builder.toml` schema is used, run image information will be translated to the same `run.toml` and `stack.toml` file formats as above. diff --git a/content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md index 5cf7f0781..9eb4c0930 100644 --- a/content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md +++ b/content/docs/for-platform-operators/how-to/migrate/platform-api-0.9-0.10.md @@ -32,13 +32,13 @@ args = ["override-1", "override-2"] `always-1` and `always-2` are arguments that are always provided to `some-command`. If no user-provided arguments are specified when the application image is launched, `override-1` and `override-2` will also be provided. If user-provided arguments are specified, these will be provided **instead of** `override-1` and `override-2`. Example: ``` -docker run --entrypoint from-newer-buildpack my-image +docker run --entrypoint from-newer-buildpack registry.example.com/example/my-app ``` will result in the following command invocation: `some-command always-1 always-2 override-1 override-2`. However: ``` -docker run --entrypoint from-newer-buildpack my-image user-1 user-2 +docker run --entrypoint from-newer-buildpack registry.example.com/example/my-app user-1 user-2 ``` will result in the following command invocation: `some-command always-1 always-2 user-1 user-2`. @@ -50,7 +50,7 @@ For processes from newer buildpacks, upgrading the platform (without changing an As an example, the following on Platform API version 0.9: ``` -docker run --entrypoint from-newer-buildpack my-image user-1 user-2 +docker run --entrypoint from-newer-buildpack registry.example.com/example/my-app user-1 user-2 ``` will result in the following command invocation: `some-command always-1 always-2 override-1 override-2 user-1 user-2`, where overridable arguments are treated like regular arguments, and user-provided arguments are always appended. Upgrading the platform will cause `override-1` and `override-2` to be dropped, as shown above. @@ -68,13 +68,13 @@ args = ["always-1", "always-2"] The `command` list will never have more than one element. `always-1` and `always-2` are arguments that are always provided to `some-command`. If no user-provided arguments are specified when the application image is launched, `always-1` and `always-2` will be provided only. If user-provided arguments are specified, these will be **appended** to the `args` list. Example: ``` -docker run --entrypoint from-older-buildpack my-image +docker run --entrypoint from-older-buildpack registry.example.com/example/my-app ``` will result in the following command invocation: `some-command always-1 always-2`. However: ``` -docker run --entrypoint from-older-buildpack my-image user-1 user-2 +docker run --entrypoint from-older-buildpack registry.example.com/example/my-app user-1 user-2 ``` will result in the following command invocation: `some-command always-1 always-2 user-1 user-2`. diff --git a/data/pack/install.yml b/data/pack/install.yml index 301dd18a5..d12d22557 100644 --- a/data/pack/install.yml +++ b/data/pack/install.yml @@ -14,9 +14,9 @@ #### Tags * Use this tag to track the latest release: - * `buildpacksio/pack:latest` + * `docker.io/buildpacksio/pack:latest` * Use a version tag to pin a specific release: - * `buildpacksio/pack:` + * `docker.io/buildpacksio/pack:` * [other versions](https://hub.docker.com/r/buildpacksio/pack/tags) #### Usage @@ -29,7 +29,7 @@ docker run \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $PWD:/workspace -w /workspace \ - buildpacksio/pack build --builder + docker.io/buildpacksio/pack build --builder ``` - &homebrew name: Homebrew diff --git a/themes/buildpacks/static/images/pack-hello-world-nodejs.cast b/themes/buildpacks/static/images/pack-hello-world-nodejs.cast index 8c982c9c6..60819d0a0 100644 --- a/themes/buildpacks/static/images/pack-hello-world-nodejs.cast +++ b/themes/buildpacks/static/images/pack-hello-world-nodejs.cast @@ -1,5 +1,5 @@ {"version": 2, "width": 80, "height": 25, "timestamp": 1657723938, "idle_time_limit": 1.0, "env": {"SHELL": "/opt/homebrew/bin/bash", "TERM": "xterm-256color"}} -[0.079559, "o", "Error response from daemon: conflict: unable to remove repository reference \"example\" (must force) - container 0db28c3cd61b is using its referenced image d3bd4a0b0f10\r\n"] +[0.079559, "o", "Error response from daemon: conflict: unable to remove repository reference \"registry.fake/example\" (must force) - container 0db28c3cd61b is using its referenced image d3bd4a0b0f10\r\n"] [0.084779, "o", "\u001b[H\u001b[2J"] [0.090209, "o", "\u001b[?1034h$ "] [0.092132, "o", "\u001b["] @@ -10,41 +10,47 @@ [0.656374, "o", " b"] [0.748559, "o", "ui"] [0.840975, "o", "ld"] -[0.9381, "o", " e"] -[1.03159, "o", "xam"] -[1.125792, "o", "pl"] -[1.220231, "o", "e "] -[1.31229, "o", "--"] -[1.40592, "o", "ve"] -[1.500738, "o", "rbo"] -[1.594896, "o", "se"] -[1.785162, "o", " -"] -[1.879617, "o", "-b"] -[1.973787, "o", "ui"] -[2.068474, "o", "ldp"] -[2.162632, "o", "ac"] -[2.254715, "o", "k "] -[2.348842, "o", "do"] -[2.443116, "o", "ck"] -[2.536463, "o", "er:"] -[2.629926, "o", "//"] -[2.720655, "o", "re"] -[2.815347, "o", "gi"] -[2.908777, "o", "st"] -[3.003889, "o", "ry"] -[3.097536, "o", ".f"] -[3.286436, "o", "ak"] -[3.379736, "o", "e/"] -[3.940756, "o", "bu"] -[4.034545, "o", "ild"] -[4.129854, "o", "pa"] -[4.223589, "o", "ck"] -[4.314146, "o", "s/"] -[4.407892, "o", "no"] -[4.502507, "o", "dej"] -[4.597216, "o", "s:"] -[4.783788, "o", "la"] -[4.87724, "o", "te"] +[0.939319, "o", " re"] +[1.037663, "o", "gis"] +[1.136007, "o", "tr"] +[1.234351, "o", "y."] +[1.332695, "o", "fa"] +[1.431039, "o", "ke"] +[1.529383, "o", "/e"] +[1.627726, "o", "xam"] +[1.72607, "o", "pl"] +[1.824414, "o", "e "] +[1.922758, "o", "--"] +[2.021102, "o", "ve"] +[2.119446, "o", "rbo"] +[2.21779, "o", "se"] +[2.316134, "o", " -"] +[2.414478, "o", "-b"] +[2.512822, "o", "ui"] +[2.611166, "o", "ldp"] +[2.70951, "o", "ac"] +[2.807854, "o", "k "] +[2.906198, "o", "do"] +[3.004541, "o", "ck"] +[3.102885, "o", "er:"] +[3.201229, "o", "//"] +[3.299573, "o", "re"] +[3.397917, "o", "gi"] +[3.496261, "o", "st"] +[3.594605, "o", "ry"] +[3.692949, "o", ".f"] +[3.791293, "o", "ak"] +[3.889637, "o", "e/"] +[3.987981, "o", "bu"] +[4.086325, "o", "ild"] +[4.184669, "o", "pa"] +[4.283013, "o", "ck"] +[4.381356, "o", "s/"] +[4.4797, "o", "no"] +[4.578044, "o", "dej"] +[4.676388, "o", "s:"] +[4.774732, "o", "la"] +[4.873076, "o", "te"] [4.97142, "o", "st"] [5.065215, "o", "\u001b[0"] [5.159212, "o", "m"] @@ -65,7 +71,7 @@ [11.83871, "o", "Adding buildpack \u001b[94mexample/yarn-install@0.0.2\u001b[0m (diffID=sha256:f57bf53c89612c3311160c3ee3269ae2722bf0458e5d931e74753b42e329471d)\r\nAdding buildpack \u001b[94mexample/yarn-start@0.0.3\u001b[0m (diffID=sha256:427c75273cda4a0c50dc6390361aaecd05adf348271ad904d5f7f357ae9bab20)\r\nAdding buildpack \u001b[94mexample/node-engine@0.0.5\u001b[0m (diffID=sha256:89fdef43b493b54a30a2dabd64ff020e11bc96dad55019a22f62975a0be57bdb)\r\nAdding buildpack \u001b[94mexample/npm-install@0.0.2\u001b[0m (diffID=sha256:22f7a9932deefd2182498b844c226f0265af561e61ecf435c1496b61e675842e)\r\nAdding buildpack \u001b[94mexample/npm-start@0.0.2\u001b[0m (diffID=sha256:e3c9a25efa16ace06627a5921a98a2fe6df2090f225542ad20ef71472aa3353d)\r\nAdding buildpack \u001b[94mexample/procfile@0.0.2\u001b[0m (diffID=sha256:6587ae66d2844fb9c1deb10fbb030f66236c2026a723be71aa2673b35aff344e)\r\n"] [11.838805, "o", "Adding buildpack \u001b[94mexample/nodejs@0.0.4\u001b[0m (diffID=sha256:664944158a8294271850e50f6b6a5e175c70620f3e8c1faa9d7a4f5b12b23ca5)\r\nAdding buildpack \u001b[94mexample/yarn@0.0.3\u001b[0m (diffID=sha256:18d9fcfcbd3ddc5c091c4dc7c0920840db9c64d3a68b7c153f43fb01746e598f)\r\n"] [14.283132, "o", "Using build cache volume \u001b[94mpack-cache-library_example_latest-f7816b8f3425.build\u001b[0m\r\nRunning the \u001b[94mcreator\u001b[0m on OS \u001b[94mlinux\u001b[0m with:\r\nContainer Settings:\r\n"] -[14.283284, "o", " Args: \u001b[94m/cnb/lifecycle/creator -daemon -launch-cache /launch-cache -log-level debug -app /workspace -cache-dir /cache -run-image cnbs/sample-stack-run:bionic example\u001b[0m\r\n System Envs: \u001b[94mCNB_PLATFORM_API=0.8\u001b[0m\r\n Image: \u001b[94mpack.local/builder/796d69686a7168636a6a:latest\u001b[0m\r\n User: \u001b[94mroot\u001b[0m\r\n Labels: \u001b[94mmap[author:pack]\u001b[0m\r\nHost Settings:\r\n Binds: \u001b[94mpack-cache-library_example_latest-f7816b8f3425.build:/cache /var/run/docker.sock:/var/run/docker.sock pack-cache-library_example_latest-f7816b8f3425.launch:/launch-cache pack-layers-ardrxkmcst:/layers pack-app-ewomqovqzg:/workspace\u001b[0m\r\n Network Mode: \u001b[94m\u001b[0m\r\n"] +[14.283284, "o", " Args: \u001b[94m/cnb/lifecycle/creator -daemon -launch-cache /launch-cache -log-level debug -app /workspace -cache-dir /cache -run-image cnbs/sample-stack-run:bionic registry.fake/example\u001b[0m\r\n System Envs: \u001b[94mCNB_PLATFORM_API=0.8\u001b[0m\r\n Image: \u001b[94mpack.local/builder/796d69686a7168636a6a:latest\u001b[0m\r\n User: \u001b[94mroot\u001b[0m\r\n Labels: \u001b[94mmap[author:pack]\u001b[0m\r\nHost Settings:\r\n Binds: \u001b[94mpack-cache-library_example_latest-f7816b8f3425.build:/cache /var/run/docker.sock:/var/run/docker.sock pack-cache-library_example_latest-f7816b8f3425.launch:/launch-cache pack-layers-ardrxkmcst:/layers pack-app-ewomqovqzg:/workspace\u001b[0m\r\n Network Mode: \u001b[94m\u001b[0m\r\n"] [14.77181, "o", "\u001b[36m===> ANALYZING\u001b[0m\r\n"] [14.8345, "o", "Analyzing image \"d3bd4a0b0f104223fdfeff82ed35701bda03507e2f344c946717a460a74b7227\"\r\n"] [14.835838, "o", "Analyzing image \"98070ee549c522cbc08d15683d134aa0af1817fcdc56f450b07e6b4a7903f9b0\"\r\n"] @@ -146,12 +152,12 @@ [19.812886, "o", "Setting CNB_LAYERS_DIR=/layers\r\n"] [19.813317, "o", "Setting CNB_APP_DIR=/workspace\r\nSetting CNB_PLATFORM_API=0.8\r\nSetting CNB_DEPRECATION_MODE=quiet\r\nPrepending /cnb/process and /cnb/lifecycle to PATH\r\nSetting WORKDIR: '/workspace'\r\n"] [19.814291, "o", "Setting default process type 'web'\r\nSetting ENTRYPOINT: '/cnb/process/web'\r\n"] -[19.815027, "o", "Saving example...\r\n"] -[25.279734, "o", "*** Images (6591be01b232):\r\n example\r\n\r\n*** Image ID: 6591be01b2325ae61859bd8785b3dad81ff74f93dddf2a0a84f04a3bdf6de555\r\n"] +[19.815027, "o", "Saving registry.fake/example...\r\n"] +[25.279734, "o", "*** Images (6591be01b232):\r\n registry.fake/example\r\n\r\n*** Image ID: 6591be01b2325ae61859bd8785b3dad81ff74f93dddf2a0a84f04a3bdf6de555\r\n"] [25.282556, "o", "Reading buildpack directory: /layers/example_node-engine\r\nReading buildpack directory item: build.toml\r\nReading buildpack directory item: launch.toml\r\nReading buildpack directory item: node\r\nReading buildpack directory item: node.toml\r\nReusing tarball for layer \"example/node-engine:node\" with SHA: sha256:6ac1a8b14410f49cd70d3d99e417b99babf380fd3125d6558dd1eedc77a64f96\r\nReusing cache layer 'example/node-engine:node'\r\nLayer 'example/node-engine:node' SHA: sha256:6ac1a8b14410f49cd70d3d99e417b99babf380fd3125d6558dd1eedc77a64f96\r\n"] [25.282701, "o", "Reading buildpack directory: /layers/example_npm-install\r\nReading buildpack directory item: modules\r\nReading buildpack directory item: modules.toml\r\nReading buildpack directory item: npm-cache\r\nReading buildpack directory item: npm-cache.toml\r\n"] [25.283785, "o", "Reusing tarball for layer \"example/npm-install:modules\" with SHA: sha256:8af63f1830260914c7fb3035a8e3571d827c4794751e78947ed15023bf126a7d\r\nReusing cache layer 'example/npm-install:modules'\r\nLayer 'example/npm-install:modules' SHA: sha256:8af63f1830260914c7fb3035a8e3571d827c4794751e78947ed15023bf126a7d\r\n"] [25.284453, "o", "Reusing tarball for layer \"example/npm-install:npm-cache\" with SHA: sha256:2722e8ba23077a19d55b5fc7768bde14b735d36049fb3afb26bc46e969fe1344\r\nReusing cache layer 'example/npm-install:npm-cache'\r\nLayer 'example/npm-install:npm-cache' SHA: sha256:2722e8ba23077a19d55b5fc7768bde14b735d36049fb3afb26bc46e969fe1344\r\nReading buildpack directory: /layers/example_npm-start\r\n"] [25.284678, "o", "Reading buildpack directory item: launch.toml\r\n"] -[25.563929, "o", "Successfully built image \u001b[94mexample\u001b[0m\r\n"] +[25.563929, "o", "Successfully built image \u001b[94mregistry.fake/example\u001b[0m\r\n"] [25.569356, "o", "\r\n"]