feat: auto-discover container images from registries
- Add ListImages() to registry interface, implement for Gitea - Add owner field to registry config (needed for Gitea packages API) - GET /api/registries/:id/images endpoint - "Browse Images" button on Projects and Quick Deploy pages - Image dropdown with registry grouping and search - i18n support (EN/RU) for all new UI strings
This commit is contained in:
@@ -8,6 +8,13 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
// RegistryImage represents a container image discovered from a registry.
|
||||
type RegistryImage struct {
|
||||
Name string `json:"name"`
|
||||
Owner string `json:"owner"`
|
||||
FullRef string `json:"full_ref"` // e.g., "git.example.com/owner/my-app"
|
||||
}
|
||||
|
||||
// Client defines the interface for interacting with a container image registry.
|
||||
type Client interface {
|
||||
// ListTags returns all available tags for the given image.
|
||||
@@ -16,6 +23,10 @@ type Client interface {
|
||||
// GetLatestTag returns the most recently created tag that matches the given
|
||||
// glob pattern. Returns an empty string and no error if no tags match.
|
||||
GetLatestTag(ctx context.Context, image string, pattern string) (string, error)
|
||||
|
||||
// ListImages returns all container images available in the registry for the
|
||||
// given owner. Returns an error if the registry does not support image listing.
|
||||
ListImages(ctx context.Context, owner string) ([]RegistryImage, error)
|
||||
}
|
||||
|
||||
// DeployTriggerer is called by the poller when a new tag is detected for a
|
||||
|
||||
Reference in New Issue
Block a user