aya-rs / aya

Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.
https://aya-rs.dev/book/
Apache License 2.0
2.88k stars 256 forks source link

Publish all aya-bpf and aya-log-ebpf crates to crates.io? #464

Open OliverGavin opened 1 year ago

OliverGavin commented 1 year ago

Only the following crates are available on crates.io: https://crates.io/crates/aya/0.11.0 https://crates.io/crates/aya-log/0.1.13 https://crates.io/crates/aya-log-common/0.1.13

I think that covers the user space parts.

However, everything else requires a github dependency: aya-bpf v0.1.0 aya-bpf-bindings v0.1.0 aya-bpf-cty v0.2.1 aya-bpf-macros v0.1.0 (proc-macro) aya-log-ebpf v0.1.0 aya-log-ebpf-macros v0.1.0 (proc-macro) aya-log-parser v0.1.11-dev.0

Is there any blockers to getting these into crates.io?

I'm not allowed to use github dependencies :(

vadorovsky commented 1 year ago

We didn't submit aya-bpf-* crates yet, because we don't consider our API in eBPF part stable and we might still make breaking changes.

However, I think we could release them under versions like 0.0.1 and ensure we bump only the patch version on updates, not going over 0.1.0 unless we are sure we can do that.

@alessandrod I think you agree with that idea, but nobody has done that yet?

OliverGavin commented 1 year ago

I would appreciate a v0.0.1 as it means I can get updates from crates.io rather than forking/vendoring this into my environment/package :)

If I can use it maybe one day I can contribute to it :)

jornfranke commented 10 months ago

I would also appreciate a crates.io release. Even if the API is not stable - at least one wouild have a proper version to point to on which one knows that an application works with it.

Using dependencies to Github main branches makes it a bit challenging to create reproducible applications.

brevilo commented 9 months ago

Same here. The last tagged release is over a year old. This is really a chicken and egg problem: it's unnecessarily cumbersome to integrate Aya into a project, leading to much less useful feedback as would be otherwise possible. Keep in mind: release early and often - ideally also on Crates.io.

rust1248 commented 9 months ago

Technically, someone could publish the crates to crates.io without the author permission, the license permits it

alessandrod commented 9 months ago

Technically someone could also help do what's needed to make a release too, the license permits it!

rust1248 commented 9 months ago

What's needed to make a release?

brevilo commented 9 months ago

Probably this.

jornfranke commented 9 months ago

Technically, someone could publish the crates to crates.io without the author permission, the license permits it

I personally think this should be done with the authors. They do good work.

Aside, from an enterprise usage point of view it is not good if this is separated - it should be done by the original team.

brevilo commented 9 months ago

Agreed, since that adds legitimacy.

Also, proper release tagging is the main point here, I think. Getting those releases subsequently deployed on Crates.io should be relatively trivial. To be fair, the current milestones already indicate the release intentions. Seems it "just" boils down to a lack of resources (common to many OSS projects) to squash the remaining issues.

OliverGavin commented 1 month ago

Any idea when we could see a release on crates.io? Anything I can maybe help with? I want to release a library that depends on Aya BPF packages but it will be too cumbersome for us to use until everything is a crates.io dependency.

cpick commented 3 days ago

I see crates with these names (albeit with "ebpf") are now up on crates.io. Is this issue complete?