From e55fbc9e82e2ad8e0dd09b508bcf4c9fedb80e43 Mon Sep 17 00:00:00 2001 From: Erika Heidi Date: Mon, 11 Sep 2023 15:22:22 +0200 Subject: [PATCH 1/5] Moving tutorials to top-level menu --- .../chainguard-images/comparing-images.md | 4 ++-- .../debugging-distroless-images.md | 2 +- content/chainguard/chainguard-images/faq.md | 12 ++++++------ .../chainguard-images/reference/_index.md | 2 ++ .../chainguard-images/registry/_index.md | 3 ++- .../chainguard-images/tutorials/_index.md | 13 +++++++++++++ .../go => tutorials}/getting-started-go.md | 12 ++++++------ .../getting-started-mariadb/index.md | 8 ++++---- .../mdb-demo-success-1.png | Bin .../mdb-demo-success-2.png | Bin .../getting-started-node.md | 2 +- .../php => tutorials}/getting-started-php.md | 4 ++-- .../getting-started-postgres/index.md | 12 ++++++------ .../pg-demo-success-1.png | Bin .../pg-demo-success-2.png | Bin .../getting-started-python.md | 18 +++++++++--------- .../getting-started-ruby.md | 2 +- .../using-the-tag-history-api.md | 18 +++++++++--------- .../chainguard-images/videos/_index.md | 4 ++-- 19 files changed, 66 insertions(+), 50 deletions(-) create mode 100644 content/chainguard/chainguard-images/tutorials/_index.md rename content/chainguard/chainguard-images/{reference/go => tutorials}/getting-started-go.md (97%) rename content/chainguard/chainguard-images/{reference/mariadb => tutorials}/getting-started-mariadb/index.md (98%) rename content/chainguard/chainguard-images/{reference/mariadb => tutorials}/getting-started-mariadb/mdb-demo-success-1.png (100%) rename content/chainguard/chainguard-images/{reference/mariadb => tutorials}/getting-started-mariadb/mdb-demo-success-2.png (100%) rename content/chainguard/chainguard-images/{reference/node => tutorials}/getting-started-node.md (99%) rename content/chainguard/chainguard-images/{reference/php => tutorials}/getting-started-php.md (99%) rename content/chainguard/chainguard-images/{reference/postgres => tutorials}/getting-started-postgres/index.md (98%) rename content/chainguard/chainguard-images/{reference/postgres => tutorials}/getting-started-postgres/pg-demo-success-1.png (100%) rename content/chainguard/chainguard-images/{reference/postgres => tutorials}/getting-started-postgres/pg-demo-success-2.png (100%) rename content/chainguard/chainguard-images/{reference/python => tutorials}/getting-started-python.md (97%) rename content/chainguard/chainguard-images/{reference/ruby => tutorials}/getting-started-ruby.md (99%) diff --git a/content/chainguard/chainguard-images/comparing-images.md b/content/chainguard/chainguard-images/comparing-images.md index 1781315dad..d8623d318d 100644 --- a/content/chainguard/chainguard-images/comparing-images.md +++ b/content/chainguard/chainguard-images/comparing-images.md @@ -11,7 +11,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 400 +weight: 470 toc: true --- @@ -143,4 +143,4 @@ Another potential use could be in cases where you're interested in knowing the d ## Learn more To learn more about the `chainctl image` subcommands, we encourage you to check out our -[`chainctl` command resources](/chainguard/chainctl/chainctl-docs/chainctl_images/). You can also explore the rest of our [Chainguard Images resources](/chainguard/chainguard-images/) to learn more about how Images can help you keep your software secure by default. \ No newline at end of file +[`chainctl` command resources](/chainguard/chainctl/chainctl-docs/chainctl_images/). You can also explore the rest of our [Chainguard Images resources](/chainguard/chainguard-images/) to learn more about how Images can help you keep your software secure by default. diff --git a/content/chainguard/chainguard-images/debugging-distroless-images.md b/content/chainguard/chainguard-images/debugging-distroless-images.md index dfc49ce039..d94bcc6e10 100644 --- a/content/chainguard/chainguard-images/debugging-distroless-images.md +++ b/content/chainguard/chainguard-images/debugging-distroless-images.md @@ -11,7 +11,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 800 +weight: 400 toc: true --- diff --git a/content/chainguard/chainguard-images/faq.md b/content/chainguard/chainguard-images/faq.md index 85dce31d1f..fb4a41326b 100644 --- a/content/chainguard/chainguard-images/faq.md +++ b/content/chainguard/chainguard-images/faq.md @@ -11,7 +11,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 500 +weight: 420 toc: true --- @@ -36,7 +36,7 @@ We call Wolfi an undistro because unlike a typical Linux distribution, Wolfi is There are currently over 100 Chainguard Images available, which are segmented in [three catalog tiers](#what-are-the-different-catalog-tiers-of-chainguard-images). You can read more about the tiers in the [next question](#what-are-the-different-catalog-tiers-of-chainguard-images). -Our full Images Catalog is available on the Chainguard Console at [https://console.enforce.dev/images/catalog](https://console.enforce.dev/images/catalog) (you will need to be logged in). +Our full Images Catalog is available on the Chainguard Console at [https://console.enforce.dev/images/catalog](https://console.enforce.dev/images/catalog) (you will need to be logged in). To review our public catalog, you can check out either the [Chainguard Images Reference Docs](https://edu.chainguard.dev/chainguard/chainguard-images/reference/) or the [GitHub Repository](https://github.com/chainguard-images). @@ -44,7 +44,7 @@ Chainguard Images are available through the [Chainguard Registry](/chainguard/ch ## What are the different catalog tiers of Chainguard Images? -The Public Chainguard Images Catalog is available at no cost to users. Our paid catalogs currently include Standard and Custom subscription tiers, featuring enterprise-grade patching SLAs and customer support. +The Public Chainguard Images Catalog is available at no cost to users. Our paid catalogs currently include Standard and Custom subscription tiers, featuring enterprise-grade patching SLAs and customer support. The **Public Catalog** includes no cost access to the latest version of all images from applications and middleware, development and build tools and language runtimes. @@ -57,7 +57,7 @@ Review the comparison table below for additional information about our catalog t Catalog | Public Catalog | Standard Catalog | Custom Catalog --------|----------------|------------------|--------------- **Versions** | `:latest`, `:latest-dev`, and images by digest | All upstream supported version tags including ``:latest`` and ``:latest-dev`` | All upstream supported version tags including ``:latest`` and ``:latest-dev``, plus end-of-life versions -**Image Signatures** | Yes | Yes | Yes +**Image Signatures** | Yes | Yes | Yes **SBOMS and Attestations** | Yes | Yes | Yes **SLSA Provenance** | Build Level 2 | Build Level 2 | Build Level 2 **Notifications** | Only when logged in, via email | Yes, webhook and email | Yes, webhook and email @@ -82,10 +82,10 @@ Chainguard Images are designed to be minimalist, and many of them are distroless Chainguard Images are rebuilt every night to ensure that new package versions and security updates in upstream Wolfi are quickly applied. ## Do I need to authenticate into Chainguard to use Chainguard Images? -Logging in is optional if you are only using `:latest` and `:latest-dev` tags or image digests. +Logging in is optional if you are only using `:latest` and `:latest-dev` tags or image digests. As of August 16, 2023, all other tags for Chainguard Images in the Public catalog are unavailable without paying for access to the Standard or Custom catalogs. This means that Public catalog users, including open source projects, will either need to pin to the digest they currently use, migrate to the software version associated with `:latest`, or build upon [wolfi-base](/chainguard/chainguard-images/reference/wolfi-base/) to build their desired image. -There are benefits for all users who authenticate to the Chainguard Registry, as Chainguard provides notifications of version updates, breaking changes, or critical security updates. However, users can continue to pull Images by digest or Images tagged `:latest` anonymously. +There are benefits for all users who authenticate to the Chainguard Registry, as Chainguard provides notifications of version updates, breaking changes, or critical security updates. However, users can continue to pull Images by digest or Images tagged `:latest` anonymously. To learn how to authenticate into the Chainguard Registry, you can review our [authentication documentation](/chainguard/chainguard-images/registry/authenticating/). You can read more about our Images catalogs and some of the thought process behind authentication in our blog post, [Scaling Chainguard Images with a growing catalog and proactive security updates](https://www.chainguard.dev/unchained/scaling-chainguard-images-with-a-growing-catalog-and-proactive-security-updates). You can read about the August 16, 2023 changes in the [Important updates for Chainguard Images public catalog users](https://www.chainguard.dev/unchained/important-updates-for-chainguard-images-public-catalog-users) blog post. diff --git a/content/chainguard/chainguard-images/reference/_index.md b/content/chainguard/chainguard-images/reference/_index.md index 4ac2257b78..0b259d89b7 100644 --- a/content/chainguard/chainguard-images/reference/_index.md +++ b/content/chainguard/chainguard-images/reference/_index.md @@ -1,11 +1,13 @@ --- title: "Chainguard Images Reference" +linktitle: "Reference" description: "Chainguard Images Reference Docs" type: "article" date: 2022-11-28T08:49:15+00:00 lastmod: 2022-11-28T08:49:15+00:00 draft: false images: [] +weight: 990 --- Reference docs for Chainguard Images diff --git a/content/chainguard/chainguard-images/registry/_index.md b/content/chainguard/chainguard-images/registry/_index.md index d6c2951514..6944a7f866 100644 --- a/content/chainguard/chainguard-images/registry/_index.md +++ b/content/chainguard/chainguard-images/registry/_index.md @@ -7,4 +7,5 @@ date: 2023-03-21T08:48:45+00:00 lastmod: 2023-03-22T08:48:45+00:00 draft: false images: [] ---- \ No newline at end of file +weight: 950 +--- diff --git a/content/chainguard/chainguard-images/tutorials/_index.md b/content/chainguard/chainguard-images/tutorials/_index.md new file mode 100644 index 0000000000..d7ed6370e7 --- /dev/null +++ b/content/chainguard/chainguard-images/tutorials/_index.md @@ -0,0 +1,13 @@ +--- +title: "Chainguard Images Tutorials" +linktitle: "Tutorials" +description: "Tutorials on how to use Chainguard Images" +type: "article" +date: 2023-09-10T08:49:15+00:00 +lastmod: 2023-09-10T08:49:15+00:00 +draft: false +images: [] +weight: 500 +--- + +Chainguard Images Tutorials diff --git a/content/chainguard/chainguard-images/reference/go/getting-started-go.md b/content/chainguard/chainguard-images/tutorials/getting-started-go.md similarity index 97% rename from content/chainguard/chainguard-images/reference/go/getting-started-go.md rename to content/chainguard/chainguard-images/tutorials/getting-started-go.md index 9d83fa3a5e..0efe7ba07c 100644 --- a/content/chainguard/chainguard-images/reference/go/getting-started-go.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-go.md @@ -8,14 +8,14 @@ draft: false images: [] menu: docs: - parent: "go-guides" + parent: "tutorials" weight: 610 toc: true --- The Go images based on Wolfi and maintained by Chainguard provide distroless images that are suitable for building Go workloads. -Chainguard offers a minimal runtime image designed for running Go workloads, and a development image that contains a shell and the standard Go build tooling. +Chainguard offers a minimal runtime image designed for running Go workloads, and a development image that contains a shell and the standard Go build tooling. We'll demonstrate two ways that you can build the Go image. The [first example](#example-1-minimal-go-chainguard-image-built-with-ko) will show how to build the Go Chainguard Image with [ko](https://ko.build/). ko enables you to build images from Go programs and push them to container registries without requiring a Dockerfile. The [second example](#example-2--multistage-docker-build-for-go-chainguard-image) will show how to create a [multi-stage Docker build](https://docs.docker.com/build/building/multi-stage/) that uses the [glibc-dynamic runtime image](/chainguard/chainguard-images/reference/glibc-dynamic/overview/) along with the Go Chainguard Image. @@ -48,7 +48,7 @@ First, create a directory for your app. You can use any meaningful name and path mkdir ~/go-digester/ && cd $_ ``` -Next, initialize your app by creating a new module and installing dependencies. +Next, initialize your app by creating a new module and installing dependencies. ```shell go mod init go-digester @@ -106,7 +106,7 @@ With the program running as expected, you're ready to move onto either or both e ## Example 1 — Minimal Go Chainguard Image Built with ko -In this example, we'll build a distroless Go Chainguard Image with ko from the demo app we created in the [prerequisite step](#prerequisite--setting-up-a-demo-application-in-go). +In this example, we'll build a distroless Go Chainguard Image with ko from the demo app we created in the [prerequisite step](#prerequisite--setting-up-a-demo-application-in-go). ko offers fast container image builds for Go applications. It builds images by executing `go build` on your local machine, and because of this, you are not required to have Docker installed to build the image. Additionally, ko produces [SBOMs](/open-source/sbom/what-is-an-sbom/) by default, supporting a holistic approach to software security. @@ -153,7 +153,7 @@ Now that you have built the Go Chainguard Image with ko, you can continue onto [ Because Go applications are compiled and the toolchain is not typically required in a runtime image, we suggest the usage of a [multi-stage Docker build](https://docs.docker.com/build/building/multi-stage/) that uses the [glibc-dynamic runtime image](/chainguard/chainguard-images/reference/glibc-dynamic/overview/). In some cases, the [static image](/chainguard/chainguard-images/reference/static/overview/) may be used as well for an even smaller image, but extra care must be taken to ensure the Go binary is statically-compiled. -For this multi-stage build, we'll use two `FROM` lines in our Dockerfile. To create this Dockerfile, you can use any code editor of your choice, we'll use Nano for demonstation purposes. +For this multi-stage build, we'll use two `FROM` lines in our Dockerfile. To create this Dockerfile, you can use any code editor of your choice, we'll use Nano for demonstation purposes. ```shell nano Dockerfile @@ -168,7 +168,7 @@ The following Dockerfile will: ```Dockerfile FROM cgr.dev/chainguard/go AS builder -COPY . /app +COPY ../reference/go /app RUN cd /app && go build -o go-digester . FROM cgr.dev/chainguard/glibc-dynamic diff --git a/content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/index.md b/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/index.md similarity index 98% rename from content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/index.md rename to content/chainguard/chainguard-images/tutorials/getting-started-mariadb/index.md index 69dbf499a2..06a4ad5e75 100644 --- a/content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/index.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/index.md @@ -8,14 +8,14 @@ draft: false images: [] menu: docs: - parent: "mariadb-guides" + parent: "tutorials" weight: 610 toc: true --- The MariaDB Image based on Wolfi and maintained by Chainguard provide a distroless container Image that is suitable for building and running MariaDB workloads. -Because Chainguard Images (including the MariaDB image) are rebuilt daily with the latest sources and include the absolute minimum of dependencies, they have significantly less vulnerabilities than equivalent images, typically zero. This means you can use the Chainguard MariaDB Image to run MariaDB databases in containerized environments with a smaller footprint and greater security. +Because Chainguard Images (including the MariaDB image) are rebuilt daily with the latest sources and include the absolute minimum of dependencies, they have significantly less vulnerabilities than equivalent images, typically zero. This means you can use the Chainguard MariaDB Image to run MariaDB databases in containerized environments with a smaller footprint and greater security. In order to illustrate how the MariaDB Chainguard Image might be used in practice, this tutorial involves setting up an example PHP application that uses a MariaDB database. This guide assumes you have Docker installed to run the demo; specifically, the procedure outlined in this guide uses [Docker Compose](https://docs.docker.com/compose/install/) to manage the environment on your local machine. @@ -102,7 +102,7 @@ docker compose up -d The `-d` option is short for `--detach`; this will cause the containers to run in the background, allowing you to continue using the same terminal window. If you run into permissions issues when running this command, try running it again with `sudo` privileges. -> **Note**: If at any point you'd like to stop and remove these containers, run `docker compose down`. +> **Note**: If at any point you'd like to stop and remove these containers, run `docker compose down`. Once all the containers have started, you'll be able to visit the application and observe it working. Open up your preferred web browser and navigate to `localhost:8000`. There, you'll be presented with text like the following. @@ -188,4 +188,4 @@ Of course, you likely won't be regularly managing your containerized databases o ## Advanced Usage -{{< blurb/images-advanced image="MariaDB" >}} \ No newline at end of file +{{< blurb/images-advanced image="MariaDB" >}} diff --git a/content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/mdb-demo-success-1.png b/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-1.png similarity index 100% rename from content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/mdb-demo-success-1.png rename to content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-1.png diff --git a/content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/mdb-demo-success-2.png b/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-2.png similarity index 100% rename from content/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/mdb-demo-success-2.png rename to content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-2.png diff --git a/content/chainguard/chainguard-images/reference/node/getting-started-node.md b/content/chainguard/chainguard-images/tutorials/getting-started-node.md similarity index 99% rename from content/chainguard/chainguard-images/reference/node/getting-started-node.md rename to content/chainguard/chainguard-images/tutorials/getting-started-node.md index 80c345e797..38b2ccc06f 100644 --- a/content/chainguard/chainguard-images/reference/node/getting-started-node.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-node.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "node-guides" + parent: "tutorials" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/reference/php/getting-started-php.md b/content/chainguard/chainguard-images/tutorials/getting-started-php.md similarity index 99% rename from content/chainguard/chainguard-images/reference/php/getting-started-php.md rename to content/chainguard/chainguard-images/tutorials/getting-started-php.md index 96b82975fd..90d9477293 100644 --- a/content/chainguard/chainguard-images/reference/php/getting-started-php.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-php.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "php-guides" + parent: "tutorials" weight: 610 toc: true --- @@ -163,7 +163,7 @@ Copy this content to your own `Dockerfile`: ```Dockerfile FROM cgr.dev/chainguard/php:latest-dev AS builder USER root -COPY . /app +COPY ../reference/php /app RUN chown -R php /app USER php RUN cd /app && \ diff --git a/content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/index.md b/content/chainguard/chainguard-images/tutorials/getting-started-postgres/index.md similarity index 98% rename from content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/index.md rename to content/chainguard/chainguard-images/tutorials/getting-started-postgres/index.md index fdb24abf5d..6aafecbf7c 100644 --- a/content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/index.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-postgres/index.md @@ -8,14 +8,14 @@ draft: false images: [] menu: docs: - parent: "postgres-guides" + parent: "tutorials" weight: 610 toc: true --- PostgreSQL — commonly known as "Postgres" — is a popular open-source relational database. The PostgreSQL Images based on Wolfi and maintained by Chainguard provide distroless Images that are suitable for building and running PostgreSQL workloads. -Because Chainguard Images (including the PostgreSQL image) are rebuilt daily with the latest sources and include the absolute minimum of dependencies, they have significantly fewer vulnerabilities than equivalent images, typically zero. This means you can use the Chainguard PostgreSQL Image to run Postgres databases in containerized environments with a smaller footprint and greater security. +Because Chainguard Images (including the PostgreSQL image) are rebuilt daily with the latest sources and include the absolute minimum of dependencies, they have significantly fewer vulnerabilities than equivalent images, typically zero. This means you can use the Chainguard PostgreSQL Image to run Postgres databases in containerized environments with a smaller footprint and greater security. In order to illustrate how the PostgreSQL Chainguard Image might be used in practice, this tutorial involves setting up an example PHP application that uses a Postgres database. This guide assumes you have Docker installed to run the demo; specifically, the procedure outlined in this guide uses [Docker Compose](https://docs.docker.com/compose/install/) to manage the environment on your local machine. @@ -88,7 +88,7 @@ Once the environment is up, you can visit the demo in your web browser. The `ind Every time you reload the page, a new entry will be added to the table. -Note that this application includes a Dockerfile. +Note that this application includes a Dockerfile. ```sh cat Dockerfile @@ -102,7 +102,7 @@ RUN apk update && apk add php-pgsql USER php ``` -This Dockerfile takes the public `php:latest-fpm-dev` Chainguard Image and installs the `php-pgsql` package onto it. This image comes with drivers that allow PHP applications to connect to MySQL or MariaDB databases by default but it doesn't have an equivalent for PostgreSQL. For this reason, we use this Dockerfile to install this package in order for the PHP application to be able to connect to the Postgres database. +This Dockerfile takes the public `php:latest-fpm-dev` Chainguard Image and installs the `php-pgsql` package onto it. This image comes with drivers that allow PHP applications to connect to MySQL or MariaDB databases by default but it doesn't have an equivalent for PostgreSQL. For this reason, we use this Dockerfile to install this package in order for the PHP application to be able to connect to the Postgres database. Execute the following command to build an image with this Dockerfile, and then create and start each of the three containers and bring up the application. @@ -112,11 +112,11 @@ docker compose up -d The `-d` option is short for `--detach`; this will cause the containers to run in the background, allowing you to continue using the same terminal window. If you run into permissions issues when running this command, try running it again with `sudo` privileges. -> **Note**: If at any point you'd like to stop and remove these containers, run `docker compose down`. +> **Note**: If at any point you'd like to stop and remove these containers, run `docker compose down`. Once all the containers have started, you'll be able to visit the application and observe it working. Open up your preferred web browser and navigate to `localhost:8000`. There, you'll be presented with text like the following -![Screenshot showing a Firefox web browser window with "localhost:8000" in the address bar. On the page is the following text: "Array ( [data_key] => code [data_value] => 8404 )"](pg-demo-success-1.png) +![Screenshot showing a Firefox web browser window with "localhost:8000" in the address bar. On the page is the following text: "Array ( [data_key] => code [data_value] => 8404 )"](pg-demo-success-1.png) Every time you refresh your browser, a new entry will appear. diff --git a/content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/pg-demo-success-1.png b/content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-1.png similarity index 100% rename from content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/pg-demo-success-1.png rename to content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-1.png diff --git a/content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/pg-demo-success-2.png b/content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-2.png similarity index 100% rename from content/chainguard/chainguard-images/reference/postgres/getting-started-postgres/pg-demo-success-2.png rename to content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-2.png diff --git a/content/chainguard/chainguard-images/reference/python/getting-started-python.md b/content/chainguard/chainguard-images/tutorials/getting-started-python.md similarity index 97% rename from content/chainguard/chainguard-images/reference/python/getting-started-python.md rename to content/chainguard/chainguard-images/tutorials/getting-started-python.md index 2dc274d9a4..bd17e8b795 100644 --- a/content/chainguard/chainguard-images/reference/python/getting-started-python.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-python.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "python-guides" + parent: "tutorials" weight: 610 toc: true --- @@ -84,7 +84,7 @@ curl -O https://github.com/raw/chainguard-dev/edu-images-demos/main/p At this point, you can run the script and be sure you are satisfied with the functionality. It is recommended that you use a Python programming environment. Ensure whether you will be using the `python` or `python3` command. ```shell -python main.py +python main.py ``` You should receive the output of a randomized octopus fact. @@ -95,11 +95,11 @@ The wolfi octopus was discovered in 1913. The demo application is now ready. In the next step, you’ll create a Dockerfile to run your app. -### Step 2: Creating the Dockerfile +### Step 2: Creating the Dockerfile For this single-stage build, we'll only use one `FROM` line in our Dockerfile. Our resulting image will be based on the distroless Python Wolfi image, which means it doesn’t come with a package manager or even a shell. -We'll begin by creating a Dockerfile. Again, you can use any code editor of your choice, we'll use Nano for demonstation purposes. +We'll begin by creating a Dockerfile. Again, you can use any code editor of your choice, we'll use Nano for demonstation purposes. ```shell nano Dockerfile @@ -146,11 +146,11 @@ You have successfully completed the single-stage Python Chainguard Image. At thi ## Example 2 — Multi-Stage Build for Python Chainguard Image -In this example, we'll build and run a multi-stage Python Chainguard Image to demonstrate the process that includes a build image with pip and a shell, and a final distroless image. +In this example, we'll build and run a multi-stage Python Chainguard Image to demonstrate the process that includes a build image with pip and a shell, and a final distroless image. ### Step 1: Setting up a Demo Application -We'll start by creating a Python application that will take in an image file and convert it to ANSI escape sequences on the CLI to render an image. +We'll start by creating a Python application that will take in an image file and convert it to ANSI escape sequences on the CLI to render an image. To begin, create a directory for your app. You can use any meaningful name and path that resonates with you, our example will use `inky/`. @@ -202,7 +202,7 @@ python inky.py You'll receive a representation of the Chainguard Inky logo on the command line. With your demo application ready, you're ready to move onto the container stage. -### Step 2: Creating the Dockerfile +### Step 2: Creating the Dockerfile To make sure our final image is distroless while still being able to install dependencies with pip, our build will consist of two stages: first, we’ll build the application using the dev image variant, a Wolfi-based image that includes pip and other useful tools for development. Then, we’ll create a separate stage for the final image. The resulting image will be based on the distroless Python Wolfi image, which means it doesn’t come with pip or even a shell. @@ -246,7 +246,7 @@ ENTRYPOINT [ "python", "/inky/inky.py" ] Save the file when you’re finished. -You can now build the image. If you receive a permission error, try running under `sudo`. +You can now build the image. If you receive a permission error, try running under `sudo`. ```shell docker build . -t inky @@ -258,7 +258,7 @@ Once the build is finished, run the image with: docker run --rm inky ``` -And you should get output similar to what you got before, with a printed Inky on the command line. +And you should get output similar to what you got before, with a printed Inky on the command line. ## Advanced Usage diff --git a/content/chainguard/chainguard-images/reference/ruby/getting-started-ruby.md b/content/chainguard/chainguard-images/tutorials/getting-started-ruby.md similarity index 99% rename from content/chainguard/chainguard-images/reference/ruby/getting-started-ruby.md rename to content/chainguard/chainguard-images/tutorials/getting-started-ruby.md index 7f714bb5a8..f787052881 100644 --- a/content/chainguard/chainguard-images/reference/ruby/getting-started-ruby.md +++ b/content/chainguard/chainguard-images/tutorials/getting-started-ruby.md @@ -9,7 +9,7 @@ draft: false images: [] menu: docs: -parent: "ruby-guides" +parent: "tutorials" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/using-the-tag-history-api.md b/content/chainguard/chainguard-images/using-the-tag-history-api.md index 5c4b72dea8..57f526e190 100644 --- a/content/chainguard/chainguard-images/using-the-tag-history-api.md +++ b/content/chainguard/chainguard-images/using-the-tag-history-api.md @@ -10,7 +10,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 900 +weight: 450 toc: true --- @@ -117,7 +117,7 @@ And your image will then be locked into that specific build of the `python:lates ## Accessing the History API for Standard and Custom Images -If you are a customer who would like to access the history API for the Standard Catalog or a Custom Catalog, you must create credentials to access the API with curl and Bash. +If you are a customer who would like to access the history API for the Standard Catalog or a Custom Catalog, you must create credentials to access the API with curl and Bash. ### Create Credentials @@ -148,9 +148,9 @@ docker login "cgr.dev" --username "cc..96" --password "eyJ...X34" Be sure to keep a copy of the username and password created. -### Optional: Storing Credentials +### Optional: Storing Credentials -You can use the username and password you just created if required. However, Docker's default functionality is to encode these credentials in base64 and then store them within `~/.docker/config.json`. +You can use the username and password you just created if required. However, Docker's default functionality is to encode these credentials in base64 and then store them within `~/.docker/config.json`. To set that up, following the previous example, replace the username and password value, keeping the colon (`:`) to separate the values. @@ -171,11 +171,11 @@ Add the base64 encoded value to `~/.docker/config.json` with the following forma } ``` -You can review more about Docker Configs from the [official Docker docs](https://docs.docker.com/engine/swarm/configs/). +You can review more about Docker Configs from the [official Docker docs](https://docs.docker.com/engine/swarm/configs/). -### Access the History API with curl and Bash +### Access the History API with curl and Bash -Now that we have the credentials, we can use curl and Bash to access the endpoints (the following example uses jq as well). Here, you will replace `private-registry.com/apko` with your relevant Registry and Image information. +Now that we have the credentials, we can use curl and Bash to access the endpoints (the following example uses jq as well). Here, you will replace `private-registry.com/apko` with your relevant Registry and Image information. ```sh IMAGE=private-registry.com/apko @@ -188,7 +188,7 @@ curl -s -H "Authorization: Bearer \ "https://cgr.dev/v2/${IMAGE}/_chainguard/history/latest" | jq . ``` -If you have set a `~/.docker/config.json` file within the optional step, you can run the following. +If you have set a `~/.docker/config.json` file within the optional step, you can run the following. ```sh IMAGE=private-registry.com/apko @@ -199,7 +199,7 @@ curl -s -H "Authorization: Bearer \ "https://cgr.dev/v2/${IMAGE}/_chainguard/history/latest" | jq . ``` -Again, you would replace `private-registry.com/apko` with your relevant Registry and Image information. +Again, you would replace `private-registry.com/apko` with your relevant Registry and Image information. ## Images Catalogs and Tags diff --git a/content/chainguard/chainguard-images/videos/_index.md b/content/chainguard/chainguard-images/videos/_index.md index ec3ff73a05..08f9d95b0b 100644 --- a/content/chainguard/chainguard-images/videos/_index.md +++ b/content/chainguard/chainguard-images/videos/_index.md @@ -7,6 +7,6 @@ date: 2023-07-07T08:48:45+00:00 lastmod: 2023-08-22T08:48:45+00:00 draft: false images: [] -weight: 975 +weight: 600 toc: true ---- \ No newline at end of file +--- From 810ad94083d138347b5b26373a71498a277b1b46 Mon Sep 17 00:00:00 2001 From: Erika Heidi Date: Mon, 11 Sep 2023 18:24:10 +0200 Subject: [PATCH 2/5] Moving registry and renaming tutorials folder --- .../chainguard-images/comparing-images.md | 2 +- .../debugging-distroless-images.md | 2 +- content/chainguard/chainguard-images/faq.md | 2 +- .../chainguard-images/getting-started/_index.md | 13 +++++++++++++ .../getting-started-go.md | 0 .../getting-started-mariadb/index.md | 0 .../getting-started-mariadb/mdb-demo-success-1.png | Bin .../getting-started-mariadb/mdb-demo-success-2.png | Bin .../getting-started-node.md | 0 .../getting-started-php.md | 0 .../getting-started-postgres/index.md | 0 .../getting-started-postgres/pg-demo-success-1.png | Bin .../getting-started-postgres/pg-demo-success-2.png | Bin .../getting-started-python.md | 0 .../getting-started-ruby.md | 0 .../chainguard-images/tutorials/_index.md | 13 ------------- .../chainguard/chainguard-images/videos/_index.md | 2 +- .../chainguard-images/vuln-comparison/_index.md | 2 +- .../registry => chainguard-registry}/_index.md | 2 +- .../authenticating.md | 0 .../registry => chainguard-registry}/overview.md | 2 +- 21 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 content/chainguard/chainguard-images/getting-started/_index.md rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-go.md (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-mariadb/index.md (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-mariadb/mdb-demo-success-1.png (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-mariadb/mdb-demo-success-2.png (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-node.md (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-php.md (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-postgres/index.md (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-postgres/pg-demo-success-1.png (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-postgres/pg-demo-success-2.png (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-python.md (100%) rename content/chainguard/chainguard-images/{tutorials => getting-started}/getting-started-ruby.md (100%) delete mode 100644 content/chainguard/chainguard-images/tutorials/_index.md rename content/chainguard/{chainguard-images/registry => chainguard-registry}/_index.md (94%) rename content/chainguard/{chainguard-images/registry => chainguard-registry}/authenticating.md (100%) rename content/chainguard/{chainguard-images/registry => chainguard-registry}/overview.md (86%) diff --git a/content/chainguard/chainguard-images/comparing-images.md b/content/chainguard/chainguard-images/comparing-images.md index d8623d318d..c244ed8993 100644 --- a/content/chainguard/chainguard-images/comparing-images.md +++ b/content/chainguard/chainguard-images/comparing-images.md @@ -11,7 +11,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 470 +weight: 700 toc: true --- diff --git a/content/chainguard/chainguard-images/debugging-distroless-images.md b/content/chainguard/chainguard-images/debugging-distroless-images.md index d94bcc6e10..332acab24b 100644 --- a/content/chainguard/chainguard-images/debugging-distroless-images.md +++ b/content/chainguard/chainguard-images/debugging-distroless-images.md @@ -11,7 +11,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 400 +weight: 750 toc: true --- diff --git a/content/chainguard/chainguard-images/faq.md b/content/chainguard/chainguard-images/faq.md index fb4a41326b..587b3f685e 100644 --- a/content/chainguard/chainguard-images/faq.md +++ b/content/chainguard/chainguard-images/faq.md @@ -11,7 +11,7 @@ images: [] menu: docs: parent: "chainguard-images" -weight: 420 +weight: 900 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/_index.md b/content/chainguard/chainguard-images/getting-started/_index.md new file mode 100644 index 0000000000..4c1a64340a --- /dev/null +++ b/content/chainguard/chainguard-images/getting-started/_index.md @@ -0,0 +1,13 @@ +--- +title: "Getting Started with Chainguard Images" +linktitle: "Getting Started Guides" +description: "Tutorials on how to get started with Chainguard Images" +type: "article" +date: 2023-09-10T08:49:15+00:00 +lastmod: 2023-09-10T08:49:15+00:00 +draft: false +images: [] +weight: 430 +--- + +Chainguard Images Tutorials diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-go.md b/content/chainguard/chainguard-images/getting-started/getting-started-go.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-go.md rename to content/chainguard/chainguard-images/getting-started/getting-started-go.md diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/index.md b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-mariadb/index.md rename to content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-1.png b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/mdb-demo-success-1.png similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-1.png rename to content/chainguard/chainguard-images/getting-started/getting-started-mariadb/mdb-demo-success-1.png diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-2.png b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/mdb-demo-success-2.png similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-mariadb/mdb-demo-success-2.png rename to content/chainguard/chainguard-images/getting-started/getting-started-mariadb/mdb-demo-success-2.png diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-node.md b/content/chainguard/chainguard-images/getting-started/getting-started-node.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-node.md rename to content/chainguard/chainguard-images/getting-started/getting-started-node.md diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-php.md b/content/chainguard/chainguard-images/getting-started/getting-started-php.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-php.md rename to content/chainguard/chainguard-images/getting-started/getting-started-php.md diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-postgres/index.md b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-postgres/index.md rename to content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-1.png b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/pg-demo-success-1.png similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-1.png rename to content/chainguard/chainguard-images/getting-started/getting-started-postgres/pg-demo-success-1.png diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-2.png b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/pg-demo-success-2.png similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-postgres/pg-demo-success-2.png rename to content/chainguard/chainguard-images/getting-started/getting-started-postgres/pg-demo-success-2.png diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-python.md b/content/chainguard/chainguard-images/getting-started/getting-started-python.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-python.md rename to content/chainguard/chainguard-images/getting-started/getting-started-python.md diff --git a/content/chainguard/chainguard-images/tutorials/getting-started-ruby.md b/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md similarity index 100% rename from content/chainguard/chainguard-images/tutorials/getting-started-ruby.md rename to content/chainguard/chainguard-images/getting-started/getting-started-ruby.md diff --git a/content/chainguard/chainguard-images/tutorials/_index.md b/content/chainguard/chainguard-images/tutorials/_index.md deleted file mode 100644 index d7ed6370e7..0000000000 --- a/content/chainguard/chainguard-images/tutorials/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Chainguard Images Tutorials" -linktitle: "Tutorials" -description: "Tutorials on how to use Chainguard Images" -type: "article" -date: 2023-09-10T08:49:15+00:00 -lastmod: 2023-09-10T08:49:15+00:00 -draft: false -images: [] -weight: 500 ---- - -Chainguard Images Tutorials diff --git a/content/chainguard/chainguard-images/videos/_index.md b/content/chainguard/chainguard-images/videos/_index.md index 08f9d95b0b..4dc60629ef 100644 --- a/content/chainguard/chainguard-images/videos/_index.md +++ b/content/chainguard/chainguard-images/videos/_index.md @@ -7,6 +7,6 @@ date: 2023-07-07T08:48:45+00:00 lastmod: 2023-08-22T08:48:45+00:00 draft: false images: [] -weight: 600 +weight: 950 toc: true --- diff --git a/content/chainguard/chainguard-images/vuln-comparison/_index.md b/content/chainguard/chainguard-images/vuln-comparison/_index.md index 8c8a81b8b7..3122ae07f9 100644 --- a/content/chainguard/chainguard-images/vuln-comparison/_index.md +++ b/content/chainguard/chainguard-images/vuln-comparison/_index.md @@ -6,7 +6,7 @@ date: 2023-08-22T08:49:15+00:00 lastmod: 2023-08-22T08:49:15+00:00 draft: false images: [] -weight: 925 +weight: 450 topic: true banner: { image: "/go-logo-white.svg", diff --git a/content/chainguard/chainguard-images/registry/_index.md b/content/chainguard/chainguard-registry/_index.md similarity index 94% rename from content/chainguard/chainguard-images/registry/_index.md rename to content/chainguard/chainguard-registry/_index.md index 6944a7f866..981488d1c2 100644 --- a/content/chainguard/chainguard-images/registry/_index.md +++ b/content/chainguard/chainguard-registry/_index.md @@ -7,5 +7,5 @@ date: 2023-03-21T08:48:45+00:00 lastmod: 2023-03-22T08:48:45+00:00 draft: false images: [] -weight: 950 +weight: 20 --- diff --git a/content/chainguard/chainguard-images/registry/authenticating.md b/content/chainguard/chainguard-registry/authenticating.md similarity index 100% rename from content/chainguard/chainguard-images/registry/authenticating.md rename to content/chainguard/chainguard-registry/authenticating.md diff --git a/content/chainguard/chainguard-images/registry/overview.md b/content/chainguard/chainguard-registry/overview.md similarity index 86% rename from content/chainguard/chainguard-images/registry/overview.md rename to content/chainguard/chainguard-registry/overview.md index bad6e8bd87..4c74a905d0 100644 --- a/content/chainguard/chainguard-images/registry/overview.md +++ b/content/chainguard/chainguard-registry/overview.md @@ -26,4 +26,4 @@ You can check the status of the Chainguard Registry at [https://status.cgr.dev]( ## Network Requirements -Refer to our [Chainguard Images Network Requirements](/chainguard/chainguard-images/network-requirements) reference page for details about how to ensure access to Chainguard Registry in environments using firewalls, access control lists, and proxies. \ No newline at end of file +Refer to our [Chainguard Images Network Requirements](/chainguard/network-requirements) reference page for details about how to ensure access to Chainguard Registry in environments using firewalls, access control lists, and proxies. From c278e62065728774778e93ca1f0f20b4ab836a30 Mon Sep 17 00:00:00 2001 From: Erika Heidi Date: Mon, 11 Sep 2023 18:33:54 +0200 Subject: [PATCH 3/5] Added Nginx redirects --- nginx.conf | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nginx.conf b/nginx.conf index 0bcbb6ce6c..1d06f8ce4f 100644 --- a/nginx.conf +++ b/nginx.conf @@ -33,6 +33,13 @@ http { "~^/open-source/melange/getting-started-with-melange(.+)?$" /open-source/melange/tutorials/getting-started-with-melange/; "~^/chainguard/chainguard-enforce/sboms/sboms-and-attestations/(.+)?$" /open-source/sbom/sboms-and-attestations/; "~^/chainguard/chainguard-images/images-compared/(.+)?$" /chainguard/chainguard-images/vuln-comparison/; + "~^/chainguard/chainguard-images/reference/go/getting-started-go/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-go/; + "~^/chainguard/chainguard-images/reference/mariadb/getting-started-mariadb/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-mariadb/; + "~^/chainguard/chainguard-images/reference/node/getting-started-node/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-node/; + "~^/chainguard/chainguard-images/reference/php/getting-started-php/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-php/; + "~^/chainguard/chainguard-images/reference/postgres/getting-started-postgres/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-postgres/; + "~^/chainguard/chainguard-images/reference/python/getting-started-python/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-python/; + "~^/chainguard/chainguard-images/reference/ruby/getting-started-ruby/(.+)?$" /chainguard/chainguard-images/getting-started/getting-started-ruby/; # complete content directory redirects here "~^/chainguard/chainguard-enforce/events/(.+)$" /chainguard/chainguard-enforce/cloudevents/$1; @@ -43,6 +50,8 @@ http { "~^/chainguard/chainguard-images/reference/nri-kube-events/(.+)?$" /chainguard/chainguard-images/reference/; "~^/chainguard/chainguard-images/reference/nri-kubernetes/(.+)?$" /chainguard/chainguard-images/reference/; "~^/chainguard/chainguard-images/reference/nri-prometheus/(.+)?$" /chainguard/chainguard-images/reference/; + "~^/chainguard/chainguard-images/network-requirements/(.+)?$" /chainguard/network-requirements/; + "~^/chainguard/chainguard-images/registry/(.+)?$" /chainguard/chainguard-registry/; } server { @@ -82,4 +91,4 @@ http { } } } -error_log stderr notice; \ No newline at end of file +error_log stderr notice; From 109e2264e42eb205d2a29c8a0138bf8b878b346b Mon Sep 17 00:00:00 2001 From: Erika Heidi Date: Mon, 11 Sep 2023 18:44:35 +0200 Subject: [PATCH 4/5] Fixing menu meta --- .../chainguard-images/getting-started/getting-started-go.md | 2 +- .../getting-started/getting-started-mariadb/index.md | 2 +- .../chainguard-images/getting-started/getting-started-node.md | 2 +- .../chainguard-images/getting-started/getting-started-php.md | 2 +- .../getting-started/getting-started-postgres/index.md | 2 +- .../getting-started/getting-started-python.md | 2 +- .../chainguard-images/getting-started/getting-started-ruby.md | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-go.md b/content/chainguard/chainguard-images/getting-started/getting-started-go.md index 0efe7ba07c..689042e05c 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-go.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-go.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "tutorials" + parent: "getting-started" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md index 06a4ad5e75..9f2867d8a4 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "tutorials" + parent: "getting-started" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-node.md b/content/chainguard/chainguard-images/getting-started/getting-started-node.md index 38b2ccc06f..0ab0d3e970 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-node.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-node.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "tutorials" + parent: "getting-started" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-php.md b/content/chainguard/chainguard-images/getting-started/getting-started-php.md index 90d9477293..25c8ac13b2 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-php.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-php.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "tutorials" + parent: "getting-started" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md index 6aafecbf7c..5b5007853d 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "tutorials" + parent: "getting-started" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-python.md b/content/chainguard/chainguard-images/getting-started/getting-started-python.md index bd17e8b795..bc41b66870 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-python.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-python.md @@ -8,7 +8,7 @@ draft: false images: [] menu: docs: - parent: "tutorials" + parent: "getting-started" weight: 610 toc: true --- diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md b/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md index f787052881..a1f94275d9 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md @@ -8,8 +8,8 @@ tags: ["Chainguard Images", "Products"] draft: false images: [] menu: -docs: -parent: "tutorials" + docs: + parent: "getting-started" weight: 610 toc: true --- From 8f6025af525a246657375cfcce20d9b049fb0bb3 Mon Sep 17 00:00:00 2001 From: Erika Heidi Date: Mon, 11 Sep 2023 19:11:05 +0200 Subject: [PATCH 5/5] Updating linktitle for guides --- .../chainguard-images/getting-started/getting-started-go.md | 1 + .../getting-started/getting-started-mariadb/index.md | 1 + .../chainguard-images/getting-started/getting-started-node.md | 1 + .../chainguard-images/getting-started/getting-started-php.md | 1 + .../getting-started/getting-started-postgres/index.md | 1 + .../chainguard-images/getting-started/getting-started-python.md | 1 + .../chainguard-images/getting-started/getting-started-ruby.md | 1 + 7 files changed, 7 insertions(+) diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-go.md b/content/chainguard/chainguard-images/getting-started/getting-started-go.md index 689042e05c..6ab91c5ea3 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-go.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-go.md @@ -1,6 +1,7 @@ --- title: "Getting Started with the Go Chainguard Image" type: "article" +linktitle: "Go" description: "Tutorial on the distroless Go Chainguard Image" date: 2023-02-28T11:07:52+02:00 lastmod: 2023-02-28T11:07:52+02:00 diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md index 9f2867d8a4..dc24e8b8fa 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-mariadb/index.md @@ -1,6 +1,7 @@ --- title: "Getting Started with the MariaDB Chainguard Image" type: "article" +linktitle: "MariaDB" lead: "Tutorial on how to get started with the MariaDB Chainguard Image" date: 2023-07-28T11:07:52+02:00 lastmod: 2023-08-10T11:07:52+02:00 diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-node.md b/content/chainguard/chainguard-images/getting-started/getting-started-node.md index 0ab0d3e970..96032e22ca 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-node.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-node.md @@ -1,6 +1,7 @@ --- title: "Getting Started with the Node Chainguard Image" type: "article" +linktitle: "Node" description: "Tutorial on how to get started with the Node Chainguard Image" date: 2023-02-01T11:07:52+02:00 lastmod: 2023-02-01T11:07:52+02:00 diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-php.md b/content/chainguard/chainguard-images/getting-started/getting-started-php.md index 25c8ac13b2..191340a11e 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-php.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-php.md @@ -1,6 +1,7 @@ --- title: "Getting Started with the PHP Chainguard Image" type: "article" +linktitle: "PHP" description: "Tutorial on how to get started with the PHP Chainguard Image" date: 2023-01-09T11:07:52+02:00 lastmod: 2023-01-19T11:07:52+02:00 diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md index 5b5007853d..9846cb8c5d 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-postgres/index.md @@ -1,6 +1,7 @@ --- title: "Getting Started with the PostgreSQL Chainguard Image" type: "article" +linktitle: "PostgreSQL" lead: "Tutorial on how to get started with the PostgreSQL Chainguard Image" date: 2023-08-10T11:07:52+02:00 lastmod: 2023-08-10T11:07:52+02:00 diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-python.md b/content/chainguard/chainguard-images/getting-started/getting-started-python.md index bc41b66870..a9bc5f597b 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-python.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-python.md @@ -1,6 +1,7 @@ --- title: "Getting Started with the Python Chainguard Image" type: "article" +linktitle: "Python" description: "Tutorial on the distroless Python Chainguard Image" date: 2023-02-28T11:07:52+02:00 lastmod: 2023-02-28T11:07:52+02:00 diff --git a/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md b/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md index a1f94275d9..22a7589a7d 100644 --- a/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md +++ b/content/chainguard/chainguard-images/getting-started/getting-started-ruby.md @@ -1,5 +1,6 @@ --- title: "Getting Started with the Ruby Chainguard Image" +linktitle: "Ruby" type: "article" description: "Tutorial on how to get started with the Ruby Chainguard Image" date: 2023-05-10T11:07:52+02:00