Compare commits

...

4 Commits

Author SHA1 Message Date
oleg 9b2bda6257 crypto_exch_stats docker run 2024-11-06 10:46:41 -05:00
oleg 80a6ffeb18 docker_image_builder fix 2024-11-02 23:36:26 -04:00
oleg e7c02587c2 progress docker image builder 2024-11-02 21:22:23 -04:00
oleg cc2c07741a fix 2024-11-02 17:54:16 -04:00
4 changed files with 86 additions and 11 deletions
+36 -10
View File
@@ -1,6 +1,5 @@
#!/bin/bash #!/bin/bash
usage() { usage() {
echo -n "Usage: ${0} <RootDir>" echo -n "Usage: ${0} <RootDir>"
echo echo
@@ -49,7 +48,7 @@ build_docker_image() {
image_version=$(get_latest_dist_version ${project}) image_version=$(get_latest_dist_version ${project})
if [ -z "${image_version}" ]; then if [ -z "${image_version}" ]; then
echo "No latest version found for ${project}" echo "No latest version found for ${project}"
exit 1 return
fi fi
echo "Latest version is ${image_version}" echo "Latest version is ${image_version}"
@@ -103,6 +102,8 @@ build_docker_image() {
Cmd="rm -rf ${RootDir}/${project}" Cmd="rm -rf ${RootDir}/${project}"
echo ${Cmd} echo ${Cmd}
eval ${Cmd} eval ${Cmd}
print_all_reg_images ${project}
} }
convert_symlink_to_dir() { convert_symlink_to_dir() {
@@ -113,10 +114,12 @@ convert_symlink_to_dir() {
Cmd="mv ${RootDir}/${project} ${RootDir}/${project}.symlink" Cmd="mv ${RootDir}/${project} ${RootDir}/${project}.symlink"
echo ${Cmd} && eval ${Cmd} echo ${Cmd} && eval ${Cmd}
Cmd="cp -r ${RootDir}/${project}.symlink ${RootDir}/${project}" src_path=$(readlink -f ${RootDir}/${project}.symlink)
Cmd="cp -r ${src_path} ${RootDir}/${project}"
echo ${Cmd} && eval ${Cmd} echo ${Cmd} && eval ${Cmd}
fi fi
if [ -D ${project} ]; then if [ -d ${project} ]; then
echo "${RootDir}/${project} is a Directory" echo "${RootDir}/${project} is a Directory"
fi fi
Cmd="rm ${RootDir}/${project}.symlink" Cmd="rm ${RootDir}/${project}.symlink"
@@ -134,6 +137,26 @@ image_exists() {
fi fi
} }
print_all_reg_images() {
project=${1}
repositories=$(curl -s "${RegistryProtocol}://${RegistryService}/v2/_catalog" | jq -r '.repositories[]')
for repo in $repositories; do
# Fetch all tags for the repository
tags=$(curl -s "${RegistryProtocol}://${RegistryService}/v2/$repo/tags/list" | jq -r '.tags[]')
# List each tag
for tag in $tags; do
if [ "${project}" == "" ];then
echo "$repo:$tag"
else
echo "$repo:$tag" | grep ${project}
fi
done
done
}
get_latest_dist_version() { get_latest_dist_version() {
project=${1} project=${1}
@@ -150,23 +173,26 @@ Cmd="${SetVersionScript} docker_dev latest"
echo ${Cmd} echo ${Cmd}
eval ${Cmd} eval ${Cmd}
echo "${DIMAGES_CONFIG}" | jq -c 'to_entries[]' | while IFS= read -r item; do convert_symlink_to_dir docker_dev
Jobs=()
while IFS= read -r item; do
Jobs+=("$item")
done < <(echo "${DIMAGES_CONFIG}" | jq -c 'to_entries[]')
for item in "${Jobs[@]}"; do
# Extract key (name) and values # Extract key (name) and values
title=$(echo "$item" | jq -r '.key') title=$(echo "$item" | jq -r '.key')
image_name=$(echo "$item" | jq -r '.value.image_name') image_name=$(echo "$item" | jq -r '.value.image_name')
docker_dev_path=$(echo "$item" | jq -r '.value.docker_dev_path') docker_dev_path=$(echo "$item" | jq -r '.value.docker_dev_path')
project=$(echo "$item" | jq -r '.value.based_on_project') project=$(echo "$item" | jq -r '.value.based_on_project')
build_docker_image "$title" "$image_name" "$docker_dev_path" "$project" build_docker_image "$title" "$image_name" "$docker_dev_path" "$project"
done done
Cmd="docker images"
echo ${Cmd}
eval ${Cmd}
Cmd="rm -rf ${RootDir}/docker_dev" Cmd="rm -rf ${RootDir}/docker_dev"
echo ${Cmd} echo ${Cmd}
eval ${Cmd} eval ${Cmd}
#=============================================================================== #===============================================================================
#=============================================================================== #===============================================================================
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
usage() {
echo -n "Usage: ${0} <grep_filter>"
echo
exit 1
}
# --- Settings
RegistryService=cloud21.cvtt.vpn:5500
RegistryProtocol=http
print_all_reg_images() {
project=${1}
repositories=$(curl -s "${RegistryProtocol}://${RegistryService}/v2/_catalog" | jq -r '.repositories[]')
for repo in $repositories; do
# Fetch all tags for the repository
tags=$(curl -s "${RegistryProtocol}://${RegistryService}/v2/$repo/tags/list" | jq -r '.tags[]')
# List each tag
echo "REPO: $repo"
for tag in $tags; do
if [ "${project}" == "" ];then
echo "$repo:$tag"
else
echo "$repo:$tag" | grep ${project}
fi
done
done
}
print_all_reg_images ${1}
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
Cmd="docker run"
Cmd+=" -d"
Cmd+=" --rm"
Cmd+=" --pull=always"
Cmd+=" --network=host"
Cmd+=" --name=crypto_exch_stats"
Cmd+=" --volume=${HOME}/prod/data:/app/data"
Cmd+=" --volume=${HOME}/prod/logs:/logs"
Cmd+=" cloud21.cvtt.vpn:5500/crypto_exch_stats:latest"
echo ${Cmd}
eval ${Cmd}
# Cmd+=" cloud21.cvtt.vpn:5500/relative_liquidity:latest"
+1 -1
View File
@@ -1 +1 @@
1.8.4.fx1,initial version of docker_image_builder.sh 1.8.6,crypto_exch_stats docker run