logs-analyzer/signoz/sample-apps/hotrod/hotrod-install.sh

53 lines
1.8 KiB
Bash
Raw Normal View History

2024-09-02 22:47:30 +03:00
#!/bin/bash
cd "$(dirname "${BASH_SOURCE[0]}")";
# Namespace to install sample app
HOTROD_NAMESPACE=${HOTROD_NAMESPACE:-"sample-application"}
SIGNOZ_NAMESPACE="${SIGNOZ_NAMESPACE:-platform}"
# HotROD's docker image
if [[ -z $HOTROD_IMAGE ]]; then
HOTROD_REPO="${HOTROD_REPO:-jaegertracing/example-hotrod}"
HOTROD_TAG="${HOTROD_TAG:-1.30}"
HOTROD_IMAGE="${HOTROD_REPO}:${HOTROD_TAG}"
fi
# Locust's docker image
if [[ -z $LOCUST_IMAGE ]]; then
LOCUST_REPO="${LOCUST_REPO:-signoz/locust}"
LOCUST_TAG="${LOCUST_TAG:-1.2.3}"
LOCUST_IMAGE="${LOCUST_REPO}:${LOCUST_TAG}"
fi
# Helm release name
HELM_RELEASE="${HELM_RELEASE:-my-release}"
# Otel Collector service address
if [[ -z $JAEGER_ENDPOINT ]]; then
if [[ "$HELM_RELEASE" == *"signoz"* ]]; then
JAEGER_ENDPOINT="http://${HELM_RELEASE}-otel-collector.${SIGNOZ_NAMESPACE}.svc.cluster.local:14268/api/traces"
else
JAEGER_ENDPOINT="http://${HELM_RELEASE}-signoz-otel-collector.${SIGNOZ_NAMESPACE}.svc.cluster.local:14268/api/traces"
fi
fi
# Create namespace for sample application if does not exist
kubectl create namespace "$HOTROD_NAMESPACE" --save-config --dry-run -o yaml 2>/dev/null | kubectl apply -f -
# Setup sample apps into specified namespace
kubectl apply --namespace="${HOTROD_NAMESPACE}" -f <( \
(cat hotrod-template.yaml 2>/dev/null || curl -sL https://github.com/SigNoz/signoz/raw/develop/sample-apps/hotrod/hotrod-template.yaml) | \
HOTROD_NAMESPACE="${HOTROD_NAMESPACE}" \
HOTROD_IMAGE="${HOTROD_IMAGE}" \
LOCUST_IMAGE="${LOCUST_IMAGE}" \
JAEGER_ENDPOINT="${JAEGER_ENDPOINT}" \
envsubst \
)
if [ $? -ne 0 ]; then
echo "❌ Failed to deploy HotROD sample application"
else
echo "✅ Successfully deployed HotROD sample application"
fi