diff options
| author | kaotisk <kaotisk@arching-kaos.org> | 2024-05-27 19:14:00 +0300 | 
|---|---|---|
| committer | kaotisk <kaotisk@arching-kaos.org> | 2024-05-27 19:14:00 +0300 | 
| commit | 4be8482daed5524db80bd46019b5a4dcc74303ee (patch) | |
| tree | 9e68f229d56e72fd93b72781deda96ce919d8a89 /lib | |
| parent | 117dd31d5322c071b4b348b61b0ef741a6044926 (diff) | |
| download | arching-kaos-tools-4be8482daed5524db80bd46019b5a4dcc74303ee.tar.gz arching-kaos-tools-4be8482daed5524db80bd46019b5a4dcc74303ee.tar.bz2 arching-kaos-tools-4be8482daed5524db80bd46019b5a4dcc74303ee.zip  | |
Refactored ak-zchain-* reducing scripts number
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/_ak_zchain | 121 | 
1 files changed, 121 insertions, 0 deletions
diff --git a/lib/_ak_zchain b/lib/_ak_zchain new file mode 100755 index 0000000..2573524 --- /dev/null +++ b/lib/_ak_zchain @@ -0,0 +1,121 @@ +#!/bin/bash +source $AK_LIBDIR/_ak_ipfs +source $AK_LIBDIR/_ak_log + +_ak_zchain_reset (){ +    echo "Reseting ZLATEST to ZGENESIS" +    cp $ZGENESIS $ZLATEST +    if [ $? != 0 ]; then exit 1; fi + +    echo "Make sure /zarchive folder exists within IPFS FS" +    _ak_ipfs_files_mkdir /zarchive +    if [ $? != 0 ]; then echo "Folder already there"; fi + +    echo "Archive the previous ZLATEST" +    _ak_ipfs_files_cp /zlatest /zarchive/$(date -u +%s)-$(_ak_ipfs_files_stat /zlatest | head -n 1) +    if [ $? != 0 ]; then exit 1; fi + +    echo "Removing previous /zlatest entry" +    _ak_ipfs_files_rm /zlatest +    if [ $? != 0 ]; then exit 1; fi + +    echo "Copying reset ZLATEST" +    CZLATEST="$(cat $ZLATEST)" +    _ak_ipfs_files_cp /ipfs/$CZLATEST /zlatest +    if [ $? != 0 ]; then exit 1; fi + +    echo "Publishing new (reset) ZLATEST" +    _ak_ipfs_name_publish --key=zchain /ipfs/$(cat $ZLATEST) +    if [ $? != 0 ]; then exit 1; fi + +    ak-config --publish +    if [ "$?" -ne 0 ] +    then +        logit "ERROR" "Could not publish new configuration" +        exit 1 +    fi + +    echo "Reset was successful" +    exit 0 +} + +_ak_zchain_rebase (){ +    if [ ! -n "$1" ]; then exit 1; fi +    ZTARGET="$1" +    echo "Reseting ZLATEST to ZTARGET" +    echo $ZTARGET > $AK_ZLATEST +    if [ $? != 0 ]; then exit 1; fi + +    echo "Make sure /zarchive folder exists within IPFS FS" +    _ak_ipfs_files_mkdir /zarchive +    if [ $? != 0 ]; then echo "Folder already there"; fi + +    echo "Archive the previous ZLATEST" +    _ak_ipfs_files_cp /zlatest /zarchive/$(date -u +%s)-$(_ak_ipfs_files_stat /zlatest | head -n 1) +    if [ $? != 0 ]; then exit 1; fi + +    echo "Removing previous /zlatest entry" +    _ak_ipfs_files_rm /zlatest +    if [ $? != 0 ]; then exit 1; fi + +    echo "Copying rebased ZLATEST" +    CZLATEST="$(cat $AK_ZLATEST)" +    _ak_ipfs_files_cp /ipfs/$CZLATEST /zlatest +    if [ $? != 0 ]; then exit 1; fi + +    echo "Publishing new (rebased) ZLATEST" +    _ak_ipfs_name_publish --key=zchain /ipfs/$(cat $AK_ZLATEST) +    if [ $? != 0 ]; then exit 1; fi + +    ak-config --publish +    if [ "$?" -ne 0 ] +    then +        logit "ERROR" "Could not publish new configuration" +        exit 1 +    fi +    echo "Rebase was successful" +    exit 0 +} + +_ak_zchain_extract_cids(){ +    if [ ! -z $1 ] && [ -n "$1" ] +    then +        ak-enter $1 | jq  -M | grep Qm | sed -e 's/".*"://g; s/ //g; s/[{,"]//g' | sort | uniq +    else +        ak-enter | jq -M | grep Qm | sed -e 's/".*"://g; s/ //g; s/[{,"]//g' | sort | uniq +    fi +} + +_ak_zchain_extract_data_cids(){ +    if [ ! -z $1 ] +    then +        ak-enter $1 | jq | grep ipfs | awk '{print $2}' | sed -e 's/"//g;s/,//g' +    else +        ak-enter | jq | grep ipfs | awk '{print $2}' | sed -e 's/"//g;s/,//g' +    fi +} + +_ak_zchain_calculate_size(){ +    temp="$(mktemp -d)" +    cd $temp +    if [ ! -z $1 ] && [ -n "$1" ] +    then +        _ak_zchain_extract_cids $1 > to_stats +    else +        _ak_zchain_extract_cids > to_stats +    fi +    sum=0 ; while IFS="" read -r p || [ -n "$p" ] +    do +        if [ "$p" != "" ] +        then +            _ak_ipfs_get $p +            num="$(du -bs --apparent-size $p | cut -d $'\t' -f 1)" +        else +            num=0 +        fi +        sum=$(expr $sum + $num ) +    done < to_stats +    echo "Chain is : $sum bytes" +    cd ~ +    rm -rf $temp +}  | 
