<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Skaffold 2.0 Documentation on Skaffold</title>
    <link>https://skaffold.dev/docs/</link>
    <description>Recent content in Skaffold 2.0 Documentation on Skaffold</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://skaffold.dev/docs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Init</title>
      <link>https://skaffold.dev/docs/init/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/init/</guid>
      <description>&lt;p&gt;&lt;code&gt;skaffold init&lt;/code&gt; helps you get started using Skaffold by running you through a wizard and&#xA;generating the required &lt;code&gt;skaffold.yaml&lt;/code&gt; file in the root of your project directory.&lt;/p&gt;&#xA;&lt;p&gt;The generated &lt;code&gt;skaffold.yaml&lt;/code&gt; defines your &lt;a href=&#34;https://skaffold.dev/docs/init/#build-config-initialization&#34;&gt;build&lt;/a&gt;&#xA;and &lt;a href=&#34;https://skaffold.dev/docs/init/#deploy-config-initialization&#34;&gt;deploy&lt;/a&gt; config.&lt;/p&gt;&#xA;&lt;h2 id=&#34;build-config-initialization&#34;&gt;Build Config Initialization&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;skaffold init&lt;/code&gt; currently supports build detection for those builders:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://skaffold.dev/docs/builders/builder-types/docker/&#34;&gt;Docker&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://skaffold.dev/docs/builders/builder-types/jib/&#34;&gt;Jib&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://skaffold.dev/docs/builders/builder-types/ko/&#34;&gt;Ko&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://skaffold.dev/docs/builders/builder-types/buildpacks/&#34;&gt;Buildpacks&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;code&gt;skaffold init&lt;/code&gt; walks your project directory and looks for any build configuration files such as &lt;code&gt;Dockerfile&lt;/code&gt;,&#xA;&lt;code&gt;build.gradle/pom.xml&lt;/code&gt;, &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;requirements.txt&lt;/code&gt; or &lt;code&gt;go.mod&lt;/code&gt;. &lt;code&gt;init&lt;/code&gt; skips files that are larger&#xA;than 500MB.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tag</title>
      <link>https://skaffold.dev/docs/taggers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/taggers/</guid>
      <description>&lt;p&gt;Skaffold supports multiple taggers or tag policies for tagging images:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the &lt;code&gt;gitCommit&lt;/code&gt; tagger uses git commits/references.&lt;/li&gt;&#xA;&lt;li&gt;the &lt;code&gt;inputDigest&lt;/code&gt; tagger uses a digest of the artifact source files.&lt;/li&gt;&#xA;&lt;li&gt;the &lt;code&gt;envTemplate&lt;/code&gt; tagger uses environment variables.&lt;/li&gt;&#xA;&lt;li&gt;the &lt;code&gt;dateTime&lt;/code&gt; tagger uses current date and time, with a configurable pattern.&lt;/li&gt;&#xA;&lt;li&gt;the &lt;code&gt;customTemplate&lt;/code&gt; tagger uses a combination of the existing taggers as components in a template.&lt;/li&gt;&#xA;&lt;li&gt;the &lt;code&gt;sha256&lt;/code&gt; tagger uses &lt;code&gt;latest&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The default tagger, if none is specified in the &lt;code&gt;skaffold.yaml&lt;/code&gt;, is the &lt;code&gt;gitCommit&lt;/code&gt; tagger.&lt;/p&gt;</description>
    </item>
    <item>
      <title>File Sync</title>
      <link>https://skaffold.dev/docs/filesync/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/filesync/</guid>
      <description>&lt;p&gt;Skaffold supports copying changed files to a deployed container so as to avoid the need to rebuild, redeploy, and restart the corresponding pod.&#xA;The file copying is enabled by adding a &lt;code&gt;sync&lt;/code&gt; section with &lt;em&gt;sync rules&lt;/em&gt; to the &lt;code&gt;artifact&lt;/code&gt; in the &lt;code&gt;skaffold.yaml&lt;/code&gt;.&#xA;Under the hood, Skaffold creates a tar file with changed files that match the sync rules.&#xA;This tar file is sent to and extracted on the corresponding containers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Log Tailing</title>
      <link>https://skaffold.dev/docs/log-tailing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/log-tailing/</guid>
      <description>&lt;p&gt;Skaffold has built-in support for tailing logs for containers &lt;strong&gt;built and deployed by Skaffold&lt;/strong&gt; on your cluster&#xA;to your local machine when running in either &lt;code&gt;dev&lt;/code&gt;, &lt;code&gt;debug&lt;/code&gt; or &lt;code&gt;run&lt;/code&gt; mode.&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;&#xA;    &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;&#xA;    Log Tailing is &lt;strong&gt;enabled by default&lt;/strong&gt; for &lt;a href=&#34;https://skaffold.dev/docs/workflows/dev/&#34;&gt;&lt;code&gt;dev&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;https://skaffold.dev/docs/workflows/debug/&#34;&gt;&lt;code&gt;debug&lt;/code&gt;&lt;/a&gt;.&lt;br&gt;&#xA;Log Tailing is &lt;strong&gt;disabled by default&lt;/strong&gt; for &lt;code&gt;run&lt;/code&gt; mode; it can be enabled with the &lt;code&gt;--tail&lt;/code&gt; flag.&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;log-structure&#34;&gt;Log Structure&lt;/h2&gt;&#xA;&lt;p&gt;To view log structure, run &lt;code&gt;skaffold run --tail&lt;/code&gt; in &lt;a href=&#34;https://github.com/GoogleContainerTools/skaffold/tree/main/examples/microservices&#34;&gt;&lt;code&gt;examples/microservices&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;skaffold run --tail&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;will produce an output like this&lt;/p&gt;</description>
    </item>
    <item>
      <title>Verify [NEW]</title>
      <link>https://skaffold.dev/docs/verify/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/verify/</guid>
      <description>&lt;p&gt;Skaffold &lt;code&gt;v2.0.0&lt;/code&gt;+ supports running post-deployment verification tests. You define these tests as a list of test containers that are either standalone or built by Skaffold. Skaffold runs these containers after the &lt;a href=&#34;https://skaffold.dev/docs/deployers/&#34;&gt;deploy&lt;/a&gt; stage and monitors them for success or failure.&lt;/p&gt;&#xA;&lt;p&gt;You can configure and execute post-deployment verification tests using the &lt;a href=&#34;https://skaffold.dev/docs/references/cli/#skaffold-verify&#34;&gt;&lt;code&gt;verify&lt;/code&gt; command&lt;/a&gt; and associated &lt;a href=&#34;https://skaffold.dev/docs/references/yaml/#verify&#34;&gt;&lt;code&gt;skaffold.yaml&lt;/code&gt; schema configuration&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;execution-modes&#34;&gt;Execution modes&lt;/h2&gt;&#xA;&lt;p&gt;You can run post-deployment verification tests in the following execution environments:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A local Docker environment&lt;/li&gt;&#xA;&lt;li&gt;A Kubernetes cluster environment&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;local&#34;&gt;Local&lt;/h3&gt;&#xA;&lt;p&gt;When Skaffold runs a post-deployment verifications test in the local execution mode, it uses the &lt;code&gt;docker&lt;/code&gt; CLI to run the test container on the host machine. This is the default execution mode.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy Status Checking</title>
      <link>https://skaffold.dev/docs/status-check/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/status-check/</guid>
      <description>&lt;p&gt;This page describes how Skaffold&amp;rsquo;s &lt;em&gt;deployment status checking&lt;/em&gt; waits for deployed resources to become ready, and reports errors if they fail to stabilize within a certain time period.&lt;/p&gt;&#xA;&lt;h3 id=&#34;overview&#34;&gt;Overview&lt;/h3&gt;&#xA;&lt;p&gt;Commands that trigger a deployment, like &lt;code&gt;skaffold dev&lt;/code&gt;, &lt;code&gt;skaffold deploy&lt;/code&gt;, &lt;code&gt;skaffold run&lt;/code&gt;, and &lt;code&gt;skaffold apply&lt;/code&gt;, monitor select resources and wait for them to become ready.&lt;/p&gt;&#xA;&lt;p&gt;Skaffold monitors the status of the following resource types:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/pods/&#34;&gt;&lt;code&gt;Pod&lt;/code&gt;&lt;/a&gt;: check that the pod and its containers are in a &lt;code&gt;Ready&lt;/code&gt; state.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/controllers/deployment/&#34;&gt;&lt;code&gt;Deployment&lt;/code&gt;&lt;/a&gt;: check the output of &lt;code&gt;kubectl rollout status deployment&lt;/code&gt; command&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/&#34;&gt;&lt;code&gt;Stateful Sets&lt;/code&gt;&lt;/a&gt;: check the output of &lt;code&gt;kubectl rollout status statefulset&lt;/code&gt; command&lt;/li&gt;&#xA;&lt;li&gt;Cloud Run instances (running containers) are ready to receive traffic&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;&#xA;    &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;&#xA;    &lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Status checking is enabled by default; it can be disabled with the &lt;code&gt;--status-check=false&lt;/code&gt;&#xA;flag, or by setting the &lt;code&gt;statusCheck&lt;/code&gt; field of the deployment config stanza in&#xA;the &lt;code&gt;skaffold.yaml&lt;/code&gt; to false.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lifecycle Hooks</title>
      <link>https://skaffold.dev/docs/lifecycle-hooks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/lifecycle-hooks/</guid>
      <description>&lt;p&gt;This page describes how to use the lifecycle hook framework to run code triggered by different events during the skaffold process lifecycle.&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;We identify three distinct phases in skaffold - &lt;code&gt;build&lt;/code&gt;, &lt;code&gt;sync&lt;/code&gt; and &lt;code&gt;deploy&lt;/code&gt;. Skaffold can trigger a hook &lt;code&gt;before&lt;/code&gt; or &lt;code&gt;after&lt;/code&gt; executing each phase. There are two types of &lt;code&gt;hooks&lt;/code&gt; that can be defined - &lt;code&gt;host&lt;/code&gt; hooks and &lt;code&gt;container&lt;/code&gt; hooks.&lt;/p&gt;&#xA;&lt;h2 id=&#34;host-hooks&#34;&gt;Host hooks&lt;/h2&gt;&#xA;&lt;p&gt;Host hooks are executed on the runner and can be defined for the following phases:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Port Forwarding</title>
      <link>https://skaffold.dev/docs/port-forwarding/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/port-forwarding/</guid>
      <description>&lt;p&gt;Skaffold has built-in support for forwarding ports from exposed Kubernetes resources on your cluster&#xA;to your local machine when running in &lt;code&gt;dev&lt;/code&gt;, &lt;code&gt;debug&lt;/code&gt;, &lt;code&gt;deploy&lt;/code&gt;, or &lt;code&gt;run&lt;/code&gt; modes.&lt;/p&gt;&#xA;&lt;h3 id=&#34;automatic-port-forwarding&#34;&gt;Automatic Port Forwarding&lt;/h3&gt;&#xA;&lt;p&gt;Skaffold supports automatic port forwarding the following classes of resources:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;user&lt;/code&gt;: explicit port-forwards defined in the &lt;code&gt;skaffold.yaml&lt;/code&gt; (called &lt;a href=&#34;https://skaffold.dev/docs/port-forwarding/#UDPF&#34;&gt;&lt;em&gt;user-defined port forwards&lt;/em&gt;&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;services&lt;/code&gt;: ports exposed on services deployed by Skaffold.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;debug&lt;/code&gt;: debugging ports as enabled by &lt;code&gt;skaffold debug&lt;/code&gt; for Skaffold-built images.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pods&lt;/code&gt;: all &lt;code&gt;containerPort&lt;/code&gt;s on deployed pods for Skaffold-built images.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Skaffold enables certain classes of forwards by default depending on the Skaffold command used.&#xA;These defaults can be overridden with the &lt;code&gt;--port-forward&lt;/code&gt; flag, and port-forwarding can be&#xA;disabled with &lt;code&gt;--port-forward=off&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cleanup</title>
      <link>https://skaffold.dev/docs/cleanup/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/cleanup/</guid>
      <description>&lt;p&gt;Skaffold works with &lt;a href=&#34;https://skaffold.dev/docs/builders/&#34;&gt;image builders&lt;/a&gt; and &lt;a href=&#34;https://skaffold.dev/docs/deployers/&#34;&gt;deployers&lt;/a&gt;&#xA;that both have side effects on both your local and deployment environments:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;resources are created in one or more namespaces in a Kubernetes cluster&lt;/li&gt;&#xA;&lt;li&gt;images might be created on the local Docker daemon&lt;/li&gt;&#xA;&lt;li&gt;images might be pushed to registries&lt;/li&gt;&#xA;&lt;li&gt;application might have arbitrary side effects&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Skaffold offers cleanup functionality to negate some of these side effects:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kubernetes resource cleanup - &lt;code&gt;skaffold delete&lt;/code&gt;, and automatic cleanup on &lt;code&gt;Ctrl+C&lt;/code&gt; for &lt;code&gt;skaffold dev&lt;/code&gt; and &lt;code&gt;skaffold debug&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Image pruning - for local Docker daemon images only, automatically on &lt;code&gt;Ctrl+C&lt;/code&gt; for &lt;code&gt;skaffold dev&lt;/code&gt; and &lt;code&gt;skaffold debug&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For pushed images in registries and application side effects the user has to take care of cleanup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Custom Actions</title>
      <link>https://skaffold.dev/docs/custom-actions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://skaffold.dev/docs/custom-actions/</guid>
      <description>&lt;p&gt;With Skaffold you can define generic actions in a declarative way using a Skaffold config file (&lt;code&gt;skaffold.yaml&lt;/code&gt;), and execute them with the &lt;code&gt;skaffold exec &amp;lt;action-name&amp;gt;&lt;/code&gt; command.&lt;/p&gt;&#xA;&lt;p&gt;A generic action (a.k.a. Custom Action), defines a list of containers that will be executed in parallel when the action is invoked. A Custom Action execution is considered successful if all its containers end without errors, and considered as failed if one or more of its containers report an error.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
