• Stars
    star
    14,665
  • Rank 1,910 (Top 0.04 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 10 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easy and Repeatable Kubernetes Development


Code Coverage LICENSE Releases

Skaffold is a command line tool that facilitates continuous development for Kubernetes applications. You can iterate on your application source code locally then deploy to local or remote Kubernetes clusters. Skaffold handles the workflow for building, pushing and deploying your application. It also provides building blocks and describe customizations for a CI/CD pipeline.


Or, check out our Github Releases page for release info or to install a specific version.

Demo

Features

  • Blazing fast local development
    • optimized source-to-deploy - Skaffold detects changes in your source code and handles the pipeline to build, push, and deploy your application automatically with policy based image tagging
    • continuous feedback - Skaffold automatically aggregates logs from deployed resources and forwards container ports to your local machine
  • Project portability
    • share with other developers - Skaffold is the easiest way to share your project with the world: git clone and skaffold run
    • context aware - use Skaffold profiles, user level config, environment variables and flags to describe differences in environments
    • CI/CD building blocks - use skaffold run end-to-end, or use individual Skaffold phases to build up your CI/CD pipeline. skaffold render outputs hydrated Kubernetes manifests that can be used in GitOps workflows.
  • Pluggable, declarative configuration for your project
    • skaffold init - Skaffold discovers your files and generates its own config file
    • multi-component apps - Skaffold supports applications consisting of multiple components
    • bring your own tools - Skaffold has a pluggable architecture to integrate with any build or deploy tool
  • Lightweight
    • client-side only - Skaffold has no cluster-side component, so there is no overhead or maintenance burden
    • minimal pipeline - Skaffold provides an opinionated, minimal pipeline to keep things simple

Check out our examples page for more complex workflows!

IDE integrations

For a managed experience of Skaffold you can install the Google Cloud Code extensions:

It can manage and keep Skaffold up-to-date while providing a more guided startup experience, along with providing and managing other common dependencies, and works with any kubernetes cluster.

Contributing to Skaffold

We welcome any contributions from the community with open arms - Skaffold wouldn't be where it is today without contributions from the community! Have a look at our contribution guide for more information on how to get started on sending your first PR.

Community

Come hang out with us!

Office Hours

We hold open office hours on the last Wednesday of the month at 9:30 AM Pacific Time. This is an open forum for anyone to show up and bring ideas, concerns, or just in general come hang out with the team! This is also a great time to get direct feedback on contributions, or give us feedback on ways you think we can improve the project. Come show us how you're using Skaffold!

Join the skaffold-users mailing list to get the calendar invite directly on your calendar. You can access the hangouts invite directly from this calendar invite.

Survey

Your feedback is very valuable to us! We have an anonymous user feedback survey - please help us by spending a quick 5 minutes to tell us how satisfied you are with Skaffold, and what improvements we should make! You can also run skaffold survey from your terminal to open the survey directly in your default browser.

Survey Link - https://forms.gle/BMTbGQXLWSdn7vEs6

Support

Skaffold is generally available and considered production ready. Detailed feature maturity information and how we deprecate features are described in our Deprecation Policy.

Security Disclosures

Please see our security disclosure process. All security advisories are managed on Github.

More Repositories

1

distroless

🥑 Language focused docker images, minus the operating system.
Starlark
17,601
star
2

kaniko

Build Container Images In Kubernetes
Go
13,880
star
3

jib

🏗 Build container images for your Java applications.
Java
13,341
star
4

container-diff

container-diff: Diff your Docker containers
Go
3,735
star
5

container-structure-test

validate the structure of your container images
Go
2,235
star
6

kpt

Automate Kubernetes Configuration Editing
Go
1,509
star
7

base-images-docker

Base images for Google Docker containers.
Starlark
416
star
8

kpt-config-sync

Config Sync - used to sync Git, OCI and Helm charts to your clusters.
Go
221
star
9

kubehost

Expose web services directly on GKE nodes during development.
Shell
115
star
10

jib-extensions

Java
114
star
11

container-debug-support

Language-runtime support files for in-container debugging
Go
93
star
12

kpt-functions-catalog

Curated catalog of generally useful kpt functions
TypeScript
83
star
13

minikube-build-tools-for-java

Minikube lifecycle management tools for Gradle and Maven.
Java
57
star
14

google-container-tools-intellij

Plugin to support Kubernetes development in the IntelliJ family of IDEs - in development
Kotlin
56
star
15

kpt-functions-sdk

TypeScript
53
star
16

kpt-backstage-plugins

TypeScript
49
star
17

kit

Integration Testing for your Kubernetes apps
42
star
18

gcp-auth-webhook

A Kubernetes webhook for automated GCP authentication.
Go
17
star
19

rules_distroless

Starlark
17
star
20

kpt-resource-group

Go
8
star
21

kpt-samples

kpt project samples
6
star
22

.allstar

6
star
23

consolidate-gradle-plugin

Java
2
star
24

.github

1
star
25

minikube-image-benchmark

Go
1
star