Updated flow for allhost entry
This commit is contained in:
parent
ecfc5c6a39
commit
ada1e3f8a7
@ -895,5 +895,72 @@ spec:
|
|||||||
kubectl exec -n "$NAMESPACE" "$MYSQL_POD" -- mysql -u "$MYSQL_USER" -p"$MYSQL_PWD" "$MYSQL_DB" -e \
|
kubectl exec -n "$NAMESPACE" "$MYSQL_POD" -- mysql -u "$MYSQL_USER" -p"$MYSQL_PWD" "$MYSQL_DB" -e \
|
||||||
"SELECT a.name as app_name, i.ipaddress FROM apps a JOIN app_ips_accesses i ON a.id = i.app_id WHERE i.is_deleted = 0 ORDER BY a.name, i.ipaddress" 2>/dev/null || echo "Could not retrieve summary"
|
"SELECT a.name as app_name, i.ipaddress FROM apps a JOIN app_ips_accesses i ON a.id = i.app_id WHERE i.is_deleted = 0 ORDER BY a.name, i.ipaddress" 2>/dev/null || echo "Could not retrieve summary"
|
||||||
|
|
||||||
|
# Update allhosts ConfigMap with registered services
|
||||||
|
echo ""
|
||||||
|
echo "=== Updating allhosts.tsv ConfigMap ==="
|
||||||
|
|
||||||
|
CONFIGMAP_NAME="hades-allhosts"
|
||||||
|
|
||||||
|
# Check if ConfigMap exists
|
||||||
|
if kubectl get configmap "$CONFIGMAP_NAME" -n "$NAMESPACE" >/dev/null 2>&1; then
|
||||||
|
echo "Found allhosts ConfigMap: $CONFIGMAP_NAME"
|
||||||
|
|
||||||
|
# Get current content
|
||||||
|
CURRENT_CONTENT=$(kubectl get configmap "$CONFIGMAP_NAME" -n "$NAMESPACE" -o jsonpath='{.data.allhosts\.tsv}')
|
||||||
|
|
||||||
|
# Build new entries for each service
|
||||||
|
NEW_ENTRIES=""
|
||||||
|
for service in $SERVICES_LIST; do
|
||||||
|
service=$(echo "$service" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
||||||
|
[ -z "$service" ] && continue
|
||||||
|
|
||||||
|
# Skip resource references
|
||||||
|
if echo "$service" | grep -q "^resource:"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get pod IP for this service
|
||||||
|
POD_IP=$(kubectl get pods -n "$NAMESPACE" \
|
||||||
|
-l "app.kubernetes.io/instance=${NAMESPACE}-${service}" \
|
||||||
|
-o jsonpath='{.items[0].status.podIP}' 2>/dev/null) || POD_IP=""
|
||||||
|
|
||||||
|
if [ -z "$POD_IP" ]; then
|
||||||
|
POD_IP=$(kubectl get pods -n "$NAMESPACE" \
|
||||||
|
-l "backstage.io/kubernetes-id=${service}" \
|
||||||
|
-o jsonpath='{.items[0].status.podIP}' 2>/dev/null) || POD_IP=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$POD_IP" ]; then
|
||||||
|
HOSTNAME="${service}.${NAMESPACE}.onlinesales.ai"
|
||||||
|
# Check if entry already exists
|
||||||
|
if ! echo "$CURRENT_CONTENT" | grep -q "^${HOSTNAME}[[:space:]]"; then
|
||||||
|
NEW_ENTRY="${HOSTNAME}\t${POD_IP}\t${service}\tplatform\tk8s.pod"
|
||||||
|
NEW_ENTRIES="${NEW_ENTRIES}${NEW_ENTRY}\n"
|
||||||
|
echo " Adding: $HOSTNAME -> $POD_IP"
|
||||||
|
else
|
||||||
|
echo " Skipping (exists): $HOSTNAME"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$NEW_ENTRIES" ]; then
|
||||||
|
# Append new entries to content
|
||||||
|
UPDATED_CONTENT="${CURRENT_CONTENT}
|
||||||
|
$(echo -e "$NEW_ENTRIES")"
|
||||||
|
|
||||||
|
# Patch the ConfigMap
|
||||||
|
kubectl create configmap "$CONFIGMAP_NAME" -n "$NAMESPACE" \
|
||||||
|
--from-literal="allhosts.tsv=${UPDATED_CONTENT}" \
|
||||||
|
--dry-run=client -o yaml | kubectl apply -f -
|
||||||
|
|
||||||
|
echo "ConfigMap updated successfully"
|
||||||
|
else
|
||||||
|
echo "No new entries to add"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Warning: allhosts ConfigMap not found in namespace $NAMESPACE"
|
||||||
|
echo "Skipping ConfigMap update"
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Hades IP registration completed"
|
echo "Hades IP registration completed"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user