<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apko on</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/tags/apko/</link><description>Recent content in Apko on</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Mon, 23 Oct 2023 08:49:31 +0000</lastBuildDate><atom:link href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/tags/apko/index.xml" rel="self" type="application/rss+xml"/><item><title>apko Overview</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/overview/</link><pubDate>Mon, 10 Oct 2022 11:07:52 +0200</pubDate><guid>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/overview/</guid><description>&lt;p&gt;&lt;a href="http://github.com/chainguard-dev/apko"&gt;apko&lt;/a&gt; is a command-line tool designed to create single-layer container images based on the &lt;a href="https://wiki.alpinelinux.org/wiki/Package_management"&gt;apk&lt;/a&gt; package format. It was so named as it uses the apk package format and is inspired by the &lt;a href="https://github.com/google/ko"&gt;ko&lt;/a&gt; build tool.&lt;/p&gt;
&lt;p&gt;apko is part of the open source toolkit developed by Chainguard to build &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/overview/"&gt;Chainguard Containers&lt;/a&gt;. The following diagram contains an overview of the apko ecosystem and how it interacts with &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/melange/overview/"&gt;melange&lt;/a&gt; for building apk-based images, using either &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/wolfi/overview/"&gt;Wolfi&lt;/a&gt; or Alpine as base system.&lt;/p&gt;</description></item><item><title>apko FAQs</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/faq/</link><pubDate>Mon, 10 Oct 2022 11:07:52 +0200</pubDate><guid>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/faq/</guid><description>&lt;h2 id="do-i-need-to-understand-apko-to-use-chainguard-containers" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Do I need to understand apko to use Chainguard Containers?&lt;/span&gt;
&lt;a href="#do-i-need-to-understand-apko-to-use-chainguard-containers" class="anchor" aria-label="Link to Do I need to understand apko to use Chainguard Containers?" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;No. Chainguard built &lt;a href="https://github.com/chainguard-dev/apko"&gt;apko&lt;/a&gt; as part of its open source tooling around the &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt; operating system. While you can check out the &lt;a href="https://github.com/chainguard-dev/apko"&gt;project on GitHub&lt;/a&gt; and learn more, it&amp;rsquo;s not a prerequisite for &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/how-to-use/"&gt;using Chainguard Containers&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Getting Started with apko</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/getting-started-with-apko/</link><pubDate>Wed, 06 Jul 2022 08:49:31 +0000</pubDate><guid>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/getting-started-with-apko/</guid><description>&lt;p&gt;&lt;a href="http://github.com/chainguard-dev/apko"&gt;apko&lt;/a&gt; is a command-line tool to build container images using a declarative language based on YAML. apko is so named as it uses the &lt;a href="https://wiki.alpinelinux.org/wiki/Package_management"&gt;apk&lt;/a&gt; package format and is inspired by the &lt;a href="https://github.com/google/ko"&gt;ko&lt;/a&gt; build tool. It is part of the open source tooling Chainguard developed to create the &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt; operating system which is used in &lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/chainguard/chainguard-images/"&gt;Chainguard Containers&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="why-apko" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Why apko&lt;/span&gt;
&lt;a href="#why-apko" class="anchor" aria-label="Link to Why apko" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Container images are typically assembled in multiple steps. A tool like Docker, for example, combines building steps (as in, running commands to copy files, build and deploy applications) and composition (as in, composing a base image with pre-built packages) in a single piece of software. apko, on the other hand, is solely a &lt;strong&gt;composition&lt;/strong&gt; tool that focuses on producing lightweight, &amp;ldquo;flat&amp;rdquo; base images that are fully reproducible and contain auto generated &lt;a href="https://www.cisa.gov/sbom"&gt;SBOM&lt;/a&gt; files for every successful build.&lt;/p&gt;</description></item><item><title>Troubleshooting apko Builds</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/troubleshooting/</link><pubDate>Wed, 10 Aug 2022 11:07:52 +0200</pubDate><guid>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/troubleshooting/</guid><description>&lt;h2 id="debug-options" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Debug Options&lt;/span&gt;
&lt;a href="#debug-options" class="anchor" aria-label="Link to Debug Options" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;To include debug-level information on apko builds, add &lt;code&gt;--debug&lt;/code&gt; to your build command:&lt;/p&gt;</description></item><item><title>Why apk</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/wolfi/apk-package-manager/</link><pubDate>Wed, 06 Jul 2022 08:49:31 +0000</pubDate><guid>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/wolfi/apk-package-manager/</guid><description>&lt;p&gt;&lt;a href="https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/apko/getting-started-with-apko/"&gt;apko&lt;/a&gt; uses the &lt;a href="https://wiki.alpinelinux.org/wiki/Package_management"&gt;apk&lt;/a&gt; package manager to compose container images based on declarative pipelines.
The apk format was introduced by &lt;a href="https://www.alpinelinux.org/"&gt;Alpine Linux&lt;/a&gt; to address specific design requirements that could not be met by existing package managers such as &lt;code&gt;apt&lt;/code&gt; and &lt;code&gt;dnf&lt;/code&gt;. But what makes it different, and why does that matter in the context of apko?&lt;/p&gt;
&lt;h2 id="manipulating-the-desired-state" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Manipulating the Desired State&lt;/span&gt;
&lt;a href="#manipulating-the-desired-state" class="anchor" aria-label="Link to Manipulating the Desired State" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;In traditional package managers like &lt;code&gt;dnf&lt;/code&gt; and &lt;code&gt;apt&lt;/code&gt;, requesting the installation or removal of packages causes those packages to be directly installed or removed, after a consistency check.&lt;/p&gt;</description></item><item><title>Bazel Rules for apko</title><link>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/bazel-rules/</link><pubDate>Mon, 23 Oct 2023 08:49:31 +0000</pubDate><guid>https://deploy-preview-3420--ornate-narwhal-088216.netlify.app/open-source/build-tools/apko/bazel-rules/</guid><description>&lt;p&gt;&lt;code&gt;rules_apko&lt;/code&gt; is an open source plugin for Bazel that makes it possible to build
secure, minimal Wolfi-based container images using the Bazel build system. It
wraps the &lt;a href="https://github.com/chainguard-dev/apko"&gt;apko&lt;/a&gt; tool for use under
Bazel, providing hermetic, reproducible image builds with full Bazel caching
support.&lt;/p&gt;
&lt;p&gt;By the end of this guide you will have a working Bazel project that builds a
minimal Wolfi-based container image using &lt;code&gt;rules_apko&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="how-to-build-a-container-with-bazel-using-rules_apko" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;How to build a container with Bazel using &lt;code&gt;rules_apko&lt;/code&gt;&lt;/span&gt;
&lt;a href="#how-to-build-a-container-with-bazel-using-rules_apko" class="anchor" aria-label="Link to How to build a container with Bazel using rules_apko" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;This page covers &lt;code&gt;rules_apko&lt;/code&gt; version &lt;code&gt;1.5.37&lt;/code&gt; with Bazel &lt;code&gt;9.0.1&lt;/code&gt; using
&lt;strong&gt;Bzlmod&lt;/strong&gt;, which is the only supported dependency management method in Bazel 9.
If you are on an earlier version of Bazel, you should upgrade to Bazel 9 before
following this guide.&lt;/p&gt;</description></item></channel></rss>