From c3fa1e05006bb8b7c4557e00e308b7e936e654b3 Mon Sep 17 00:00:00 2001 From: lolwierd Date: Fri, 10 Jul 2026 19:03:27 +0530 Subject: [PATCH] fix(signoz): migrate installer to foundry --- signoz/domain.sh | 64 ++++++++++++++++++++++++++++++++--------------- signoz/install.sh | 57 +++++------------------------------------ 2 files changed, 50 insertions(+), 71 deletions(-) diff --git a/signoz/domain.sh b/signoz/domain.sh index 0cffe15..b9c6c8f 100644 --- a/signoz/domain.sh +++ b/signoz/domain.sh @@ -14,22 +14,50 @@ if [ -z "$DOMAIN" ]; then fi URL="https://${DOMAIN}" -COMPOSE_FILE="${APP_DIR}/signoz/deploy/docker/docker-compose.yaml" +SIGNOZ_DIR="${APP_DIR}/${APP_NAME}" +STATE_DIR="${SIGNOZ_DIR}/.excloud" +JWT_SECRET_FILE="${STATE_DIR}/jwt-secret" +COMPOSE_FILE="${SIGNOZ_DIR}/pours/deployment/compose.yaml" -set_env() { - local key="$1" - local value="$2" - local service_path="$3" - local env_pair="${key}=${value}" +if [ ! -f "${JWT_SECRET_FILE}" ]; then + echo "SigNoz JWT secret not found: ${JWT_SECRET_FILE}" >&2 + exit 1 +fi - if yq "${service_path}" "$COMPOSE_FILE" | grep -q "${key}="; then - yq -yi "(${service_path}[] | select(type == \"string\" and test(\"^${key}=\"))) = \"${env_pair}\"" "$COMPOSE_FILE" - echo "Replaced: ${env_pair}" - else - yq -yi "${service_path} += [\"${env_pair}\"]" "$COMPOSE_FILE" - echo "Added: ${env_pair}" - fi -} +JWT_SECRET=$(cat "${JWT_SECRET_FILE}") + +cd "${SIGNOZ_DIR}" +cat > "${SIGNOZ_DIR}/casting.yaml" </dev/null; then - echo "Git repo exists" +# SigNoz deprecated deploy/docker and install.sh in v0.130.0. +# Foundry (foundryctl) is now the official install method. +if command -v foundryctl >/dev/null 2>&1; then + echo "foundryctl already installed" else - rm -rf "${SIGNOZ_DIR}" - git clone -b v0.129.0 https://github.com/SigNoz/signoz.git "${SIGNOZ_DIR}" + curl -fsSL https://signoz.io/foundry.sh | FOUNDRY_INSTALL_DIR=/usr/local/bin bash fi -mkdir -p "${STATE_DIR}" +mkdir -p "${STATE_DIR}" "${SIGNOZ_DIR}" JWT_SECRET_FILE="${STATE_DIR}/jwt-secret" if [ -f "${JWT_SECRET_FILE}" ]; then @@ -46,44 +41,4 @@ else echo "${JWT_SECRET}" > "${JWT_SECRET_FILE}" fi -cd "${SIGNOZ_DIR}/deploy/docker" - -set_port() { - local port_pair="$1" - local service_path="$2" - local port_num="${port_pair##*:}" - - if yq "${service_path}[] | select(. == ${port_num} or (type == \"string\" and test(\"${port_num}:${port_num}\")))" "$COMPOSE_FILE" | grep -q .; then - yq -yi "(${service_path}[] | select(. == ${port_num} or (type == \"string\" and test(\"${port_num}:${port_num}\")))) = \"${port_pair}\"" "$COMPOSE_FILE" - echo "Replaced: ${port_pair}" - else - yq -yi "${service_path} += [\"${port_pair}\"]" "$COMPOSE_FILE" - echo "Added: ${port_pair}" - fi -} - -set_env() { - local key="$1" - local value="$2" - local service_path="$3" - local env_pair="${key}=${value}" - - if yq "${service_path}" "$COMPOSE_FILE" | grep -q "${key}="; then - yq -yi "(${service_path}[] | select(type == \"string\" and test(\"^${key}=\"))) = \"${env_pair}\"" "$COMPOSE_FILE" - echo "Replaced: ${env_pair}" - else - yq -yi "${service_path} += [\"${env_pair}\"]" "$COMPOSE_FILE" - echo "Added: ${env_pair}" - fi -} - -set_port "127.0.0.1:44317:4317" "$OTEL_SERVICE_PATH" -set_port "127.0.0.1:44318:4318" "$OTEL_SERVICE_PATH" -set_port "127.0.0.1:${APP_UPSTREAM_PORT}:8080" "$SIGNOZ_SERVICE_PATH" -set_env "SIGNOZ_TOKENIZER_JWT_SECRET" "${JWT_SECRET}" ".services.signoz.environment" -# TODO Add support for postgres DSN -# set_env "SIGNOZ_SQLSTORE_PROVIDER" "${JWT_SECRET}" ".services.signoz.environment" -# set_env "SIGNOZ_SQLSTORE_POSTGRES_DSN" "${POSTGRES_DSN}" ".services.signoz.environment" - - bash "${SCRIPT_DIR}/domain.sh" "${DOMAIN}"