Compare commits
41 Commits
add-shell-
...
master
Author | SHA1 | Date |
---|---|---|
Karol Wypchło | 3da3cf949f | |
renovate[bot] | 15d5d7c0d7 | |
Karol Wypchło | 9559ec160c | |
renovate[bot] | f21f718c13 | |
Karol Wypchło | f1ac4c5653 | |
Karol Wypchło | 17ea999288 | |
renovate[bot] | f91cb72db7 | |
renovate[bot] | f83f3cefe8 | |
Karol Wypchło | e63fcbecb7 | |
Karol Wypchło | 5ff2f5891e | |
renovate[bot] | b7afcd1feb | |
Karol Wypchlo | ba106d69f2 | |
Karol Wypchło | 8ce5c9d7e6 | |
Karol Wypchlo | b2313c602a | |
Karol Wypchlo | 2ea337a3b0 | |
Karol Wypchło | 919d22b314 | |
renovate[bot] | 983602e5aa | |
Karol Wypchło | bb8485b1cc | |
renovate[bot] | 91e8fad3b1 | |
Karol Wypchło | 74b72f4f47 | |
Karol Wypchło | a940f2728f | |
Karol Wypchło | 634c623e48 | |
Karol Wypchło | d926c22aa4 | |
Karol Wypchło | 9958b66faf | |
Karol Wypchło | 8381555ce7 | |
Karol Wypchło | 94860262a5 | |
Karol Wypchło | c4243968e1 | |
Karol Wypchło | c49cb57315 | |
Karol Wypchło | 1334537729 | |
Karol Wypchło | 823efb2238 | |
renovate[bot] | b3c300d7bf | |
renovate[bot] | 89a263bfc6 | |
renovate[bot] | d5cc81f934 | |
renovate[bot] | 1f0d66a33a | |
Karol Wypchło | 686e20b8a3 | |
Karol Wypchło | 70b80bb072 | |
Karol Wypchło | 167a56383f | |
Karol Wypchło | c054ffb0ea | |
Karol Wypchlo | 17e4d782ca | |
Karol Wypchlo | 4b52d3c671 | |
Karol Wypchlo | c85d788939 |
|
@ -1,14 +0,0 @@
|
||||||
name: Lint Shell Scripts
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
shellcheck:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: ludeeus/action-shellcheck@1.1.0
|
|
|
@ -21,7 +21,7 @@ services:
|
||||||
- JAEGER_REPORTER_LOG_SPANS=false
|
- JAEGER_REPORTER_LOG_SPANS=false
|
||||||
|
|
||||||
jaeger-agent:
|
jaeger-agent:
|
||||||
image: jaegertracing/jaeger-agent:1.38.0
|
image: jaegertracing/jaeger-agent:1.38.1
|
||||||
command:
|
command:
|
||||||
[
|
[
|
||||||
"--reporter.grpc.host-port=jaeger-collector:14250",
|
"--reporter.grpc.host-port=jaeger-collector:14250",
|
||||||
|
@ -43,7 +43,7 @@ services:
|
||||||
- jaeger-collector
|
- jaeger-collector
|
||||||
|
|
||||||
jaeger-collector:
|
jaeger-collector:
|
||||||
image: jaegertracing/jaeger-collector:1.38.0
|
image: jaegertracing/jaeger-collector:1.38.1
|
||||||
entrypoint: /wait_to_start.sh
|
entrypoint: /wait_to_start.sh
|
||||||
container_name: jaeger-collector
|
container_name: jaeger-collector
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
@ -68,7 +68,7 @@ services:
|
||||||
- elasticsearch
|
- elasticsearch
|
||||||
|
|
||||||
jaeger-query:
|
jaeger-query:
|
||||||
image: jaegertracing/jaeger-query:1.38.0
|
image: jaegertracing/jaeger-query:1.38.1
|
||||||
entrypoint: /wait_to_start.sh
|
entrypoint: /wait_to_start.sh
|
||||||
container_name: jaeger-query
|
container_name: jaeger-query
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
|
|
@ -17,10 +17,6 @@ services:
|
||||||
- ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro
|
- ./docker/clamav/clamd.conf:/etc/clamav/clamd.conf:ro
|
||||||
expose:
|
expose:
|
||||||
- 3310 # NEVER expose this outside of the local network!
|
- 3310 # NEVER expose this outside of the local network!
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: "${CLAMAV_CPU:-0.50}"
|
|
||||||
networks:
|
networks:
|
||||||
shared:
|
shared:
|
||||||
ipv4_address: 10.10.10.100
|
ipv4_address: 10.10.10.100
|
||||||
|
|
|
@ -14,7 +14,7 @@ services:
|
||||||
- MONGODB_PASSWORD=${SKYNET_DB_PASS}
|
- MONGODB_PASSWORD=${SKYNET_DB_PASS}
|
||||||
|
|
||||||
mongo:
|
mongo:
|
||||||
image: mongo:4.4.16
|
image: mongo:4.4.17
|
||||||
command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET:-skynet} --setParameter ShardingTaskExecutorPoolMinSize=10
|
command: --keyFile=/data/mgkey --replSet=${SKYNET_DB_REPLICASET:-skynet} --setParameter ShardingTaskExecutorPoolMinSize=10
|
||||||
container_name: mongo
|
container_name: mongo
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
|
@ -10,7 +10,7 @@ services:
|
||||||
pinner:
|
pinner:
|
||||||
# uncomment "build" and comment out "image" to build from sources
|
# uncomment "build" and comment out "image" to build from sources
|
||||||
# build: https://github.com/SkynetLabs/pinner.git#main
|
# build: https://github.com/SkynetLabs/pinner.git#main
|
||||||
image: skynetlabs/pinner:0.7.6
|
image: skynetlabs/pinner:0.7.8
|
||||||
container_name: pinner
|
container_name: pinner
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
|
|
@ -60,7 +60,7 @@ services:
|
||||||
#
|
#
|
||||||
# make sure that the file has 0400 permissions with:
|
# make sure that the file has 0400 permissions with:
|
||||||
# chmod 0400 ./docker/data/certbot/cloudflare.ini
|
# chmod 0400 ./docker/data/certbot/cloudflare.ini
|
||||||
image: certbot/dns-route53:v1.30.0
|
image: certbot/dns-route53:v1.31.0
|
||||||
entrypoint: sh /entrypoint.sh
|
entrypoint: sh /entrypoint.sh
|
||||||
container_name: certbot
|
container_name: certbot
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
@ -108,7 +108,7 @@ services:
|
||||||
# build:
|
# build:
|
||||||
# context: https://github.com/SkynetLabs/webportal-website.git#main
|
# context: https://github.com/SkynetLabs/webportal-website.git#main
|
||||||
# dockerfile: Dockerfile
|
# dockerfile: Dockerfile
|
||||||
image: skynetlabs/webportal-website:0.2.2
|
image: skynetlabs/webportal-website:0.2.3
|
||||||
container_name: website
|
container_name: website
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
@ -142,7 +142,7 @@ services:
|
||||||
# build:
|
# build:
|
||||||
# context: https://github.com/SkynetLabs/webportal-handshake-api.git#main
|
# context: https://github.com/SkynetLabs/webportal-handshake-api.git#main
|
||||||
# dockerfile: Dockerfile
|
# dockerfile: Dockerfile
|
||||||
image: skynetlabs/webportal-handshake-api:0.1.2
|
image: skynetlabs/webportal-handshake-api:0.1.3
|
||||||
container_name: handshake-api
|
container_name: handshake-api
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
@ -166,7 +166,7 @@ services:
|
||||||
# build:
|
# build:
|
||||||
# context: https://github.com/SkynetLabs/webportal-dnslink-api.git#main
|
# context: https://github.com/SkynetLabs/webportal-dnslink-api.git#main
|
||||||
# dockerfile: Dockerfile
|
# dockerfile: Dockerfile
|
||||||
image: skynetlabs/webportal-dnslink-api:0.2.0
|
image: skynetlabs/webportal-dnslink-api:0.2.1
|
||||||
container_name: dnslink-api
|
container_name: dnslink-api
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
@ -181,7 +181,7 @@ services:
|
||||||
# build:
|
# build:
|
||||||
# context: https://github.com/SkynetLabs/webportal-health-check.git#main
|
# context: https://github.com/SkynetLabs/webportal-health-check.git#main
|
||||||
# dockerfile: Dockerfile
|
# dockerfile: Dockerfile
|
||||||
image: skynetlabs/webportal-health-check:0.5.0
|
image: skynetlabs/webportal-health-check:1.0.0
|
||||||
container_name: health-check
|
container_name: health-check
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
|
|
@ -50,6 +50,7 @@ aws s3 sync --no-progress /home/user/skynet-webportal/docker/data/nginx/logs s3:
|
||||||
# generate and sync skylinks dump
|
# generate and sync skylinks dump
|
||||||
SKYLINKS_PATH=logs/skylinks/$(date +"%Y-%m-%d").log
|
SKYLINKS_PATH=logs/skylinks/$(date +"%Y-%m-%d").log
|
||||||
mkdir -p /home/user/skynet-webportal/logs/skylinks # ensure path exists
|
mkdir -p /home/user/skynet-webportal/logs/skylinks # ensure path exists
|
||||||
|
find /home/user/skynet-webportal/logs/skylinks -type f -mtime +7 -delete # delete skylink dumps older than 7 days
|
||||||
docker exec sia siac skynet ls --recursive --alert-suppress > /home/user/skynet-webportal/${SKYLINKS_PATH}
|
docker exec sia siac skynet ls --recursive --alert-suppress > /home/user/skynet-webportal/${SKYLINKS_PATH}
|
||||||
aws s3 cp --no-progress /home/user/skynet-webportal/${SKYLINKS_PATH} s3://${BUCKET_NAME}/${SERVER_PREFIX}/${SKYLINKS_PATH}
|
aws s3 cp --no-progress /home/user/skynet-webportal/${SKYLINKS_PATH} s3://${BUCKET_NAME}/${SERVER_PREFIX}/${SKYLINKS_PATH}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,8 @@ if test -f "$1"; then
|
||||||
else
|
else
|
||||||
echo "Incorrect skylink at line ${line_number}: $line" && exit 1
|
echo "Incorrect skylink at line ${line_number}: $line" && exit 1
|
||||||
fi
|
fi
|
||||||
(( line_number++ ))
|
let line_number+=1
|
||||||
done < "$1";
|
done < $1;
|
||||||
else
|
else
|
||||||
skylinks=("$1") # just single skylink passed as input argument
|
skylinks=("$1") # just single skylink passed as input argument
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -20,7 +20,7 @@ fi
|
||||||
|
|
||||||
countdown() {
|
countdown() {
|
||||||
local secs=$1
|
local secs=$1
|
||||||
while [ "$secs" -gt 0 ]; do
|
while [ $secs -gt 0 ]; do
|
||||||
echo -ne "Waiting $secs\033[0K\r"
|
echo -ne "Waiting $secs\033[0K\r"
|
||||||
sleep 1
|
sleep 1
|
||||||
: $((secs--))
|
: $((secs--))
|
||||||
|
@ -28,10 +28,10 @@ countdown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# delay disabling the portal
|
# delay disabling the portal
|
||||||
countdown "$delay"
|
countdown $delay
|
||||||
|
|
||||||
# stop health-check so the server is taken our of load balancer
|
# stop health-check so the server is taken our of load balancer
|
||||||
docker exec health-check cli disable "$reason"
|
docker exec health-check cli disable $reason
|
||||||
|
|
||||||
# then wait 5 minutes for the load balancer to propagate the dns records
|
# then wait 5 minutes for the load balancer to propagate the dns records
|
||||||
countdown "$timeout"
|
countdown $timeout
|
||||||
|
|
|
@ -232,8 +232,7 @@ async def check_health():
|
||||||
message += "{}/{} CRITICAL checks failed over the last {} hours! ".format(
|
message += "{}/{} CRITICAL checks failed over the last {} hours! ".format(
|
||||||
critical_checks_failed, critical_checks_total, CHECK_HOURS
|
critical_checks_failed, critical_checks_total, CHECK_HOURS
|
||||||
)
|
)
|
||||||
# Disabling as it creates notification fatigue.
|
force_notify = True
|
||||||
# force_notify = True
|
|
||||||
else:
|
else:
|
||||||
message += "All {} critical checks passed. ".format(critical_checks_total)
|
message += "All {} critical checks passed. ".format(critical_checks_total)
|
||||||
|
|
||||||
|
@ -241,8 +240,7 @@ async def check_health():
|
||||||
message += "{}/{} extended checks failed over the last {} hours! ".format(
|
message += "{}/{} extended checks failed over the last {} hours! ".format(
|
||||||
extended_checks_failed, extended_checks_total, CHECK_HOURS
|
extended_checks_failed, extended_checks_total, CHECK_HOURS
|
||||||
)
|
)
|
||||||
# Disabling as it creates notification fatigue.
|
force_notify = True
|
||||||
# force_notify = True
|
|
||||||
else:
|
else:
|
||||||
message += "All {} extended checks passed. ".format(extended_checks_total)
|
message += "All {} extended checks passed. ".format(extended_checks_total)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
/home/user/skynet-webportal/docker/data/nginx/logs/*.log {
|
||||||
|
daily
|
||||||
|
rotate 3650
|
||||||
|
minsize 500M
|
||||||
|
create 644 root root
|
||||||
|
notifempty
|
||||||
|
dateext
|
||||||
|
missingok
|
||||||
|
compress
|
||||||
|
compressoptions --best
|
||||||
|
delaycompress
|
||||||
|
sharedscripts
|
||||||
|
postrotate
|
||||||
|
docker exec nginx nginx -s reopen
|
||||||
|
endscript
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
/home/user/skynet-webportal/docker/data/pinner/*.log {
|
||||||
|
daily
|
||||||
|
rotate 10
|
||||||
|
minsize 100M
|
||||||
|
copytruncate
|
||||||
|
notifempty
|
||||||
|
dateext
|
||||||
|
missingok
|
||||||
|
compress
|
||||||
|
compressoptions --best
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
/home/user/skynet-webportal/docker/data/sia/*.log
|
||||||
|
/home/user/skynet-webportal/docker/data/sia/*/*.log {
|
||||||
|
daily
|
||||||
|
rotate 10
|
||||||
|
minsize 100M
|
||||||
|
copytruncate
|
||||||
|
notifempty
|
||||||
|
dateext
|
||||||
|
missingok
|
||||||
|
compress
|
||||||
|
compressoptions --best
|
||||||
|
}
|
|
@ -33,7 +33,7 @@ fi
|
||||||
# Write the output in an infinite loop.
|
# Write the output in an infinite loop.
|
||||||
while true; do
|
while true; do
|
||||||
# CPU usage
|
# CPU usage
|
||||||
cpu=$((100-$(vmstat 1 2|tail -1|awk '{print $15}')))
|
cpu=$(echo $[100-$(vmstat 1 2|tail -1|awk '{print $15}')])
|
||||||
sed -i "1iCPU: ${cpu}" $logfile
|
sed -i "1iCPU: ${cpu}" $logfile
|
||||||
|
|
||||||
# Disk Usage
|
# Disk Usage
|
||||||
|
|
Reference in New Issue