Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Remove version from binary filenames #31

Closed
modem7 opened this issue Jan 10, 2022 · 1 comment
Closed

Feature Request: Remove version from binary filenames #31

modem7 opened this issue Jan 10, 2022 · 1 comment

Comments

@modem7
Copy link

modem7 commented Jan 10, 2022

Heya,

The thinking behind this request is to be able to more easily script/download the latest version of the binaries.

Instead of having to write grep/jq/findstr/convertfrom-json strings or creating env vars, we'd be able to do something akin to sudo curl -fL https://github.com/bdd/runitor/releases/latest/download/runitor-linux-amd64 -o /usr/local/bin/runitor (and similar in Windows with Invoke-WebRequest) allowing for easier updates/initial downloads/Ansible.

@modem7 modem7 changed the title Feature Request: Remove version from artifact filename Feature Request: Remove version from binary filenames Jan 10, 2022
@bdd
Copy link
Owner

bdd commented Jan 10, 2022

I understand the desire to make the latest artifact fetching less involved but I'd like to stick with artifact names including version information along with os+arch. The reasons are consistency with common practice, and metadata commitment to signed artifact manifests (SHA256 and SHA256.sig).

Don't mean to drop unsolicited operational security advice but I'd highly recommend adding signature1 checking to your artifact fetching automation. Something that'll require a bit scripting on its own, as mentioned in the README.

On the off chance you already have Go in your "build environment", you can use go install bdd.fi/x/runitor/cmd/runitor@latest, to fetch the latest tag, and build locally. Certainly not as small or as ubiquitous tool like curl, and AFAIK cannot verify signed Git tags either.

Footnotes

  1. Runitor release binaries are signed manually by me, offline, after ensuring reproducible build to GH Action built ones from the release tag. The keys listed at https://bdd.fi/x/runitor.pub were all generated on hardware tokens in such a way private keys cannot be exported. The distribution endpoint, hosted on Fly, has discrete credentials to my GH account. Same goes for the domain registrar (Gandi), and the DNS provider (Google).

@bdd bdd closed this as completed Jan 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants