-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon.sh
More file actions
113 lines (91 loc) · 2.43 KB
/
Copy pathcommon.sh
File metadata and controls
113 lines (91 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/bin/bash
# --------------------------------------------------
# Color Palette
# --------------------------------------------------
RESET="\033[0m"
BOLD="\033[1m"
DIM="\033[2m"
BLACK="\033[0;30m"
RED="\033[1;31m"
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
MAGENTA="\033[1;35m"
CYAN="\033[1;36m"
WHITE="\033[1;37m"
BRIGHT_BLACK="\033[0;90m"
BRIGHT_RED="\033[0;91m"
BRIGHT_GREEN="\033[0;92m"
BRIGHT_YELLOW="\033[0;93m"
BRIGHT_BLUE="\033[0;94m"
BRIGHT_MAGENTA="\033[0;95m"
BRIGHT_CYAN="\033[0;96m"
BRIGHT_WHITE="\033[0;97m"
# --------------------------------------------------
# Timestamp
# --------------------------------------------------
timestamp() {
date "+%Y-%m-%d %H:%M:%S"
}
# --------------------------------------------------
# Logging (console colored + file clean)
# --------------------------------------------------
log_file() {
if [ -n "$LOG_FILE" ]; then
echo "[$(timestamp)] $1" >> "$LOG_FILE"
fi
}
info() {
echo -e "${CYAN}[$(timestamp)] ℹ️ $1${RESET}"
log_file "[INFO] $1"
}
success() {
echo -e "${GREEN}[$(timestamp)] ✅ $1${RESET}"
log_file "[SUCCESS] $1"
}
warn() {
echo -e "${YELLOW}[$(timestamp)] ⚠️ $1${RESET}"
log_file "[WARNING] $1"
}
error() {
echo -e "${RED}[$(timestamp)] ❌ $1${RESET}"
log_file "[ERROR] $1"
}
debug() {
echo -e "${MAGENTA}[$(timestamp)] 🐞 $1${RESET}"
log_file "[DEBUG] $1"
}
highlight() {
echo -e "${BOLD}${BLUE}$1${RESET}"
}
divider() {
echo -e "${DIM}────────────────────────────────────────────────────${RESET}"
}
section() {
echo ""
echo -e "${BOLD}${BRIGHT_BLUE}🚀 $1${RESET}"
divider
}
# --------------------------------------------------
# Network Check Helper
# --------------------------------------------------
ensure_network() {
NETWORK_NAME=$1
if ! docker network ls --format '{{.Name}}' | grep -q "^${NETWORK_NAME}$"; then
info "Docker network '${NETWORK_NAME}' not found → Creating"
docker network create "$NETWORK_NAME" >> "$LOG_FILE" 2>&1
success "Docker network '${NETWORK_NAME}' created"
else
info "Docker network '${NETWORK_NAME}' already exists"
fi
}
# --------------------------------------------------
# Timer Helpers
# --------------------------------------------------
start_timer() {
TIMER_START=$(date +%s)
}
end_timer() {
TIMER_END=$(date +%s)
echo $((TIMER_END - TIMER_START))
}