clusterlink-net / clusterlink

A Gateway for connecting application services in different domains, networks, and cloud infrastructures
https://clusterlink.net
Other
17 stars 18 forks source link

Compatibility for Mac OS #599

Open welisheva22 opened 1 month ago

welisheva22 commented 1 month ago

Hi- while going through the documentation I decided to take the tutorials to make sure I had a good understanding of the concepts, before suggesting images to add. I ran into the following issue.

Allow me to describe my experience getting started.

The documention said to install kind. The kind documentation says to also install other technologies. At first I wasn't sure whether to install docker or another technology. After trying podman and nerdctl via lima, I ended up choosing docker because the kind technology was actually looking for the word docker when I used it. There was finally some success there! I ran a kind command and got several smiley faces that I was hoping would appear.

I then went back to the basic users getting started docs for ClusterLink and ran the curl command to install it. It didn't take long and said it was downloading a file with .tar.gz in it -- but I didn't see that file anywhere on the machine. I tried typing clusterlink --version and it didn't know what the clusterlink command meant.

I went fishing for it. I found it online here: https://github.com/clusterlink-net/clusterlink/releases/download/v0.2.1/clusterlink-darwin-amd64.tar.gz

After I downloaded and ran the tar.gz file I was excited to see (via Finder) the word "clusterlink" in what looked like a runnable file on my computer! I went into .zprofiles and added that to the path. Then I typed clusterlink --version but it gave me the attached message. My computer seemed afraid to run it for some reason! error message checking clusterlink version

I researched the error message on the web and found this link. https://www.lifewire.com/fix-developer-cannot-be-verified-error-5183898

I followed the instructions to override the caution by double clicking on the two files in the new clusterlink folder and manually authorizing their use. Finally, it was able to tell me which version of ClusterLink was installed via the clusterlink --version command. Success!

So the issue is:

1) Let's remember to get on the approved list of apple developers so that others don't need to go through this hassle

2) Until we are on their list would it be advisable to teach about the workaround in the documentation, or would that just open up a can of worms?

It can certainly be dissuading to users to contribute to the open source code base, when the computer advises against it due to malware suspicion, just because we're not an approved Apple developer yet. I look forward to our efforts to change that someday.

Thanks!

welisheva22 commented 1 month ago

I noticed in the file clusterlink/hack /install_clusterlink.sh

there is code: if [ "${VERSION}" = "" ] ; then VERSION="latest" url="https://github.com/clusterlink-net/clusterlink/releases/${VERSION}/download/${filename}" fi

This made me wonder, is it possible that version is not being passed in as it should and for that reason the shell script didn't find the proper download? Which required me to go hunting for it, but then I didn't get the best version? Perhaps that is why my tests didn't work?

Then I realized that on the users documentation it uses the word latest in the URL, and it's a different script that is run. Still, I thought it would be valuable to share with you the output of that script on my terminal. Is it breaking in the middle before installing ClusterLink? What line would it be breaking on? What output comments may be missing in my running of the script?

curl -L https://github.com/clusterlink-net/clusterlink/releases/latest/download/clusterlink.sh | sh - % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 2662 100 2662 0 0 5100 0 --:--:-- --:--:-- --:--:-- 5100

Downloading clusterlink-darwin-.tar.gz from https://github.com/clusterlink-net/clusterlink/releases/latest/download/clusterlink-darwin-.tar.gz ...

welisheva22 commented 1 month ago

Hello: looked into this further day. In the file: https://github.com/clusterlink-net/clusterlink/releases/latest/download/clusterlink.sh which is what I used to try installing, I noticed the following code:

Detrmine the OS architecture.

OS_ARCH=$(uname -m) case "${OS_ARCH}" in x86_64|amd64) CL_ARCH=amd64 ;; armv8|aarch64|arm64) ARCH=arm64 ;; *) echo "This ${OS_ARCH} architecture isn't supported" exit 1 ;; esac

It looks like my architecture is arm64 -- can we add "CL_" before "ARCH" in the code for that case?

I went ahead and did that in my environment, it created a filename that existed this time! However, it still didn't complete the script. Something else isn't running properly even after that. There is no printed message from the script saying that the file was downloaded.

The output now says: Downloading clusterlink-darwin-arm64.tar.gz from https://github.com/clusterlink-net/clusterlink/releases/latest/download/clusterlink-darwin-arm64.tar.gz ... usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 ... fileN directory install -d [-v] [-g group] [-m mode] [-o owner] directory ...

I hope this helps. Thanks!