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

[DOC] - Create architecture diagram #255

Open
1 task done
kcpevey opened this issue Apr 30, 2024 · 11 comments · May be fixed by #307
Open
1 task done

[DOC] - Create architecture diagram #255

kcpevey opened this issue Apr 30, 2024 · 11 comments · May be fixed by #307
Assignees
Labels
area: documentation 📖 Improvements or additions to documentation status: in progress 🏗 This item is currently being worked on

Comments

@kcpevey
Copy link
Contributor

kcpevey commented Apr 30, 2024

Preliminary Checks

Summary

Need to create architecture diagram(s) for jhub-apps.

Steps to Resolve this Issue

NA

@kcpevey kcpevey added the area: documentation 📖 Improvements or additions to documentation label Apr 30, 2024
@viniciusdc viniciusdc added the status: in progress 🏗 This item is currently being worked on label May 6, 2024
@viniciusdc
Copy link

I made a simple draft so far just to self-situate, I will most probably split this into 2 separate diagrams, one for the overall capabilities of the service, and one regarding networking (auth, services, redirections)

@viniciusdc
Copy link

image

@viniciusdc
Copy link

New version
Jhub Apps Diagram

@viniciusdc
Copy link

@aktech @kcpevey what do you think?

@dharhas
Copy link
Member

dharhas commented May 14, 2024

Should we include a section around getting roles and permissions from keycloak/jhub5?

@tylergraff
Copy link
Contributor

I'd like to see additional detail added to give developers (with minimal knowledge of the system) insight into where in the repos to look for details and implementations of the pieces shown in this diagram, including:

  • What an "app" is, where/how they are defined, and where they are stored
  • What a "single user notebook server" is and where it is defined
  • What "Pages" are and where/how they're defined
  • What constitutes the "service" interface (edge) between jupyterhub and Jhub Apps, and where that interface is defined
  • What component maintains "Conda Environments" and how they are accessed by Spawners and Apps

The 'where/how defined' details could simply be corresponding class names and repos+filepaths

@kcpevey
Copy link
Contributor Author

kcpevey commented May 15, 2024

I'd like to see additional detail added to give developers (with minimal knowledge of the system) insight into where in the repos to look for details and implementations of the pieces shown in this diagram, including:

  • What an "app" is, where/how they are defined, and where they are stored
  • What a "single user notebook server" is and where it is defined
  • What "Pages" are and where/how they're defined
  • What constitutes the "service" interface (edge) between jupyterhub and Jhub Apps, and where that interface is defined
  • What component maintains "Conda Environments" and how they are accessed by Spawners and Apps

The 'where/how defined' details could simply be corresponding class names and repos+filepaths

@tylergraff are you thinking of something like a glossary that would sit beside this diagram?

@tylergraff
Copy link
Contributor

tylergraff commented May 15, 2024

are you thinking of something like a glossary that would sit beside this diagram?

@kcpevey yes I think that would work. Or the diagram could be expanded to fit descriptions in text boxes near relevant diagram features.

@viniciusdc
Copy link

viniciusdc commented May 16, 2024

@tylergraff @kcpevey Regarding the descriptions/details, I assumed we would have some docs for those components; that's why I avoided adding too many labels in the diagram itself. If folks like the overall direction of the latest iteration above, I could open a PR, adding an extra infrastructure docs page going into more details.

@dharhas @kcpevey Regarding the permission model, I think this might be better explained in its own doc page

@kcpevey
Copy link
Contributor Author

kcpevey commented May 17, 2024

@viniciusdc that all sounds good to me. I think once we see this diagram and the text around it to give it context, we'll have more clarity.

Go ahead and open a PR and we review with full context.

And do be clear - I agree the permissions model is likely to need a whole dedicated page (or subsection of this page). I think we should exclude that here since that's currently in the process of changing, but we'll definitely need to include it after the permissions revamp is done.

@viniciusdc
Copy link

Sure thing, I will be opening this today

@viniciusdc viniciusdc linked a pull request May 28, 2024 that will close this issue
18 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: documentation 📖 Improvements or additions to documentation status: in progress 🏗 This item is currently being worked on
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants