feat: Bring in progress output and encryption improvements for clicada #1

Open
lash wants to merge 13 commits from lash/clicada-improved into master
10 changed files with 131 additions and 25 deletions

10
CHANGELOG Normal file
View File

@ -0,0 +1,10 @@
- 0.0.3
* Upgrade clicada: progress status and encryption of cache
- 0.0.2
* Upgrade clicada to allow auto-configuration override from ~/.config/cic/clicada
- 0.0.1
* Add cic-cli installer
* Add clicada installer
* Add systemd services
* Add cic-cache installer
* Add bloxberg installer

1
VERSION Normal file
View File

@ -0,0 +1 @@
0.0.3

32
install.sh Normal file
View File

@ -0,0 +1,32 @@
# Example Usage
# bash <(curl -s https://pip.grassrootseconomics.net/cic-staff-installer.sh) -h
# This is currently living on at pip because root is using a self signed cert
# When changes are made to this file you must run bash ./rsync-install-script.sh to sync it to the server
branch='master'
verbose='false'
print_usage() {
printf "CIC Staff Installer
Options:
-b <branch> Name of the branch you want use to install
-v Verbose
-h Print this help message
"
}
while getopts 'hb:v' flag; do
case "${flag}" in
b) branch="${OPTARG}" ;;
v) verbose='true' ;;
h) print_usage
exit 0 ;;
*) print_usage
exit 1 ;;
esac
done
temp_dir=`mktemp -d`
git clone -b $branch https://git.grassecon.net/grassrootseconomics/cic-staff-installer.git $temp_dir
cd $temp_dir
bash setup.sh

35
keys/ge.ca Normal file
View File

@ -0,0 +1,35 @@
-----BEGIN CERTIFICATE-----
MIIGKTCCBBGgAwIBAgIUSYquRAO8Rq2txD1CQwg2VikVl3wwDQYJKoZIhvcNAQEL
BQAwgaMxCzAJBgNVBAYTAktFMQ8wDQYDVQQIDAZLaWxpZmkxDzANBgNVBAcMBktp
bGlmaTEdMBsGA1UECgwUR3Jhc3Nyb290cyBFY29ub21pY3MxJTAjBgNVBAMMHHJv
b3QuZ3Jhc3Nyb290c2Vjb25vbWljcy5uZXQxLDAqBgkqhkiG9w0BCQEWHWFkbWlu
QGdyYXNzcm9vdHNlY29ub21pY3MubmV0MB4XDTIyMDEyNTExMTgzM1oXDTI3MDkw
NDExMTgzM1owgaMxCzAJBgNVBAYTAktFMQ8wDQYDVQQIDAZLaWxpZmkxDzANBgNV
BAcMBktpbGlmaTEdMBsGA1UECgwUR3Jhc3Nyb290cyBFY29ub21pY3MxJTAjBgNV
BAMMHHJvb3QuZ3Jhc3Nyb290c2Vjb25vbWljcy5uZXQxLDAqBgkqhkiG9w0BCQEW
HWFkbWluQGdyYXNzcm9vdHNlY29ub21pY3MubmV0MIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAw9FBgX2pe3g5EcNYvlMaGi9VuNgEwZhxy9qSqTfenC+G
kHxds/1wRbGG2Z+2VtQ2ab5mad0ecc6Ojbh6Yz7k2wY+zR0pYav0o6jnj7vn/k4O
d6NBmcL/qdwBfPM33HHWSrMKVN5dsBk96dnOBenIgN04lTtNmjsie2iPr/48WFTJ
udi9//V4EgNkUd6Sequ9S9UlhovCkYhFVQ0HiIVV+HegYJ1VY95rNH8BCELDXFgy
xo9xRF21xQqIxXiBz59GsDe3oLSvCUbMxG8tKlNsUfIsJWwQc1usrFjJ+mH5cVe5
RfE3kKPO/e6G4kqPobkZStFEXJJq/zQS4nYpqt4+vtfohzQAn5lucLX391hlqzqc
G6/zYxN6BysyNA4ON30uNSf4FiC/prqGrI763AVIj5jJ/nX1++bt/fj35+3CS0pE
yDPVdsnwQSv9glaIf/OmTwhS+7PulomKvZVKvF3pDjlKu+QPQLxVs6DVt1JuWicw
2wD4jKZNDbVRYJf3UcFy8jX1fWC0JT6xVbdB/ujaB7FkPBTIQTo3UDSO5lph+CKE
jGsMeuYBgPcJ1XN9V0/G+sT5T3bZ4tPoFG0TrsJyjd1Q+qrGV6Ymh3m4rgvxzsJN
IDK1evdBpwASdI+Zsm5cbmkNMJrVpUTnML5niLNd3mKss7CXPcuogarLIFwP78MC
AwEAAaNTMFEwHQYDVR0OBBYEFJRopUpiluMePMGxxsWLyfMPBAqBMB8GA1UdIwQY
MBaAFJRopUpiluMePMGxxsWLyfMPBAqBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggIBAGycDJGE4DeJ/6X5V90ejTmujmb6u4sSEDlMO6Sly9ERcUaw
DGhA5lvoCik21c8nboRv3klzu4VQgzRIpqE/1n91o49QsjKjiHUSJmbER/bdnGoF
HyqwD9PGODgMJwZ8gqsRQoxFRsbKiw5Bejq9l9tkSntxPTXgRP5f6yhfeq1I3oB9
hdPhsDBthNbRr7lMh45xM1lLgj0zvefEaRti68N9/1NSwX0gaYvYTZmaSyH/NWyy
QBo3EDC+WFU6vdl/GN7axo1DWMNRgFPK2CA8KlLSBxNcDEFfbcqqlHjLNk0Zk8FC
YxrnCl+wwNWDNwj6Dcy0iGaioohLftXPvwvIgTj/zkWWEbHhugvTvVp8dciVwqu+
HztfUZPjbb/E1gq6AHIMFbHxyf/3GyAaZl/ij8bHmZfgn4jrwSw2pJFvu8m7i4i9
+HMScGMJIMgOXhUUPTaMJNkfS+Bv+pxNFy6D/62O8gugqs/Z3p6r3gtkv2AiKHI8
PVqIZp+0k5SqHKuZw+xxU6phxjQWQInz7zRvVno1LkVxXeKgiv/WDLRZLdHnnhuu
32FsNGKAJ0/4YM3/tiLkpVa9ElmE6BY4V0sBy63gG0UyHRIiQuPgGmlpM+qXTX87
gdWXxsa421+RpqUXu7RfXsACtgWKOir8NZqitII7AAiCXDxIRiY+EB5EZkN/
-----END CERTIFICATE-----

View File

@ -1,37 +1,38 @@
alembic==1.4.2 alembic==1.4.2
amqp==2.6.1 amqp==2.6.1
asn1crypto==1.4.0 asn1crypto==1.4.0
attrs==21.2.0 attrs==21.4.0
billiard==3.6.4.0 billiard==3.6.4.0
cbor2==5.4.1 cbor2==5.4.1
celery==4.4.7 celery==4.4.7
certifi==2021.10.8 certifi==2021.10.8
cffi==1.14.6 cffi==1.14.6
chainlib==0.0.13 chainlib==0.0.17
chainlib-eth==0.0.13 chainlib-eth==0.0.21
chainsyncer==0.0.7 chainsyncer==0.0.7
charset-normalizer==2.0.7 charset-normalizer==2.0.10
cic==0.0.2 cic==0.0.2
cic-cache==0.3.0a2 cic-cache==0.3.0a2
cic-eth-registry==0.6.2 cic-contracts==0.0.5
cic-types==0.2.1a5 cic-eth-registry==0.6.6
clicada==0.0.2a3 cic-types==0.2.1a8
clicada==0.0.6rc1
coincurve==15.0.0 coincurve==15.0.0
confini==0.5.3 confini==0.5.4
cryptography==3.2.1 cryptography==3.2.1
cytoolz==0.11.0 cytoolz==0.11.2
erc20-faucet==0.3.2 erc20-faucet==0.3.2
eth-accounts-index==0.1.2 eth-accounts-index==0.1.2
eth-address-index==0.2.4 eth-address-index==0.2.4
eth-contract-registry==0.7.2 eth-contract-registry==0.7.2
eth-erc20==0.1.2 eth-erc20==0.1.6
eth-hash==0.3.2 eth-hash==0.3.2
eth-token-index==0.2.4 eth-token-index==0.2.4
eth-typing==2.2.2 eth-typing==3.0.0
eth-utils==1.10.0 eth-utils==2.0.0
funga==0.5.1 funga==0.5.1
funga-eth==0.5.1 funga-eth==0.5.3
hexathon==0.1.0 hexathon==0.1.1
http-hoba-auth==0.2.1a3 http-hoba-auth==0.2.1a3
http-token-auth==0.0.1a6 http-token-auth==0.0.1a6
idna==3.3 idna==3.3
@ -41,7 +42,7 @@ kombu==4.6.11
Mako==1.1.5 Mako==1.1.5
MarkupSafe==2.0.1 MarkupSafe==2.0.1
moolb==0.2.0 moolb==0.2.0
okota==0.2.4 okota==0.2.6
phonenumbers==8.12.12 phonenumbers==8.12.12
potaahto==0.1.0 potaahto==0.1.0
psycopg2==2.8.6 psycopg2==2.8.6
@ -56,13 +57,13 @@ pytz==2021.3
PyYAML==5.3.1 PyYAML==5.3.1
redis==3.5.3 redis==3.5.3
requests==2.26.0 requests==2.26.0
rlp==2.0.1 rlp==3.0.0
semver==2.13.0 semver==2.13.0
six==1.15.0 six==1.15.0
SQLAlchemy==1.3.20 SQLAlchemy==1.3.20
toolz==0.11.1 toolz==0.11.2
urllib3==1.26.7 urllib3==1.26.8
usumbufu==0.3.3a3 usumbufu==0.3.5
uWSGI==2.0.19.1 uWSGI==2.0.19.1
vine==1.3.0 vine==1.3.0
vobject==0.9.6.1 vobject==0.9.6.1

View File

@ -1,3 +1,3 @@
cic-cache==0.3.0a2 cic-cache==0.3.0a2
clicada==0.0.2a3 clicada==0.0.6rc1
cic==0.0.2 cic==0.0.2

9
rsync-install-script.sh Normal file
View File

@ -0,0 +1,9 @@
host='root.grassrootseconomics.net'
file_to_sync='./install.sh'
distination_dir='/usr/local/share/python/packages'
distination_file_name='cic-staff-installer.sh'
user='root'
echo Syncing $file_to_sync to $distination_dir as $user on $host
rsync -avz --progress $file_to_sync $user@$host:$distination_dir/$distination_file_name

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
want_cic_cache_version=0.3.0a2 want_cic_cache_version=0.3.0a2
want_cicada_version=0.0.2a3 want_cicada_version=0.0.6rc1
#INSTALL_EVM=bloxberg #INSTALL_EVM=bloxberg
. aux/bdbg/bdbg.sh . aux/bdbg/bdbg.sh
@ -13,7 +13,8 @@ PIP_EXTRA_ARGS=$PIP_EXTRA_ARGS
PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL:-https://pip.grassrootseconomics.net} PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL:-https://pip.grassrootseconomics.net}
PIP_INDEX_URL=${PIP_INDEX_URL:-"https://pypi.org/simple"} PIP_INDEX_URL=${PIP_INDEX_URL:-"https://pypi.org/simple"}
CIC_SETUP_TRUSTED_FINGERPRINT=${CIC_SETUP_TRUSTED_FINGERPRINT:-0826EDA1702D1E87C6E2875121D2E7BB88C2A746} CIC_SETUP_TRUSTED_FINGERPRINT=${CIC_SETUP_TRUSTED_FINGERPRINT:-0826EDA1702D1E87C6E2875121D2E7BB88C2A746}
CIC_ROOT_URL=${CIC_ROOT_URL:-https://root.grassrootseconomics.net} CIC_ROOT_URL=${CIC_ROOT_URL:-https://root.grassrootseconomics.net/env/dev}
CIC_ROOT_CA_FILE=${CIC_ROOT_CA_FILE:-keys/ge.ca}
if [ "$UID" -eq 0 ]; then if [ "$UID" -eq 0 ]; then
dbg $dbg_error "This cannot be run as root" dbg $dbg_error "This cannot be run as root"
@ -39,7 +40,7 @@ dbg $dbg_debug "identify root values"
set -e set -e
# check if we have existing setup # check if we have existing setup
if [ ! -f "$HOME/.config/cic/staff-client/key_fingerprint" ]; then if [ ! -e "$HOME/.config/cic/staff-client/.envinit" ]; then
dbg $dbg_debug "load default environment" dbg $dbg_debug "load default environment"
config_directives=(CIC_REGISTRY_ADDRESS CIC_TRUST_ADDRESS META_URL TX_CACHE_URL CHAIN_SPEC) config_directives=(CIC_REGISTRY_ADDRESS CIC_TRUST_ADDRESS META_URL TX_CACHE_URL CHAIN_SPEC)
@ -48,7 +49,7 @@ if [ ! -f "$HOME/.config/cic/staff-client/key_fingerprint" ]; then
v=${!c} v=${!c}
if [ -z "$v" ]; then if [ -z "$v" ]; then
d=`mktemp -d` d=`mktemp -d`
curl -X GET $CIC_ROOT_URL/cic-staff-client/$c -o $d/$c curl -X GET --cacert $CIC_ROOT_CA_FILE $CIC_ROOT_URL/$c -o $d/$c
gpg --homedir $HOME/.local/share/cic/.gnupg --verify $d/$c gpg --homedir $HOME/.local/share/cic/.gnupg --verify $d/$c
v=`gpg --homedir $HOME/.local/share/cic/.gnupg -d $d/$c` v=`gpg --homedir $HOME/.local/share/cic/.gnupg -d $d/$c`
echo $v >> $t echo $v >> $t
@ -83,6 +84,8 @@ if [ ! -f "$HOME/.config/cic/staff-client/key_fingerprint" ]; then
export AUTH_KEY=`cat $HOME/.config/cic/staff-client/key_fingerprint` export AUTH_KEY=`cat $HOME/.config/cic/staff-client/key_fingerprint`
export AUTH_KEYRING_PATH=$HOME/.config/cic/staff-client/.gnupg export AUTH_KEYRING_PATH=$HOME/.config/cic/staff-client/.gnupg
export AUTH_DB_PATH=$HOME/.local/share/cic/clicada export AUTH_DB_PATH=$HOME/.local/share/cic/clicada
touch "$HOME/.config/cic/staff-client/.envinit"
fi fi
set +e set +e

View File

@ -7,7 +7,7 @@ function checkk {
fi fi
} }
if [ "$INSTALL_EVM" == "bloxberg"] ; then if [ "$INSTALL_EVM" == "bloxberg" ] ; then
exec=(systemctl git gcc pip python3 sqlite3 clang rustup cmake) exec=(systemctl git gcc pip python3 sqlite3 clang rustup cmake)
else else
exec=(systemctl git gcc pip python3 sqlite3) exec=(systemctl git gcc pip python3 sqlite3)

15
uninstall.sh Normal file
View File

@ -0,0 +1,15 @@
# Usefull when an install fails half way through
red=`tput setaf 1`
reset=`tput sgr0`
echo -n "${red}WARNING:${reset} This will delete all your keys and settings. Continue? (y/n):"
read confirmed
if [ "$confirmed" == "y" ]; then
echo "Deleting all keys and settings..."
rm -rf $HOME/.local/share/cic/
rm -rf $HOME/.config/cic
echo "Done"
else
echo "Aborting"
fi
exit 0