git

package
v0.10.11-rc.1 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2025 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAuthFromSecret

func GetAuthFromSecret(url string, creds *corev1.Secret, knownHosts string) (transport.AuthMethod, error)

GetAuthFromSecret returns the AuthMethod calculated from the given secret, setting known hosts if needed. Known hosts are sourced from the creds, if provided there. Otherwise, they will be sourced from the provided knownHosts if non-empty. The credentials secret is expected to be either basic-auth or ssh-auth (with extra known_hosts data option)

func GetHTTPClientFromSecret

func GetHTTPClientFromSecret(creds *corev1.Secret, CABundle []byte, insecureTLSVerify bool) (*http.Client, error)

GetHTTPClientFromSecret returns a HTTP client filled from the information in the given secret and optional CABundle and insecureTLSVerify

Types

type Fetch

type Fetch struct {
	KnownHosts KnownHostsGetter
}

func NewFetch

func NewFetch() *Fetch

func (*Fetch) LatestCommit

func (f *Fetch) LatestCommit(ctx context.Context, gitrepo *v1alpha1.GitRepo, client client.Client) (string, error)

type GoGitRemoteLister

type GoGitRemoteLister struct {
	URL             string
	Auth            transport.AuthMethod
	CABundle        []byte
	InsecureSkipTLS bool
}

GoGitRemoteLister implements the RemoteLister interface using the go-git library

func (*GoGitRemoteLister) List

func (g *GoGitRemoteLister) List(appendPeeled bool) ([]*RemoteRef, error)

type KnownHostsGetter added in v0.10.11

type KnownHostsGetter interface {
	GetWithSecret(ctx context.Context, c client.Client, secret *corev1.Secret) (string, error)
	IsStrict() bool
}

type Remote

type Remote struct {
	Lister  RemoteLister
	URL     string
	Options *options
}

func NewRemote

func NewRemote(url string, opts *options) (*Remote, error)

func (*Remote) LatestBranchCommit

func (r *Remote) LatestBranchCommit(branch string) (string, error)

LatestBranchCommit returns the latest commit for the given branch

func (*Remote) RevisionCommit

func (r *Remote) RevisionCommit(revision string) (string, error)

RevisionCommit returns the commit for the given revision

type RemoteLister

type RemoteLister interface {
	// List returns a generic RemoteRef slice of remote references in a git repository
	List(appendPeeled bool) ([]*RemoteRef, error)
}

type RemoteRef

type RemoteRef struct {
	Name string
	Hash string
}

RemoteRef represents a remote reference is a git repository

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳