Repolode
kubernetes

kubernetes/kompose

A CLI tool that converts Docker Compose files into Kubernetes deployment and service manifests.

Stars
10,643
Forks
818
Open issues
18
Last commit
8 hours ago

What is it?

Kompose helps developers who already use docker-compose move their applications to Kubernetes. It reads a Compose Specification file and translates the services into Kubernetes resources such as Deployments and Services, writing each as a separate YAML file with a single command.

The conversion is a starting point rather than an exact one-to-one mapping, since some Compose features do not map directly onto Kubernetes. It is aimed at the first step of getting a local Compose setup running on a cluster, after which the generated manifests can be refined by hand. Kompose is written in Go and distributed as a binary for Linux, macOS, and Windows, with shell completion for Bash, Zsh, and Fish.

Key features

  • 01Converts Compose Specification files into Kubernetes Deployments and Services.
  • 02Writes each generated resource to its own YAML file.
  • 03Distributed as a single binary for Linux, macOS, and Windows.
  • 04Provides shell autocompletion for Bash, Zsh, and Fish.

Use cases

  • Moving a local docker-compose application onto a Kubernetes cluster.
  • Generating a first draft of Kubernetes manifests from an existing Compose file.
  • Teams that keep development environments in Compose and want a deployment path to Kubernetes.

Quick start

  1. 1

    Download the kompose binary from the latest GitHub release

  2. 2

    Make the binary executable and move it onto your PATH

    chmod +x kompose sudo mv ./kompose /usr/local/bin/kompose
  3. 3

    Convert your Compose file into Kubernetes manifests

    kompose convert -f compose.yaml

Things to know

  • Conversion from Compose to Kubernetes may not be exact and often needs manual adjustment.
  • Installation via the preferred binary route requires manual download and PATH setup.

In collections

Topics

FAQ

What is kompose?
A CLI tool that converts Docker Compose files into Kubernetes deployment and service manifests. Kompose helps developers who already use docker-compose move their applications to Kubernetes. It reads a Compose Specification file and translates the services into Kubernetes resources such as Deployments and Services, writing each as a separate YAML file with a single command.
Is kompose free to use? What license does it have?
kompose is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is kompose still maintained?
Actively maintained. The last commit to kompose was on Nov 6, 2026.
What can I use kompose for?
Moving a local docker-compose application onto a Kubernetes cluster. Generating a first draft of Kubernetes manifests from an existing Compose file. Teams that keep development environments in Compose and want a deployment path to Kubernetes.
How do I install kompose?
Download the kompose binary from the latest GitHub release Make the binary executable and move it onto your PATH: chmod +x kompose sudo mv ./kompose /usr/local/bin/kompose Convert your Compose file into Kubernetes manifests: kompose convert -f compose.yaml
Where can I get kompose?
The source code and installation instructions are on GitHub: https://github.com/kubernetes/kompose

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects