42 lines
980 B
Cheetah
42 lines
980 B
Cheetah
|
#!/bin/sh
|
||
|
|
||
|
# the launcher file will launch the correct app / worker based on the given env variable
|
||
|
# the main goal of that launcher is to be used as a Docker entrypoint
|
||
|
# APP_TYPE: Can be api or worker
|
||
|
|
||
|
case "$APP_TYPE" in
|
||
|
{{ if eq (len .APIs) 1 }}
|
||
|
# API
|
||
|
api) exec /app/{{ (index .APIs 0).Binary }} ;;
|
||
|
{{ else if gt (len .APIs) 1 }}
|
||
|
{{range .APIs}}
|
||
|
# API {{.Name}}
|
||
|
{{.Name}}) exec /app/{{.Binary}} ;;
|
||
|
{{end}}
|
||
|
{{end}}
|
||
|
|
||
|
{{- if ne (len .Workers) 0 }}
|
||
|
# Workers
|
||
|
worker)
|
||
|
case "$WORKER_NAME" in
|
||
|
|
||
|
{{range .Workers}}
|
||
|
# Worker {{.Name}}
|
||
|
{{.Name}}) exec /app/{{.Binary}} ;;
|
||
|
{{end}}
|
||
|
|
||
|
# otherwise
|
||
|
*)
|
||
|
echo "** invalid WORKER_NAME='$WORKER_NAME'. Please use a valid worker name!"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
;;
|
||
|
{{end}}
|
||
|
# otherwise
|
||
|
*)
|
||
|
echo "** invalid APP_TYPE='$APP_TYPE' ! Please use API or WORKER!"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|