fix(aula-12): usar --set para hostname do Grafana em vez de sed

Elimina sed no values.yaml e passa hostname via --set no Helm,
consistente com o padrão das outras aulas.
This commit is contained in:
ArgoCD Setup
2026-03-14 06:08:49 -03:00
parent 9b8cfe859b
commit e4f79227d9

View File

@@ -123,20 +123,25 @@ log_success "Configuração salva"
log_info "Preparando configuração..."
VALUES_FILE="${SCRIPT_DIR}/gitops/apps/victoria-metrics/values.yaml"
TEMP_VALUES=$(mktemp)
sed "s/grafana\.kube\.quest/${GRAFANA_HOST}/g" "$VALUES_FILE" > "$TEMP_VALUES"
# Ajustar TLS no values
if [[ "$USE_LETSENCRYPT" != "true" ]]; then
# Remover anotação cert-manager se não usa Let's Encrypt
sed -i.bak '/cert-manager.io\/cluster-issuer/d' "$TEMP_VALUES"
rm -f "$TEMP_VALUES.bak"
fi
# Construir argumentos Helm para hostname e TLS
HELM_ARGS=""
HELM_ARGS="$HELM_ARGS --set grafana.ingress.hosts[0]=${GRAFANA_HOST}"
if [[ "$USE_CLOUDFLARE" == "true" || "$USE_LETSENCRYPT" != "true" ]]; then
# Remover bloco TLS se não usa Let's Encrypt
sed -i.bak '/tls:/,/- grafana/d' "$TEMP_VALUES"
rm -f "$TEMP_VALUES.bak"
TEMP_TLS_VALUES=$(mktemp)
if [[ "$USE_LETSENCRYPT" == "true" ]]; then
HELM_ARGS="$HELM_ARGS --set grafana.ingress.tls[0].secretName=grafana-tls"
HELM_ARGS="$HELM_ARGS --set grafana.ingress.tls[0].hosts[0]=${GRAFANA_HOST}"
cat > "$TEMP_TLS_VALUES" <<EOF
grafana:
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
EOF
elif [[ "$USE_CLOUDFLARE" == "true" ]]; then
echo "{}" > "$TEMP_TLS_VALUES"
else
echo "{}" > "$TEMP_TLS_VALUES"
fi
# =============================================================================
@@ -189,13 +194,15 @@ else
HELM_CMD="install"
fi
helm ${HELM_CMD} monitoring vm/victoria-metrics-k8s-stack \
eval helm ${HELM_CMD} monitoring vm/victoria-metrics-k8s-stack \
--namespace monitoring \
-f "$TEMP_VALUES" \
-f "$VALUES_FILE" \
-f "$TEMP_TLS_VALUES" \
$HELM_ARGS \
--wait \
--timeout 10m
rm -f "$TEMP_VALUES"
rm -f "$TEMP_TLS_VALUES"
log_success "Victoria Metrics Stack instalado!"