gouick/templates/go-swagger/custom/launcher.sh.tmpl
Matthieu 'JP' DERASSE 65add2a61d
Some checks failed
continuous-integration/drone/push Build is failing
feat(go-swagger): Refactoring to use go-swagger templating system for most of the work
2023-01-01 17:06:47 +00:00

63 lines
1.4 KiB
Bash

#!/bin/sh
# Code generated by gouick; DO NOT EDIT.
# 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, worker or cron
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}}
{{- if ne (len .Crons) 0 }}
# Crons
cron)
case "$CRON_NAME" in
{{range .Crons}}
# Cron {{.Name}}
{{.Name}}) exec /app/{{.Binary}} ;;
{{end}}
# otherwise
*)
echo "** invalid CRON_NAME='$CRON_NAME'. Please use a valid cron name!"
exit 1
;;
esac
;;
{{end}}
# otherwise
*)
echo "** invalid APP_TYPE='$APP_TYPE' ! Please use API, WORKER or CRON!"
exit 1
;;
esac