|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | | -# COSCALE_APPID=00248f3b-294f-4adc-94eb-33c72b1d0a95 COSCALE_TOKEN=b7672983-078d-4f3d-b8c5-731f76b0786c bash -c "$(curl -L https://raw.githubusercontent.com/CoScale/coscale-cli/feature/install-script/install.sh)" |
| 3 | + |
| 4 | +# |
| 5 | +# Show url after getting latest version |
| 6 | +# Improve output formatting |
| 7 | +# |
4 | 8 |
|
5 | 9 | set -u |
6 | 10 | set -e |
7 | 11 |
|
| 12 | +echo |
| 13 | +echo "## Checking configuration and environment" |
| 14 | +echo |
8 | 15 |
|
9 | | -echo "Preparing to install CoScale CLI" |
| 16 | +if [ -z ${COSCALE_APPID+x} ] || [ -z ${COSCALE_TOKEN+x} ]; then |
| 17 | + echo "### Configuration" |
| 18 | + echo |
| 19 | + # Check command arguments |
| 20 | + if [ -z ${COSCALE_APPID+x} ]; then |
| 21 | + echo "Please enter your app id:" |
| 22 | + read -e COSCALE_APPID |
| 23 | + fi |
| 24 | + echo |
10 | 25 |
|
11 | | -# Check command arguments |
12 | | -if [ -z ${COSCALE_APPID+x} ]; then |
13 | | - echo "App id:" |
14 | | - read -e COSCALE_APPID |
| 26 | + if [ -z ${COSCALE_TOKEN+x} ]; then |
| 27 | + echo "Please enter your access token:" |
| 28 | + read -e COSCALE_TOKEN |
| 29 | + fi |
| 30 | + echo |
15 | 31 | fi |
16 | 32 |
|
17 | | -if [ -z ${COSCALE_TOKEN+x} ]; then |
18 | | - echo "Access token:" |
19 | | - read -e COSCALE_TOKEN |
20 | | -fi |
| 33 | +# Detect operation system |
| 34 | +echo "### Detecting operating system" |
| 35 | +echo |
| 36 | +os=`uname -o | awk '{split($0,a,"/"); print tolower(a[2])}'` |
| 37 | +echo "Operation system: {{$os}}" |
| 38 | +echo |
21 | 39 |
|
22 | 40 | # Fetch latest release list from Github |
23 | | -echo "Getting latest release information" |
| 41 | +echo |
| 42 | +echo "## Getting latest release information" |
| 43 | +echo |
24 | 44 | github_data=`curl -s -L https://api.github.com/repos/CoScale/coscale-cli/releases/latest | grep "browser_download_url" | awk '{ print $2; }' | sed 's/"//g'` |
25 | 45 |
|
26 | | -# Detect operation system |
27 | | -echo "Detecting operation system" |
28 | | -os=`uname -o | awk '{split($0,a,"/"); print tolower(a[2])}'` |
29 | | - |
30 | 46 | # Select correct release |
31 | 47 | release=`echo "$github_data" | grep $os` |
| 48 | +echo "### Latest release: ${{release}}" |
| 49 | + |
| 50 | +# Start install |
| 51 | +echo |
| 52 | +echo "## Installing CoScale CLI tool" |
| 53 | +echo |
32 | 54 |
|
33 | 55 | # Create dirs |
34 | | -echo "Creating directories /opt/coscale/cli" |
35 | | -mkdir -p /opt/coscale/cli |
| 56 | +echo "### Creating directories /opt/coscale/cli" |
| 57 | +echo |
| 58 | +mkdir -v -p /opt/coscale/cli |
36 | 59 | pushd /opt/coscale/cli |
| 60 | +echo |
37 | 61 |
|
38 | 62 | # Install client |
39 | | -echo "Downloading client to /opt/coscale/cli/coscale-cli" |
| 63 | +echo "### Downloading client to /opt/coscale/cli/coscale-cli" |
40 | 64 | curl -L "$release" > coscale-cli |
41 | | -chmod +x coscale-cli |
| 65 | +chmod -v +x coscale-cli |
| 66 | +echo |
42 | 67 |
|
43 | | -# Add to $PATH |
44 | | -echo "Adding coscale-cli to $PATH in /root/.bashrc" |
45 | | -echo "export PATH=\"${PATH}:/opt/coscale/cli\"" >> /root/.bashrc |
46 | | -source /root/.bashrc |
| 68 | +# Create symlink from /usr/bin/coscale-cli to /opt/coscale/cli/coscale-cli |
| 69 | +echo "### Creating symlink" |
| 70 | +ln -v -S /usr/bin/coscale-cli /opt/coscale/cli/coscale-cli |
| 71 | +echo |
47 | 72 |
|
48 | 73 | # Create config |
49 | | -echo "Creating config" |
| 74 | +echo "Generating config" |
50 | 75 | echo "{\"baseurl\":\"https://api.coscale.com\", \"appid\":\"$COSCALE_APPID\", \"accesstoken\":\"$COSCALE_TOKEN\"}" | gzip -c > /opt/coscale/cli/api.conf |
| 76 | +echo |
51 | 77 |
|
52 | 78 | # Test config |
53 | 79 | echo "Testing configuration" |
54 | 80 | coscale-cli event list |
| 81 | +echo |
55 | 82 |
|
56 | 83 | # Done |
57 | 84 | echo "Done, you can now start using the CoScale CLI tool." |
|
0 commit comments