Files
docker-compose-cookbooks/_builder/parse.bash
T

32 lines
813 B
Bash

#!/bin/bash
get_vols() {
local compose_content="$1"
local volumes=""
# Use yq to extract volumes from services
volumes=$(echo "$compose_content" | yq eval '.services.*.volumes[]' - 2>/dev/null)
# Print the volumes, preserving line breaks
printf "%s\n" "$volumes"
}
get_env_vars() {
local compose_content="$1"
local env_vars=""
# Use yq to extract the environment variables in 'key: value' format
env_vars=$(echo "$compose_content" | yq eval '.services.*.environment | to_entries | .[] | "\(.key): \(.value)"' - 2>/dev/null)
echo "$env_vars"
}
get_image() {
local compose_content="$1"
local images=""
# Use yq to extract image names from services
images=$(echo "$compose_content" | yq eval '.services.*.image' - 2>/dev/null)
echo "$images"
}