Kubernetes Kompose
Convert Docker compose artifacts into container orchestrator manifests.
The Makester kompose subsystem leverages Kubernetes kompose
that provides tooling
to assist in migrating Docker compose files to Kubernetes manifests.
The Makester kompose subsystem is an optional facility as it requires binaries that you will need to install yourself. In the case of Kubernetes kompose, you can get the link to the installation notes with:
Makester will not stop you from exploring the kompose subsystem. However, if you attempt to invoke a target that requires a missing binary then you will receive an error. Makester will try to guide you along the way with detailed messages where possible. For example:
### MAKESTER__KOMPOSE: <undefined>
### MAKESTER__KOMPOSE_EXE_NAME set as "kompose"
### "kompose" not found
### Install notes: https://kompose.io/installation/
makefiles/kompose.mk:18: *** ###. Stop.
The Makester kompose subsystem help lists the available commands:
Command reference
Translate docker compose
to Kubernetes manifests
Variables
MAKESTER__KOMPOSE_EXE_NAME
The name of the binary Makester will search for in your PATH
(defaults to kompose
).
MAKESTER__KOMPOSE_EXE_NAME
can be overridden if you have special requirements, or want to use a
kompose
executable that is not in your PATH
. Just set MAKESTER__KOMPOSE_EXE_NAME
to your
preferred value in your Makefile
:
MAKESTER__KOMPOSE_EXE_INSTALL
URL link that provides the instructions for installing the kompose
binary. To print the URL
link:
MAKESTER__KOMPOSE
The path to the kompose
binary as determined by Makester. Use MAKESTER__KOMPOSE
for custom
kompose
commands in your own Makefile
.
Note
Override MAKESTER__KOMPOSE
has no effect as it is dynamically generated by Makester based on the value of MAKESTER__KOMPOSE_EXE_NAME
.
MAKESTER__COMPOSE_K8S_EPHEMERAL
Optionally specify the location of your project's docker-compose.yml
(defaults to docker-compose.yml
at the top level of the project).
MAKESTER__K8S_MANIFESTS
Kubernetes manifest target output (defaults to <MAKESTER__WORK_DIR>/k8s/manifests
).