#!/bin/sh set -eu mode="${1:-all}" build_rust() { service="$1" package="$2" bin="$3" prefix="${IMAGE_PREFIX:-cloudlysis}" tag="${IMAGE_TAG:-dev}" image="${prefix}/${service}:${tag}" docker build \ -f docker/Dockerfile.rust \ --build-arg PACKAGE="$package" \ --build-arg BIN="$bin" \ --build-arg GATEWAY_BUILD_VERSION="${GATEWAY_BUILD_VERSION:-dev}" \ --build-arg GATEWAY_BUILD_SHA="${GATEWAY_BUILD_SHA:-unknown}" \ -t "$image" \ . } build_ui() { service="$1" prefix="${IMAGE_PREFIX:-cloudlysis}" tag="${IMAGE_TAG:-dev}" image="${prefix}/${service}:${tag}" docker build -f docker/Dockerfile.ui -t "$image" . } build_platform() { build_rust gateway gateway gateway build_rust aggregate aggregate aggregate build_rust projection projection projection build_rust runner runner runner } build_control() { build_rust control-api api api build_ui control-ui } case "$mode" in platform) build_platform ;; control) build_control ;; all) build_platform build_control ;; *) echo "usage: sh docker/scripts/build_images.sh [platform|control|all]" 1>&2 exit 2 ;; esac