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

[Proposal] package publishing service and format #592

Closed
FedericoCeratto opened this issue Dec 12, 2018 · 1 comment
Closed

[Proposal] package publishing service and format #592

FedericoCeratto opened this issue Dec 12, 2018 · 1 comment
Labels

Comments

@FedericoCeratto
Copy link
Member

Problem
The packages.json file is getting bigger. It could become slow to parse. It is awkward to edit. It requires contributors to have a GitHub account. It requires PR approval to prevent package hijacking.

Proposal
Precompute index files centrally: a -> k/v map, to look up packages by keyword/tag; Also a -> map. Ship the two indexes as binary/compressed files for fast transfer and fast lookup time.

Run a simple service similar to pypi.org to handle package creation/update and generate the indexes. Initially it could feed from GH and/or use GH as a backend to store the indexes.

future/moonshot goals
Store compressed tarballs of released packages (in case of dead repos).
Check URL / git repo existence before accepting a new package.
Let package owners sign metadata. Also use the signature to allow allow owners to update/delete packages without having to store logins and passwords.
Verify signed tarballs from GH (and other sources) against the owner pubkey.
A pool of "admin" pubkeys is allowed to update/delete other packages.
A pool of "contributor" pubkeys can vet trusted packages by adding a "vote +1" signature.
Nimble can warn before installing unvetted packages.

Related to nim-lang/packages#777

@dom96 dom96 added the RFC label Dec 12, 2018
@dom96
Copy link
Collaborator

dom96 commented Dec 14, 2018

I think it's better we focus the conversation in nim-lang/packages#777. Going to lock this, feel free to repost there.

@dom96 dom96 closed this as completed Dec 14, 2018
@nim-lang nim-lang locked and limited conversation to collaborators Dec 14, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants