59 lines
1.1 KiB
Bash
59 lines
1.1 KiB
Bash
#!/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
|