explaingit

googlecontainertools/skaffold

15,824GoAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

A Go command-line tool from Google that watches Kubernetes app source for changes and automates build, push, and deploy cycles for local dev and CI.

Mindmap

mindmap
  root((skaffold))
    Inputs
      Source code changes
      skaffold.yaml config
    Outputs
      Container images
      Updated cluster deployment
      Streamed logs
    Use Cases
      Inner loop dev on Kubernetes
      Power CI CD pipelines
      Port forward local testing
    Tech Stack
      Go
      Kubernetes
      Docker
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run skaffold dev to rebuild and redeploy a Kubernetes app on every code save

USE CASE 2

Use skaffold in a CI pipeline to build and release multi-service apps

USE CASE 3

Port-forward cluster services to localhost while iterating on code

USE CASE 4

Aggregate logs from many pods into one terminal stream

Tech stack

GoKubernetesDocker

Getting it running

Difficulty · hard Time to first run · 1h+

Needs a working Kubernetes cluster plus Docker or another builder and a skaffold.yaml configured for your services.

In plain English

Skaffold is a command-line tool (a program you run in a terminal) that automates the repetitive steps involved in developing an application that runs on Kubernetes. Kubernetes is a system for running and managing software in containers, packaged bundles that include everything an application needs to run. Without Skaffold, a developer working on a Kubernetes application has to manually rebuild their code into a container image, push that image to a storage location, and then update their running cluster to use the new image, every single time they make a change. Skaffold watches your source code for changes and does all of those steps automatically, so you can stay focused on writing code. Key features include automatic detection of code changes, fast build-and-deploy cycles, and the ability to aggregate logs from your running services directly in your terminal. It forwards ports from your cluster to your local machine so you can test your application as if it were running locally. It also supports building multi-component applications, apps made up of several separate pieces, and can integrate with different build and deployment tools through a pluggable architecture. Skaffold is also useful for CI/CD pipelines (automated workflows for testing and releasing software). It runs entirely on your local machine with no components installed in the cluster itself. It is built in Go by GoogleContainerTools and is aimed at developers building containerized applications on Kubernetes.

Copy-paste prompts

Prompt 1
Set up skaffold dev on my local kind cluster for a Go microservice and explain each step in the skaffold.yaml
Prompt 2
Convert my existing kubectl apply workflow into a skaffold profile with separate dev and production builds
Prompt 3
Show me how skaffold detects file changes and triggers rebuilds, and how to skip rebuilds for asset only edits
Prompt 4
Compare skaffold to Tilt and Garden and tell me when skaffold is the right choice
Open on GitHub → Explain another repo

← googlecontainertools on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.