mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-24 23:46:30 -05:00
Package Registry related ToDo list #8771
Open
opened 2025-11-02 08:17:00 -06:00 by GiteaMirror
·
29 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#8771
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @KN4CK3R on GitHub (Mar 30, 2022).
Now that #16510 got merged there are still some ToDos.
General:
Package Types:
@lunny commented on GitHub (Mar 31, 2022):
https://github.com/boskiv/go-open-registry is a cargo registry Golang implementation .
@lunny commented on GitHub (Mar 31, 2022):
You can also consider add #7608 to todo list.
@KN4CK3R commented on GitHub (Mar 31, 2022):
That project still uses a git repo as storage. We could use that approach too but at the moment we can't set a repository to "hidden" to hide it from the normal repository view pages etc.
@wxiaoguang commented on GitHub (Apr 1, 2022):
It seems that
packages/packages.go:353:Cleanupneed to be polished.Everytime I run Gitea, I see the error 😂
@KN4CK3R commented on GitHub (Apr 1, 2022):
😢 #19293
@wxiaoguang commented on GitHub (Apr 3, 2022):
Some links in i18n are 404 (update: duplicate with justusbunsi's #19315 )
@mscherer commented on GitHub (Apr 3, 2022):
One feature that I think would benefit public forges is adding a quota system (eg, make sure a user/org can't take all the storage). While the problem already exist for repositories (folks can just commit tarball after all), I think binary packages would make it worst and limits would be easier to reach by regular users.
@justusbunsi commented on GitHub (Apr 3, 2022):
Not sure if this feedback should be in this issue. If not, let me know:
https://docs.gitea.io/en-us/<type>/should behttps://docs.gitea.io/en-us/packages/<type>/(https://github.com/go-gitea/gitea/pull/19315)NPM/Yarn
yarn add <package>npm install <package>Container Images
@KN4CK3R commented on GitHub (Apr 3, 2022):
That should work (for public repositories). There may be a bug which hides private repos but I could not verify that. Does the html source contains the repo names?
What do you mean? As addition to the
npm installinstruction?I don't think the registry should prevent that. Isn't that up to the user?
That's correct and ok. If you use a "normal" port like 80 or 443 only the url is displayed. But if the registry uses a different port it needs to be specified.
be9ef15f8a/modules/setting/packages.go (L34-L37)@justusbunsi commented on GitHub (Apr 3, 2022):
I configured everything (org + repo) as private. That would explain it.
Regarding html source I need to check again. I remember there was a value for the drop down list. But nothing was visible in the UI.
Yes. I had issues with using
yarn addinstead ofnpm install. I'll have another closer look at that part. Maybe I have some misconfiguration which also causes the dependency issue.Thats odd. I ran the latest dev docker image of Gitea and had a reverse proxy in front of it. I even configured ROOT_URL. So my instance is available at https://git.example.com (port 443) and I am able to push the image to this endpoint. But inside the pull command port 3000 is shown.
@BaseCrusher commented on GitHub (Jul 31, 2022):
I don't know if I am right with posting this here but I hope so.
Using the package registries (at least the container registry. I haven't tested the others) while the user is accessing gitea via LDAP or OIDC makes it unclear what docker/podman login should be used, since the gitea username does not have to be the same as the oidc username.
I for myself did not manage to push images with an oidc user. But this could be due to an error of mine, where I wasn't logged in correctly. Either way this case should be addressed in the docs if it works with OIDC/LDAP and if not there should be an option for those users to use the registries.
@KN4CK3R commented on GitHub (Jul 31, 2022):
That's a good question. You can use a token to login in this case. Simply generate a token for that account and use
docker login <Gitea username> <token>.I will add it to the docs.
Edit: Here is the PR #20561 @BaseCrusher
@OverkillGuy commented on GitHub (Jul 31, 2022):
Suggested feature request for package registry: Support of proxy registries for all package types.
These are package registries that proxy an external source of packages, hence configured with proxy URL, but are otherwise indistinguishable from local package registries.
Example: A local Pypi.org proxy. Local build system would use both the private package registry for "internal" (private) packages, but fetch dependencies on Pypi.org through Gitea too.
Advantages:
This feature in Docker repositories would remove any need for Dockerhub ECR mirror, which many have to set up to avoid Dockerhub's recent rate-limiting.
The canonical example of the feature is in JFrog's Artifactory.
Effectively, Gitea would, for these proxy repositories, become a local package cache. The biggest technical decision is about when to invalidate cache (docker image's "latest" tag moves pretty quickly, but if you already have a local copy, do you serve it as-is? even if you got it 2 years ago?)
I understand this feature can be a big investment, and acknowledge that there may be no particular need for it. I mostly envy the feature, and wish for Gitea to succeed by out-executing Artifactory, given the new Package Registry is already encroaching on that a bit.
Should I spin off this request into a standalone issue? Drop the request as too big? Happy either way, just want to surface this potential usecase that's now in reach.
EDIT: Just noticed the related ticket around "Go-proxy" which sounds like it touches on same vibes(?)
EDIT2: Standalone ticket is now: #21223
@lunny commented on GitHub (Sep 20, 2022):
A standalone issue is better.
@kotovalexarian commented on GitHub (Nov 13, 2022):
Are you sure? As I remember, it's just an archive. This page also doesn't mention Git as a necessity: https://doc.rust-lang.org/cargo/appendix/glossary.html
I can try to implement the support of Cargo packages. I'll look at the code soon. I see that no one tried yet.
@KN4CK3R commented on GitHub (Nov 13, 2022):
Yep, I'm sure. Have a look here:
https://doc.rust-lang.org/cargo/reference/registries.html#index-format
But you don't have to spend time on that. I already implemented the Cargo registry but did not push it yet because I wait until #21658 is merged. I need the UI part for Cargo too and don't want to add that in the PR too.
Here is a screenshot (ignore the install instructions, that's c&p from NuGet):

@kotovalexarian commented on GitHub (Nov 17, 2022):
I've tried RubyGems repository. Looks like it's incomplete. While Bundler succeeded to install gems when their exact versions were specified in
Gemfile.lock, it was not able to install gems without a lockfile. I'll try to investigate this, create an issue with steps to reproduce, and maybe fix this.@kotovalexarian commented on GitHub (Nov 17, 2022):
Also I want to add Gitea configuration option for custom domain for packages to display it in the interface. It works well for both gem downloading and pushing with the following Nginx configuration:
I don't want to create an issue. I'll try to implement this soon.
P.S. However I really should test if that's not the reason why Bundler doesn't work properly.
@KN4CK3R commented on GitHub (Nov 21, 2022):
I added the Cargo registry with #21888.
@lafriks commented on GitHub (Nov 22, 2022):
Would be nice to be able set specific package registry as public (without authorization) for private instances (always requiring authorization)
@lafriks commented on GitHub (Dec 29, 2022):
Automatic container linking to repository would also be nice if container has source url label
@KN4CK3R commented on GitHub (Dec 29, 2022):
That's already on the ToDo list (
Set repository link from package metadata).@dr-carrot commented on GitHub (Jan 5, 2023):
Is there an api endpoint available to link the package to a repository? I don't see anything in swagger
@KN4CK3R commented on GitHub (Jan 5, 2023):
Not yet. May come bundled with
Set repository link from package metadata@viceice commented on GitHub (Jan 9, 2023):
I would like to have readonly virtual package registries (npm /nuget), with lists all accessable packages by suppplied credentials. so i don't need to configure multiple registries (eg one for each organization).
somehow related to:
@jcgruenhage commented on GitHub (Mar 21, 2023):
I might be wrong here, is this the right place to suggest additional package types?
I'd be interested in Ansible Galaxy support (existing implementations are https://github.com/briantist/galactory, https://github.com/ansible/galaxy, https://github.com/ansible/galaxy_ng), primarily for hosting ansible collections. The ability to host stand-alone roles is more of a legacy feature anyway.
@ExplodingDragon commented on GitHub (Apr 28, 2023):
Will the Alpine, Debian, and RPM repositories be available upon the release of version 1.19.3? I noticed that the pull request has been open for a month now.
@KN4CK3R commented on GitHub (Apr 28, 2023):
No, we backport only fixes. As they are new features, they will available with 1.20 (if someone reviews them). You can help review the code and test the functionality.
@ExplodingDragon commented on GitHub (Apr 28, 2023):
I'm really looking forward to the arrival of version 1.20 so that we can finally give up on nexus3.