We have our boshreleases generated in concourse. While updating our jumpbox-boshrelease I found out one of the commands we install, safe was not working on the final result.

I hopped on the box to have a look.

==[]=[ 16:57:42 ]=[ us-west-sandbox-jumpbox jumpbox/0 ]=[ ~ ]=[]==
$ safe target https://10.16.0.120 sandbox
/var/vcap/packages/jumpbox/bin/safe: line 1: url:https://api.github.com/repos/starkandwayne/safe/releases/assets/2510764: No such file or directory
==[]=[ 16:58:00 ]=[ us-west-sandbox-jumpbox jumpbox/0 ]=[ ~ ]=[]==
$ cat /var/vcap/packages/jumpbox/bin/safe
{"url":"https://api.github.com/repos/starkandwayne/safe/releases/assets/2510764","id":2510764,"name":"safe-linux-amd64","label":"","uploader":{"login":"jhunt","id":20047,"avatar_url":"https://avatars.githubusercontent.com/u/20047?v=3","gravatar_id":"","url":"https://api.github.com/users/jhunt","html_url":"https://github.com/jhunt","followers_url":"https://api.github.com/users/jhunt/followers","following_url":"https://api.github.com/users/jhunt/following{/other_user}","gists_url":"https://api.github.com/users/jhunt/gists{/gist_id}","starred_url":"https://api.github.com/users/jhunt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhunt/subscriptions","organizations_url":"https://api.github.com/users/jhunt/orgs","repos_url":"https://api.github.com/users/jhunt/repos","events_url":"https://api.github.com/users/jhunt/events{/privacy}","received_events_url":"https://api.github.com/users/jhunt/received_events","type":"User","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":8967304,"download_count":1,"created_at":"2016-10-21T13:44:13Z","updated_at":"2016-10-21T13:44:14Z","browser_download_url":"https://github.com/starkandwayne/safe/releases/download/v0.0.24/safe-linux-amd64"}
==[]=[ 16:59:26 ]=[ us-west-sandbox-jumpbox jumpbox/0 ]=[ ~ ]=[]==
$

The /var/vcap/packages/jumpbox/bin/safe should have been the binary downloaded from Github. It was originally under https://github.com/jhunt/safe/releases but James moved the project to https://github.com/starkandwayne/safe/releases when more of us started using it. (If you use Hashicorp Vault you should check out Safe. James Hunt did an amazing job making interacting with Vault far more pleasant).

If you go to original URL with jhunt in the name, Github nicely redirects you. Turns out Concourse doesn’t follow the redirect, instead it gets a JSON payload with the redirection information and saves that to the file.

We updated the CI files with the new URL and everything worked again, but it’s something to remember when you rename a project in Github