Installer Chowning Files Weirdly, Failing


(Noah Huppert) #1

I am trying to install Caddy via the installation bash script with the tls.dns.digitalocean plugin.

The installer bash script is run with Salt. The exact command that is run is:

curl https://getcaddy.com | bash -s personal tls.dns.digitalocean

When the installer is run via Salt I get the following error:

Downloading Caddy for linux/amd64 (personal license)...
Download verification OK
Extracting...
Putting caddy in /usr/local/bin (may require password)
Aborted, error 127 in command: $caddy_bin -version

However if I run the installer in my command line manually it succeeds.

It looks like the $caddy_bin variable isn’t being substituted for its value.

Additionally the caddy binary has some weird permissions. The install script was run by root. But the caddy binary is owned by user-a and in group user-b.


(Matthew Fay) #2

Hi @Noah-Huppert,

You can see the actual contents of the script at https://getcaddy.com/. It doesn’t do any chowning, it just extracts from a zip and marks the executable bit. I’d guess that user-a and user-b match the UID and GID of the binary when it’s created by the Caddy build server?

Hopefully someone familiar with Salt can help you with the error. I’m not sure why the variable wouldn’t expand when run by Salt; it should be executed by bash itself, which should handle the expansion.


(Noah Huppert) #3

Good point, the weird user and groups is probably from the build server.

What’s weird is that I confirmed that the install script is being run by Bash. I am not sure what the difference would be.

I will probably end up building from source to get around this issue.