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

Add distribution support for common package managers #493

Open
2 of 13 tasks
ezekg opened this issue Nov 6, 2021 · 10 comments
Open
2 of 13 tasks

Add distribution support for common package managers #493

ezekg opened this issue Nov 6, 2021 · 10 comments

Comments

@ezekg
Copy link
Member

ezekg commented Nov 6, 2021

Related to #478, #489, #490, #491. Foundation implemented in #679.

Add unique subdomain for each engine, e.g. Composer https://composer.pkg.keygen.sh.

@ezekg
Copy link
Member Author

ezekg commented Nov 9, 2021

Would like to add a slug to products, to make these URLs prettier. E.g. like GitHub repos or something. Verbiage like "Unique URL-friendly identifier for your product."

https://bin.keygen.sh/<account>/<product>

Related to #84.

@ezekg ezekg pinned this issue Nov 9, 2021
@ezekg
Copy link
Member Author

ezekg commented Nov 20, 2021

May be easier to just recommend customers add their custom domain, or set up a redirect from one of their own domain to get.keygen.sh.

@ezekg ezekg unpinned this issue Dec 7, 2021
@ezekg
Copy link
Member Author

ezekg commented Jan 27, 2022

We could house this under e.g. update.keygen.sh. Make is super easy to plug-and-play for Electron and other Squirrel-compatible upgrade frameworks (Tauri).

Electron distribution engine

Depending on platform, filetype could default to e.g. darwin => zip.

GET https://electron.keygen.sh/:account/:product/:channel/:platform/:version
{
  url: artifact.url,
  name: release.name,
  notes: release.description,
  pub_date: release.created_at
}

Tauri distribution engine

Defaults to bin filetype?

GET https://tauri.keygen.sh/:account/:product/:channel/:platform/:version
{
  url: artifact.url,
  name: release.name,
  notes: release.description,
  pub_date: release.created_at
}

Even better would be generating a unique URL slug for each account/product/platform/channel combo, so it could end up being something simple like this:

GET https://update.keygen.sh/utAsCd8icu1VGhJw/:version

@ezekg ezekg changed the title Add distributionEngines to products Add engine to releases Feb 15, 2022
@ezekg
Copy link
Member Author

ezekg commented Feb 15, 2022

Let’s put the engine on the release? Then we can add subdomains, e.g. npm.keygen.sh, which lists releases of a specific engine in the engine’s required format.

keygen new ... --engine SPARKLE

@ezekg
Copy link
Member Author

ezekg commented Jul 14, 2022

Use pkg.keygen.sh?

@ezekg
Copy link
Member Author

ezekg commented Jul 14, 2022

Use Satis for generating static composer repo?

@ezekg
Copy link
Member Author

ezekg commented Aug 5, 2022

@ezekg
Copy link
Member Author

ezekg commented Aug 5, 2022

Gitea Rubygem docs: https://docs.gitea.io/en-us/usage/packages/rubygems/

@ezekg ezekg mentioned this issue Oct 27, 2022
1 task
@ezekg
Copy link
Member Author

ezekg commented Nov 8, 2022

Starting with pypi may be the easiest. We'd need to set up an endpoint that essentially just lists available artifacts via an HTML page. For more info, see this page on hosting a simple Python package repository.

This was referenced Nov 14, 2022
@ezekg ezekg changed the title Add engine to releases Add distribution support for common package managers May 3, 2023
@ezekg ezekg pinned this issue May 7, 2023
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

1 participant