https://github.com/ureuzy/esopmok
Convert kubernetes manifest to docker-compose.yml
https://github.com/ureuzy/esopmok
kubernetes kubernetes-plugin
Last synced: about 1 month ago
JSON representation
Convert kubernetes manifest to docker-compose.yml
- Host: GitHub
- URL: https://github.com/ureuzy/esopmok
- Owner: ureuzy
- License: mit
- Created: 2022-12-20T21:11:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-25T09:53:12.000Z (over 3 years ago)
- Last Synced: 2025-09-13T07:53:48.556Z (10 months ago)
- Topics: kubernetes, kubernetes-plugin
- Language: Go
- Homepage:
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# esopmok
[](https://opensource.org/licenses/MIT)
esopmok does the opposite of [Kompose](https://kompose.io/). That is, it converts the kubernetes manifest to docker-compose.yml

# 🚀 Quick Start
## Install Krew
https://krew.sigs.k8s.io/docs/user-guide/setup/install/
## Install kubectl-esopmok
Binary Download [here](https://github.com/ureuzy/esopmok/releases)
```text
$ mv kubectl-esopmok ~/.krew/bin
```
## Usage
```text
$ kubectl esopmok --help
Convert kubernetes manifest to docker-compose.yml
Usage:
kubectl-esopmok [flags]
Examples:
kubectl esopmok deploy [deployment name]
```
As an example, convert the Grafana Deployment to docker-compose.yml.
```text
$ kubectl get deploy grafana
NAME READY UP-TO-DATE AVAILABLE AGE
grafana 1/1 1 1 85d
```
To convert, enter the following command.
```text
$ kubectl esopmok deploy grafana
name: esopmok
services:
grafana-download-dashboards:
command:
- /bin/sh
deploy:
replicas: 1
image: curlimages/curl:7.85.0
pull_policy: if_not_present
volumes:
- type: volume
source: config
target: /etc/grafana/download_dashboards.sh
- type: volume
source: storage
target: /var/lib/grafana
- type: volume
source: auth-generic-oauth-secret-mount
target: /etc/secrets/auth_generic_oauth
grafana-grafana:
deploy:
replicas: 1
environment:
GF_PATHS_DATA: /var/lib/grafana/
GF_PATHS_LOGS: /var/log/grafana
GF_PATHS_PLUGINS: /var/lib/grafana/plugins
GF_PATHS_PROVISIONING: /etc/grafana/provisioning
GF_SECURITY_ADMIN_PASSWORD: ""
~~~
```
Additionally, it can be run as follows
```text
$ kubectl esopmok deploy grafana | docker compose -f - up
```