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

Increase dependency versions where not covered by auto-update #324

Closed
4 of 5 tasks
kate-goldenring opened this issue Apr 26, 2021 · 3 comments
Closed
4 of 5 tasks
Assignees

Comments

@kate-goldenring
Copy link
Contributor

kate-goldenring commented Apr 26, 2021

Akri's dependencies should be updated. While our auto-update workflow follows semver for updating patches and minor versions where possible, the following crate versions need to be updated:

  • udev to 0.6
  • async-stream in Agent
  • tonic, tokio, warp (0.3 requires tokio 1.0), futures, prost, hyper which are interdependent and non-trivial to bump
  • actix in Webhook
  • yaserde in ONVIF discovery handler

Akri's Python and .NET sample brokers and apps should also be inspected for version updates.

@kate-goldenring kate-goldenring added the good first issue Good for newcomers label Apr 26, 2021
@kate-goldenring kate-goldenring added this to Triage needed in Akri Roadmap May 4, 2021
@bfjelds bfjelds removed the good first issue Good for newcomers label May 4, 2021
@bfjelds bfjelds moved this from Triage needed to Investigating in Akri Roadmap May 4, 2021
@kate-goldenring
Copy link
Contributor Author

In the udev Discovery Handler, a Enumerator trait was created in order to mock the udev crate's Enumerator struct. Updating udev to 0.6.0 requires changing the scan_devices function definition in the Trait to match the new definition.
FROM
fn scan_devices(&mut self) -> std::io::Result<udev::Devices>;
TO
fn scan_devices(&mut self) -> Result<List<'_, Enumerator, Device>>;
which requires reconciling lifetimes

@kate-goldenring
Copy link
Contributor Author

We cannot update to the latest versions of kube-rs and k8s-openapi because kube-rs requires that all fields of a CRD Spec derive JsonSchema; however, k8s-openapi structs do not. Consequently, any CRD specs that contain K8s objects (such as PodSpec and ServiceSpec structs in ours) do no compile. There is an issue up on k8s-openapi to support JsonSchema that will need to be resolved before we can proceed with updating our dependencies. This fix Arnavion/k8s-openapi#104 works as I am able to compile everything by patching k8s-openapi with the PR branch.

@kate-goldenring
Copy link
Contributor Author

Closing due to all dependencies being updated besides udev which now has its own issue: #364

Akri Roadmap automation moved this from Investigating to Done Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants