diff --git a/azure-build-policy-apply/apply.sh b/azure-build-policy-apply/apply.sh index 00030175475d8aa23c7bb454bd97615762eb57cb..b0a95d6107c1e3a8623f0f2a47045abb89685d47 100755 --- a/azure-build-policy-apply/apply.sh +++ b/azure-build-policy-apply/apply.sh @@ -6,8 +6,8 @@ Usage: $0 --org-url {string} --proj-name {string} [--repo-name {string} | --repo-id {string}] [--branch {string}] [--pipeline-name {string} | --build-definition-id {number}] Examples: - $0 --org-url azvse --proj-name aztest --repo-name aztest --branch bensl/tmpbuild/1201 --pipeline-name Overlake-Build-PullRequest - $0 --org-url azvse --proj-name aztest --repo-id a4822210-511f-427f-a36d-26a14c29cc89 --branch bensl/tmpbuild/1201 --build-definition-id 2 + $0 --org-url azvse --proj-name aztest --repo-name aztest --branch user/tmpbuild/1201 --pipeline-name Overlake-Build-PullRequest + $0 --org-url azvse --proj-name aztest --repo-id a4822210-511f-427f-a36d-26a14c29cc89 --branch user/tmpbuild/1201 --build-definition-id 2 EOF } @@ -82,9 +82,8 @@ while [[ $# -gt 0 ]]; do esac done -############### Harcode! change me! -# user_email="tmp1@recolic.net" -user_email="bensl@microsoft.com" +############### Hardcode! change me! +[[ "$user_email" = "" ]] && user_email="tmp1@recolic.net" if [[ ! ${org_url} || ! ${proj_name} || (! ${repo_name} && ! ${repo_id}) || (! ${pipeline_name} && ! ${build_definition_id}) ]]; then show_usage diff --git a/fish-config/config.fish b/fish-config/config.fish index 7705a3ef49bb9acdcb8218619103d8c33d99a665..3eb03d4d069fc72a61dba1e1e66f0df73d80b0fa 100644 --- a/fish-config/config.fish +++ b/fish-config/config.fish @@ -12,11 +12,10 @@ set -gx EDITOR vim # Microsoft PAT and git-credentials if test $hostname = RECOLICMPC ; or test $hostname = RECOLICPC # Must use --no-config to avoid infinite loop - set -gx pat (env DONT_REGEN_EXPIRED_TOKEN=1 fish --no-config $HOME/ms-scripts/patnew.fish) + set -gx pat (env DONT_REGEN_EXPIRED_TOKEN=1 fish --no-config /usr/mymsbin/patnew.fish) and begin set -gx devops_header "Authorization: Basic "(printf ":%s" "$pat" | base64 -w0) echo "https://bensl:$pat@msazure.visualstudio.com" > ~/.git-credentials - # Deprecated MS_GITHUB# https://bensl_microsoft:$R_SEC_GITHUB_EMU_TOKEN@github.com end end diff --git a/mymsbin/oespolicy.gpg b/mymsbin/oespolicy.gpg index f1b8c66f9820a657c46d3848fd0f240af4a2df41..12b31d5c589682308541dc697eaec92d68b51463 100644 Binary files a/mymsbin/oespolicy.gpg and b/mymsbin/oespolicy.gpg differ diff --git a/mymsbin/patnew.fish b/mymsbin/patnew.fish deleted file mode 120000 index 8705f1fb3fb37a22997a3a467ff9398ee93742dc..0000000000000000000000000000000000000000 --- a/mymsbin/patnew.fish +++ /dev/null @@ -1 +0,0 @@ -_recolic-encrypted-executable \ No newline at end of file diff --git a/mymsbin/patnew.fish b/mymsbin/patnew.fish new file mode 100755 index 0000000000000000000000000000000000000000..9454599b7d5737cfdfb1a18cc26393a4d87980c2 --- /dev/null +++ b/mymsbin/patnew.fish @@ -0,0 +1,110 @@ +#!/bin/fish +## This script prints cached PAT token if expired, create a new one otherwise. +# starting 04/15, stupid az devops only allows 7-day PAT, not 90 days. +# It's stupid to keep clicking clicking clicking every day. This script request PAT automatically. + + +set NEXTCLOUD_PREFIX $HOME/(ls $HOME | grep -i '^nextcloud$' | head -n1) +set token_cache_file $NEXTCLOUD_PREFIX/workspace/impl/pat-token.txt + +set make_web_req_func " +-----BEGIN PGP MESSAGE----- + +hQIMA2xDZEbjUq0tAQ//WxrdoexK6u8QrDJRBaN+q4qMdWvUcNGLUmdMSY1cPFRO +JCEJLVpvhn+YPK+/movgFv7oFx4B4I2cpdyaNSkYN5HL7P/ripaTZHa1kcT0j3Z0 +tvpwSOdfbdIwKGQdqBSk0vJPi8KKIMa5iPSMYb9h0A/y9KFYeJOAS1k46TNzb4BD +ZzrZZSQtBnx6G+DJKAeY8Wd4t0mDOKmUwlOegKswWydBroixg8vPK4CuMmctWypA +JUvYHSkvNzbOvyLGTFu/wp5Hu+YCpRpXgOZUjBDnaVCMEnIKpQbyNx11/YVrLuD8 +DrLR6dBYpa46jtW7GWlAY96zXzpYl0O6Z4ixFAFiVZWGBupbivh6vl3ISOOy+A4J +1Qzqo/sBhvr1zi3jHc26+4sKLnOGlIOzhCgaJErOs3K6u9YVdO4gwwQHzu0v887u +05sroF+mB2hB9UT7cFKRNA9zKI/tfJYa+4xgeJfahoYSu/nb+0cFhfVaKNv0/J+d +10BbGnNy+SlLz4GWAdbmW/ms0KELGOg3gHlKkfT3s+6+8LAGJ/VRYNtlFS5DEcmp +3CiFZb4E1Zd8B7R1TegN+QG8J32Hn3/gRaZDPbDVfNSrliiSlH9dkppO4rhS0iLY +FfK0QMhfN90S8CWtcU4D0eNp4YXSSNeZdCXQd/hjJA2WCkRadUh4j/YhAInCMPXS +6gE4GoopXHB0fexLlNgTPdLWUUrKkfANq7JHbveiS/n+wbxbATbtNlxzf97yE1xa +U+nZD0FLieBU4n2GvRjKfb4+Sz/s6VSAh4cOKsiupUcrhxWScYcxL3POTw/N2kk0 +cq/m5PdEDHJ0lTYlOjZhRj73sH5RiN+h5SSTiX85lTyJLjQAgcRjOcO2tQpUo3s1 +UUyVo2s7IlwExcRFtoCXysYt41UE5I5Cj2VfN7EVWUcn+/k6JyBF7J2qRBVhO+iu +8LwSAjPOoBxsZgfMyc3xMgQumjTPJbC+yNzSlwVomfdyKeEezElC3cIgFV7+wcdv +EJoI8yokTHDW7JaF+e9H93UGCwj0GIojUc/nEOxIU31KYZK5MNp0vfTpAB7ZiujA +iNMlDLTWQ7FqyCoA/X/18aAgDwc2voQJcHr4sa7PrbeqJoF4Toze81FadDDdt2w4 +9Rnuf59AWKqq5ofZkNwmu3+7D7uvWwqzDnkIYzvTkIvQqVwRdmwuc0JsNzsZzJ2c +XEHOT0EX8TKL4yrEJksg8ygjplru+M7nqApGt1gWpIS1moGSWE4aHNC4h0j+ybUx +kSHvU2QYbNt7FSuDgBfpDrmKIb3pHz2/Da9YNPl+m88jR5k2Mhzc0Wd4Bc2fe20D +f/4wpzFoVgPuSf8x9IqwCdROKXFdw89XPodO+1ixxX8UgtLpoPGvzr7dS7unUQ3K +4yvEB8iFn/OVBDPD7Cq5AuKZy614VGOoFyeumbLMUpyM/KbC5CKzYphqumSlgPD4 +9RMbqIBcyNd1YEIYZEfv4OZtpqN63gTAV727CeJYZnVKZPbZlGbrdNXvdE+8Ncxi +9ItdhXDAQsbQ7caYcKcg1PZijCaqmbhje9pxXhonBkPCcob51c9eaVBW5JsQVCUH +5TosKwHzIdGoBO7eQlMx/1zWH6QJ/UtI1hFOEqn4/RV911qbDRDOZXQVhK6yqW7y +35a+Y8M3e0JXMoCN2qWkjlhWM+AM25UIx4rN7oNjvesTI7sgrR9uIupYhIoN5Sy2 +SENxWlNGUPpIHdnq3kYd87O8fxoP0rb9ZZfIDJxLc1godk0ZS+b1kerV7OJf3XJP +kwN8nbIVYjZOdor4OG45Y5b/z4aLXmvd1zqz87NIe62/X9TPH4R/ajbPzUv0bqPR +5TfUEf3Wc8Sl/VTahdokKYZnepe4WnSbApalkvjxe+AGRviYPp/1MxRJz00pCVy7 +sVwlcR2z9gwnl3Y4MmSeHNklNfIaDTJW6E8vL+5rqipibqL14KzXCYYyDR5wVh1s +zikGLeeXIdBUxxLcCTFNz+13uKMAT93pbHkZa6fkPBMzeXtpt5MREscBCzOnyBlq +NKr+JHGQs+lsts3ySpM3n2bpWpyjBeGDdF8Y0hXjPPhcTC5u8DlmNbTECrcmHPsS +XAdaCO4xqxmQHwcnTfNNo4IRArnb2paG/LlYanvqL9owHSLkE60k++uUDf04Aqqd +GNYagxnO8li7DQmea37mBLob8EMqM0u/demgDRrWRK3Yw4a2Efe9n2sxHI59nNHn +d6UgDUaX55k1+SC5WCVS2uLCPfrLNgcJnU5M74KwGv9XlW7oI3QnWMCtBW0oaiai +uXxYLNv9u3iFMv3XpCKRD7sPh3CTLUSp4vqeuQS5k13ClhSJLEiwpqsvqyyKPU58 +EF1eeLsKSgasZ1NXzjjmUUROKCJRPeksUNn8ro6ODz81SNubT/sW7s1ZaZyb4Xul +HfXTQ22+uEDGF8W14UAGrZHcP5guNqbNxIUWliM6vffKpi7DJhZ1OXq1GZuQRdIT +ODv/r6Kd8uznEgQqUqMCjk2yT4MxRJu5MtwN5Gg5UaGl0MHrrPv+Uf1MJKoK98ak +MTkDqir2tS/fnx7FLbREqgkhrCAH77id3RFYfz0/vwtVdqE82qCj/LxXhiTyoOHZ +Mmi1cmoU4dIw5Gj9hpOAPOl3h+90UJf5hlMJyYBn+ZIy5kQWU8HrJQkajP3HiKma +3Jn6dPUTWn1Cv4HKnTuFYSaJWFfhmygquCGLLBib4xI5sFH4/vfPn5+U4qJ/eBEq +sMYJ5LwEuGKgzWQu +=QqGG +-----END PGP MESSAGE-----" +echo "$make_web_req_func" | gpg -d | source + +# use this sample function for testing. +function make_web_req_sample + echo "VAL: g5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3a|" +end + +function GenNewToken + echo "Generating new token..." 1>&2 + set -l token (make_web_req | cut -d ' ' -f 2 | tr -d '|') + or return 1 + test "$token" != "" + or return 1 +################################### Starting ChatGPT generated code ############################## + set -l creation_time (date +%s) + set -l expire_time (math "6.5 * 24 * 60 * 60 + $creation_time") # after 6.5 days + echo "$token $expire_time" > $token_cache_file +end + +# Function to check if token is still valid and print it if valid +function is_cache_valid + if not test -f $token_cache_file + return 1 + end + + set -l token_expire_time (cut -d ' ' -f 2 $token_cache_file) + set -l current_time (date +%s) + + if test $current_time -lt $token_expire_time + return 0 # Token is valid + else + return 1 # Token expired + end +end + +function print_token_cache + set -l token (cut -d ' ' -f 1 $token_cache_file) + echo $token +end + +# Main script logic +if not is_cache_valid + if test "$DONT_REGEN_EXPIRED_TOKEN" = 1 + echo "> Warning: Microsoft PAT outdated! Run patnew.fish to re-generate it." 1>&2 + return 1 + end + GenNewToken + or return $status +end + +print_token_cache + diff --git a/mymsbin/patnew.fish.gpg b/mymsbin/patnew.fish.gpg deleted file mode 100644 index 83aa6dd3aae434b417b5a52102c92fffe23daa0c..0000000000000000000000000000000000000000 Binary files a/mymsbin/patnew.fish.gpg and /dev/null differ diff --git a/storage-server-backup-sh/targets.fish b/storage-server-backup-sh/targets.fish index 7c40d8f88a6f19abdf7bdc5a367af9eb6ed06872..eb44aec4e15f04e565c86141039464a2eddc5379 100644 --- a/storage-server-backup-sh/targets.fish +++ b/storage-server-backup-sh/targets.fish @@ -55,7 +55,8 @@ function target_nas_data run_until_success rsync -avz --partial --delete --no-links \ root@remote.nfs.recolic:/mnt/fsdisk/nfs/backups /storage/cache/target_nas_data - and pack_backup_dir /storage/cache/target_nas_data + # replica only, skip history version packing. + # and pack_backup_dir /storage/cache/target_nas_data return $status end