canonical / bundle-kubeflow

Charmed Kubeflow
Apache License 2.0
104 stars 50 forks source link

Explore how to fetch profile information from a Github repository via Python #1149

Closed mvlassis closed 3 days ago

mvlassis commented 1 week ago

Context

In order to build the github-profiles-automator charm, we need to be able to fetch information about the wanted profiles from a given Github repository. This task is about the exploration on how that can be implemented in Python.

What needs to get done

  1. Look into how to use the proper credentials to fetch information from a requested Github repository.

Definition of Done

  1. We know how to write Python code that can properly fetch the profile information from a Github repo, with the correct credentials.
syncronize-issues-to-jira[bot] commented 1 week ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-6569.

This message was autogenerated

mvlassis commented 6 days ago

After a discussion with @kimwnasptd we have concluded on the following:

mvlassis commented 3 days ago

I have created a small demo to demonstrate the feasibility of the workload:

Now the remaining parts are:

  1. Create a new "demo" charm that has git-sync as a workload container, that can successfully pull from a private repo using SSH keys. As a demo, the charm could hardcode the key, but later we will use juju configs. Additionally, the charm should inject a script named notify-pebble.sh (or something similar) that is a simple wrapper for the Pebble notify event that we will use.
  2. Discuss the best way to share the copied data between the workload container and the charm. Write code in the charm that watches for and handles the Pebble notify event. In the final charm, this will call the functions from the library that @kimwnasptd is writing

Thus, we will split this further exploration into 2 tasks.

mvlassis commented 3 days ago

Closing this part, the next parts of the exploration are https://github.com/canonical/github-profiles-automator/issues/5 and https://github.com/canonical/github-profiles-automator/issues/6.