Closed OneFlyingBanana closed 3 days ago
[!WARNING]
Review failed
The pull request is closed.
The recent updates to the Harbor Satellite system enhance functionality across several key areas. Major additions include handling configuration through the .env
file, implementing new registry and replicator types, and improving the file fetching mechanism. Enhancements to various store functionalities, together with changes to the main instantiation logic, form a robust baseline for managing image replication and storage, supporting the decentralized registry architecture at edge locations.
Files | Change Summary |
---|---|
.env |
Updated for HARBOR_USERNAME , HARBOR_PASSWORD , and ZOT_URL configurations. |
.gitignore |
Added .env to ignore list and fixed .DS_Store formatting issue. |
image-list/images.json |
Included details about registry URL, repositories, and associated images. |
internal/replicate/replicate.go |
Added new types (ImageInfo , Repository , RegistryInfo ); modified Replicate ; introduced functions for handling image replication. |
internal/satellite/satellite.go |
Adjusted tick rate, replication logic, and error handling; added debugging print statement. |
internal/store/file-fetch.go |
Introduced functionality for fetching and parsing image data from a file. |
internal/store/http-fetch.go |
Added support for fetching image lists and digests using HTTP. |
internal/store/in-memory-store.go |
Added in-memory store logic including methods for listing, adding, and removing images; introduced support for different fetcher types. |
main.go |
Enhanced main function with user input handling for URLs/paths; instantiated new components and loaded .env configurations. |
registry/config.json |
Introduced registry system configuration settings. |
registry/makefile |
Added targets for compiling, running, cleaning, and managing binaries for different OS/architecture combinations. |
README.md |
Expanded documentation on Harbor Satellite, its architecture and implementation; added author contributions and community support comments. |
config.toml |
Introduced options for using built-in or custom registries, specifying URLs/paths, and demo URLs. |
go.mod |
Updated module name, dependency versions, and added new dependencies. |
registry/launch-registry.go |
Introduced LaunchRegistry() function to start the registry server with configurations from config.json . |
sequenceDiagram
participant User
participant Main
participant EnvLoader
participant Store
participant Replicator
participant Registry
User->>Main: Start application
Main->>EnvLoader: Load .env
EnvLoader-->>Main: Configurations loaded
Main->>Store: Initialize store
Main->>Replicator: Initialize replicator
Main->>Registry: Launch registry
Registry-->>Main: Registry launched
User->>Main: Request image replication
Main->>Replicator: Replicate requested image
Replicator->>Store: Fetch image data
Store-->>Replicator: Image data fetched
Replicator-->>User: Image replicated
In lines of code, changes bloom,
For images, now there's room. 🌌
With configs set and tasks aligned,
Edge devices will not lag behind.
Replicate and store anew,
Harbor Satellite, we trust in you! 🚀
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
@coderabbitai full review
Added makefile to build and run zot and zli depending on host's OS and architecture (MacOS/Linux and ARM/X86) Added source code for zot/zli as tar.gz Removed double execution of satellite in main.go Removed launch of zot in satellite.go
Summary by CodeRabbit
New Features
Bug Fixes
.gitignore
file.Documentation
Chores
.gitignore
to exclude the.env
file from version control.