Chainguard Registry architecture diagram
Chainguard Registry Visual Reference Architecture Needed
Overview
We need to create a comprehensive visual reference architecture that illustrates how Chainguard's Registry operates both as a standalone solution and in conjunction with other popular artifact repositories. This visual guide will help our users and potential customers understand the flexibility and interoperability of our registry within various ecosystems.
Scope
The visual reference architecture should cover the following scenarios:
- Chainguard Registry as a standalone solution
- Chainguard Registry integrated with:
- JFrog Artifactory
- Sonatype Nexus
- Docker Hub
- Harbor
- Google Artifact Registry
- AWS ECR Public Gallery
Key Requirements
- Clear and visually appealing diagrams
- Explanation of data flow and integration points
- OIDC
- Pull-through caches
- Consideration of security aspects and compliance requirements
- Tags and refresh frequency
Expected Outcome
A set of diagrams and accompanying explanations that can be used in our documentation, presentations, and sales materials to effectively communicate the versatility of Chainguard Registry.
Next Steps
- @MordodeMaru to draft the first diagrams
- Review with @imjasonh and any other SME
- Create visual designs based on the approved architecture
- Incorporate feedback and finalize the reference architecture
Please comment on this issue with any questions, suggestions, or if you need any clarification on the requirements.
This is what I made (forgiving the lack of fontawesome icons in github, of course)
flowchart LR
subgraph corporate network
A(fa:fa-laptop-code\ndeveloper)
B(fas:fa-boxes-stacked\ncontainer\nregistry)
A -->| push new images | B
B -->| pull base images | A
end
subgraph internet
C(:octopus:\nchainguard registry)
D(fab:fa-docker\ndockerhub)
B -->| pull tokens\nor\nOIDC | C
B -->| pull tokens | D
end
@johnfosborneiii made this one
Another one!
And from Janani https://docs.google.com/document/d/1NYO8KnVj6mH-RQrN2XsCF59z7QSExC4R9w_WGNk-Tlo/edit