mirror of
https://github.com/getnora-io/nora.git
synced 2026-04-12 18:30:32 +00:00
- Convert registry list, docker detail, package detail, maven detail pages to dark theme - Use layout_dark instead of layout for all pages - Update colors: bg-[#1e293b] cards, slate-700 borders, slate-200/400 text - Mark unused light theme functions with #[allow(dead_code)]
84 lines
2.1 KiB
Bash
84 lines
2.1 KiB
Bash
#!/bin/bash
|
|
# Demo traffic simulator for NORA registry
|
|
# Generates random registry activity for dashboard demo
|
|
|
|
REGISTRY="http://localhost:4000"
|
|
LOG_FILE="/var/log/nora-demo-traffic.log"
|
|
|
|
# Sample packages to fetch
|
|
NPM_PACKAGES=("lodash" "express" "react" "axios" "moment" "underscore" "chalk" "debug")
|
|
MAVEN_ARTIFACTS=(
|
|
"org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.pom"
|
|
"com/google/guava/guava/31.1-jre/guava-31.1-jre.pom"
|
|
"org/slf4j/slf4j-api/2.0.0/slf4j-api-2.0.0.pom"
|
|
)
|
|
DOCKER_IMAGES=("alpine" "busybox" "hello-world")
|
|
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
|
|
}
|
|
|
|
# Random sleep between min and max seconds
|
|
random_sleep() {
|
|
local min=$1
|
|
local max=$2
|
|
local delay=$((RANDOM % (max - min + 1) + min))
|
|
sleep $delay
|
|
}
|
|
|
|
# Fetch random npm package
|
|
fetch_npm() {
|
|
local pkg=${NPM_PACKAGES[$RANDOM % ${#NPM_PACKAGES[@]}]}
|
|
log "NPM: fetching $pkg"
|
|
curl -s "$REGISTRY/npm/$pkg" > /dev/null 2>&1
|
|
}
|
|
|
|
# Fetch random maven artifact
|
|
fetch_maven() {
|
|
local artifact=${MAVEN_ARTIFACTS[$RANDOM % ${#MAVEN_ARTIFACTS[@]}]}
|
|
log "MAVEN: fetching $artifact"
|
|
curl -s "$REGISTRY/maven2/$artifact" > /dev/null 2>&1
|
|
}
|
|
|
|
# Docker push/pull cycle
|
|
docker_cycle() {
|
|
local img=${DOCKER_IMAGES[$RANDOM % ${#DOCKER_IMAGES[@]}]}
|
|
local tag="demo-$(date +%s)"
|
|
|
|
log "DOCKER: push/pull cycle for $img"
|
|
|
|
# Tag and push
|
|
docker tag "$img:latest" "localhost:4000/demo/$img:$tag" 2>/dev/null
|
|
docker push "localhost:4000/demo/$img:$tag" > /dev/null 2>&1
|
|
|
|
# Pull back
|
|
docker rmi "localhost:4000/demo/$img:$tag" > /dev/null 2>&1
|
|
docker pull "localhost:4000/demo/$img:$tag" > /dev/null 2>&1
|
|
|
|
# Cleanup
|
|
docker rmi "localhost:4000/demo/$img:$tag" > /dev/null 2>&1
|
|
}
|
|
|
|
# Main loop
|
|
log "Starting demo traffic simulator"
|
|
|
|
while true; do
|
|
# Random operation
|
|
op=$((RANDOM % 10))
|
|
|
|
case $op in
|
|
0|1|2|3) # 40% npm
|
|
fetch_npm
|
|
;;
|
|
4|5|6) # 30% maven
|
|
fetch_maven
|
|
;;
|
|
7|8|9) # 30% docker
|
|
docker_cycle
|
|
;;
|
|
esac
|
|
|
|
# Random delay: 30-120 seconds
|
|
random_sleep 30 120
|
|
done
|