registry

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthProvider

type AuthProvider struct {
	// contains filtered or unexported fields
}

AuthProvider manages authentication for registries

func NewAuthProvider

func NewAuthProvider() *AuthProvider

NewAuthProvider creates a new authentication provider

func (*AuthProvider) AddCredential

func (a *AuthProvider) AddCredential(registry, username, password string)

AddCredential adds a credential for a registry

func (*AuthProvider) GetCredentials

func (a *AuthProvider) GetCredentials(registry string) (*Credentials, error)

GetCredentials returns credentials for a specific registry

func (*AuthProvider) LoadCredentials

func (a *AuthProvider) LoadCredentials(creds []Credentials)

LoadCredentials loads credentials from DS configuration

func (*AuthProvider) LoadDockerConfig

func (a *AuthProvider) LoadDockerConfig() error

LoadDockerConfig loads credentials from ~/.docker/config.json

func (*AuthProvider) RefreshToken

func (a *AuthProvider) RefreshToken(ctx context.Context, registry string) error

RefreshToken refreshes an expired token (placeholder for future implementation)

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client represents an OCI registry client

func NewClient

func NewClient(registry string, authProvider *AuthProvider, opts ...ClientOption) (*Client, error)

NewClient creates a new OCI registry client

func (*Client) GetManifest

func (c *Client) GetManifest(ctx context.Context, reference string) ([]byte, error)

GetManifest fetches the manifest for an artifact

func (*Client) List

func (c *Client) List(ctx context.Context, repository string) ([]string, error)

List returns available versions/tags for a repository

func (*Client) Pull

func (c *Client) Pull(ctx context.Context, reference string, dest io.Writer) error

Pull downloads an OCI artifact from the registry

func (*Client) Push

func (c *Client) Push(ctx context.Context, reference string, content io.Reader, contentType string) error

Push uploads an OCI artifact to the registry

type ClientOption

type ClientOption func(*Client)

ClientOption is a functional option for configuring the client

func WithHTTPClient

func WithHTTPClient(client *http.Client) ClientOption

WithHTTPClient sets a custom HTTP client

func WithInsecure

func WithInsecure(insecure bool) ClientOption

WithInsecure enables insecure (HTTP) registry connections

func WithProxy

func WithProxy(proxyURL string) ClientOption

WithProxy configures proxy settings

type Credentials

type Credentials struct {
	Registry string
	Username string
	Password string
	Token    string
}

Credentials represents registry credentials

type DockerAuth

type DockerAuth struct {
	Auth     string `json:"auth,omitempty"`
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

DockerAuth represents authentication for a registry

type DockerConfig

type DockerConfig struct {
	Auths map[string]DockerAuth `json:"auths"`
}

DockerConfig represents the Docker config.json structure

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL