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

Tracking issue for RFC 2141: Add support to Cargo for alternative registries #44931

Closed
4 of 11 tasks
Tracked by #10
aturon opened this issue Sep 29, 2017 · 21 comments · Fixed by rust-lang/cargo#6654
Closed
4 of 11 tasks
Tracked by #10
Labels
B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-cargo Relevant to the cargo team, which will review and decide on the PR/issue.

Comments

@aturon
Copy link
Member

aturon commented Sep 29, 2017

This is a tracking issue for the RFC "Add support to Cargo for alternative registries" (rust-lang/rfcs#2141).

Steps:

Unresolved questions:

  • Are the names of everything what we want?

    • cargo generate-index-metadata?
    • registry = my-registry?
    • publish-registries = []?
  • What kinds of authentication parameters do we need to support in .cargo/credentials?

@aturon aturon added B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-cargo Relevant to the cargo team, which will review and decide on the PR/issue. labels Sep 29, 2017
@matklad
Copy link
Member

matklad commented Oct 1, 2017

I think PR is already in flight: rust-lang/cargo#4506

@cswindle
Copy link

cswindle commented Oct 4, 2017

I have PR for adding the parts in the RFC about changes to publish: rust-lang/cargo#4568

@est31
Copy link
Member

est31 commented Nov 12, 2017

I've encountered some issues with the official crates.io index. It appears to be non-conformant to the spec: rust-lang/crates.io#1168

@ninrod
Copy link

ninrod commented Feb 26, 2018

Hi, this issue seems to target enterprise usage. This means artifactory support, which is really the standard in enterprise, right? Right now I want to use rust in my company and cannot because of that.

Would it be useful to add a bullet like: "works in artifactory"?

@wycats
Copy link
Contributor

wycats commented Feb 26, 2018

@ninrod I think we'd want to get some eyeballs and feedback from Artifactory, but I don't necessarily think we need to wait to stabilize until they actually implement.

@wycats
Copy link
Contributor

wycats commented Feb 26, 2018

@est31 I commented on rust-lang/crates.io#1168

@stuhood
Copy link

stuhood commented Feb 26, 2018

@ninrod : Bumps on https://www.jfrog.com/jira/browse/RTFACT-13469 would be appreciated.

@ccojocar
Copy link

What's the current state of this issue? Has anyone managed to use Nexus for cache purposes? The dependencies installation is kind of slow, especially on an ephemeral build system. Thanks

cc @rawlingsj

@aaronsky
Copy link

aaronsky commented Jul 2, 2018

Very interested in Artifactory support for Cargo. I want to start pushing Rust more at my company but if I can't use Artifactory rather than crates.io, distribution is made much more difficult.

@gilescope
Copy link
Contributor

How are we doing? Is there something I can try out in my company? And also do we need to team up and create an artifactory plugin?

Really this should be tagged Rust 2018 edition (if not earlier), because if we can't use Rust at work what's the point?

@aaronsky
Copy link

Speaking personally, I don't know what's involved in creating an Artifactory plugin for something of this potential scale. I have been trying to find some information or examples on how folks in other communities have approached bootstrapping rudimentary Artifactory support for their ecosystem. I have also been ramping up on Cargo and how to implement the missing pieces outlined in the tracking issue.

I would love to help more seriously with this effort as it is a deciding factor on whether we can use Rust at my organization.

@ebkalderon
Copy link
Contributor

Not having support for alternative registries in Cargo is a massive pain. Working with private Git dependencies gets rather difficult at scale, and having private registries would make our lives so much easier.

@cswindle
Copy link

cswindle commented Jul 31, 2018

@aaronsky, I did some work creating a server which is able to act as a registry https://crates.io/crates/caesium, this allows having different plugins to interface to different storage backends, one of which is artifactory. Please note that it does not offer a web frontend, but it does give the ability to upload crates to artifactory and update the git backend. This was mainly developed for testing some of the alternative registries code rather than actually running a production system.

@boskiv
Copy link

boskiv commented Sep 29, 2018

Does anyone used https://crates.io/crates/caesium?
Is there some instruction how to publish crate there ?

@boskiv
Copy link

boskiv commented Sep 29, 2018

Guys, Is there any updates or milestones for this issue ? May be there is some workarounds ? From DevOps perspective it's a very complicated today to manage private dependencies.

@ahmedcharles
Copy link
Contributor

ahmedcharles commented Oct 19, 2018

The RFC doesn't specify which characters are valid in fields in the registry index data. Is it possible to clarify that? E.g. Is a crate name allowed to contain '@', '#' or '$'.

@sharksforarms
Copy link

Any updates on this?

@ehuss
Copy link
Contributor

ehuss commented Dec 31, 2018

My goal is to have it stabilized in 1.34 (releases Apr 11). No promises, but that's what I'm working towards. If anyone has any final feedback on the implementation, now would be a good time.

@ehuss
Copy link
Contributor

ehuss commented Jan 22, 2019

Proposal to stabilize has been posted at rust-lang/cargo#6589.

@mitchdenny
Copy link

Hi folks - I'm from the Azure Artifacts team. We support private package registries for a bunch of protocols including Maven, PyPi, NuGet and NPM. Some folks have started asking us about support crates. We are interested in learning more about the way you are approaching extensibility.

@alexcrichton
Copy link
Member

@mitchdenny hello! You'll probably want to take a look at rust-lang/cargo#6589 which is being proposed for stabilization. If there's something though that's missing, please let us know!

bors added a commit to rust-lang/cargo that referenced this issue Feb 12, 2019
Stabilize Alternative Registries

This includes a few minor changes besides stabilizing:
- `cargo search` won't display `crates.io` search URL for extra results for non-crates.io registries.
- Document using environment variables for API tokens.
- Explicit section in `config.md` for documenting the credentials file.

Closes rust-lang/rust#44931
Closes rust-lang/crates-io-cargo-teams#21
Closes #6589
Closes #4688
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-cargo Relevant to the cargo team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.