To docker-compose service
# Extract a deployment from a set of Kubernetes mnanifests, and write the
# equivalent `docker compose` service.
#
# yq \
# -y -f kube-deploy-to-docker-compose.jq \
# --arg name my-service
# service.yml >service.docker-compose.yml
.
| select(.kind == "Deployment")
| . as $root
| .spec.template.spec.containers[]
| .resources.limits as $limits
| .resources.requests as $requests
| select(.name == $ARGS.named.name)
| {
(.name): {
image: .image,
deploy: {
resources: {
reservations: {
cpus: $requests.cpu,
memory: $requests.memory
},
limits: {
cpus: $limits.cpu,
memory: $limits.memory
}
}
},
environment: .env | from_entries
}
}