39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# First, ensure netdebug pod is installed
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_DIR="$(dirname "$SCRIPT_DIR")"
|
|
|
|
# Source environment variables
|
|
if [ -f "$REPO_DIR/load-env.sh" ]; then
|
|
source "$REPO_DIR/load-env.sh"
|
|
fi
|
|
|
|
# Check if netdebug is installed, if not deploy it
|
|
if ! kubectl get namespace debug >/dev/null 2>&1; then
|
|
echo "Setting up netdebug pod..."
|
|
kubectl apply -f "$REPO_DIR/infrastructure_setup/utils/netdebug.yaml"
|
|
echo "Waiting for netdebug pod to be ready..."
|
|
sleep 5
|
|
fi
|
|
|
|
# Get the netdebug pod name
|
|
NETDEBUG_POD=$(kubectl get pods -n debug -l app=netdebug -o jsonpath='{.items[0].metadata.name}' 2>/dev/null)
|
|
|
|
if [ -z "$NETDEBUG_POD" ]; then
|
|
echo "Waiting for netdebug pod to start..."
|
|
kubectl get pods -n debug
|
|
exit 1
|
|
fi
|
|
|
|
# If arguments provided, run them as a command on the container
|
|
if [ $# -gt 0 ]; then
|
|
kubectl exec -it -n debug "$NETDEBUG_POD" -- "$@"
|
|
else
|
|
# Otherwise attach to the container with a shell
|
|
echo "Attaching to netdebug pod ($NETDEBUG_POD)..."
|
|
echo "Type 'exit' to detach"
|
|
echo ""
|
|
kubectl exec -it -n debug "$NETDEBUG_POD" -- /bin/bash
|
|
fi |