s3

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type S3Config

type S3Config struct {
	Logger zerolog.Logger
	Client *awss3.Client
}

func (*S3Config) Configure

func (c *S3Config) Configure() error

type S3Storage

type S3Storage struct {
	Logger zerolog.Logger
	// contains filtered or unexported fields
}

func NewS3Storage

func NewS3Storage(logger zerolog.Logger) *S3Storage

func (*S3Storage) Configure

func (s3s *S3Storage) Configure() error

func (*S3Storage) CreateRepository

func (s3s *S3Storage) CreateRepository(repoPath string) error

func (*S3Storage) DeleteRepository

func (s3s *S3Storage) DeleteRepository(repoPath string) error

func (*S3Storage) GetStorer

func (s3s *S3Storage) GetStorer(repoPath string) (storer.Storer, error)

func (*S3Storage) ListRepositories

func (s3s *S3Storage) ListRepositories() ([]string, error)

func (*S3Storage) RepositoryExists

func (s3s *S3Storage) RepositoryExists(repoPath string) bool

type S3Storer

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

S3Storer implements go-git's storer.Storer interface using S3 as backend

func NewS3Storer

func NewS3Storer(client *awss3.Client, bucket, repoPath string, logger zerolog.Logger) *S3Storer

NewS3Storer creates a new S3-based storer for a specific repository

func (*S3Storer) AddAlternate

func (s *S3Storer) AddAlternate(remote string) error

AddAlternate adds an alternate object database, which we don't support for S3

func (*S3Storer) CheckAndSetReference

func (s *S3Storer) CheckAndSetReference(new, old *plumbing.Reference) error

CheckAndSetReference atomically checks and sets a reference

func (*S3Storer) Config

func (s *S3Storer) Config() (*config.Config, error)

Config returns the repository configuration

func (*S3Storer) CountLooseRefs

func (s *S3Storer) CountLooseRefs() (int, error)

CountLooseRefs returns the number of loose references

func (*S3Storer) DeleteEncodedObject

func (s *S3Storer) DeleteEncodedObject(hash plumbing.Hash) error

DeleteEncodedObject removes the encoded object from S3

func (*S3Storer) EncodedObject

func (s *S3Storer) EncodedObject(t plumbing.ObjectType, hash plumbing.Hash) (plumbing.EncodedObject, error)

EncodedObject returns the EncodedObject with the given hash

func (*S3Storer) EncodedObjectSize

func (s *S3Storer) EncodedObjectSize(hash plumbing.Hash) (int64, error)

EncodedObjectSize returns the size of the encoded object

func (*S3Storer) HasEncodedObject

func (s *S3Storer) HasEncodedObject(hash plumbing.Hash) error

HasEncodedObject returns true if the given hash is stored

func (*S3Storer) Index

func (s *S3Storer) Index() (*index.Index, error)

Index returns the repository index

func (*S3Storer) IterEncodedObjects

func (s *S3Storer) IterEncodedObjects(t plumbing.ObjectType) (storer.EncodedObjectIter, error)

IterEncodedObjects returns an iterator for all the objects in the repository

func (*S3Storer) IterReferences

func (s *S3Storer) IterReferences() (storer.ReferenceIter, error)

IterReferences returns an iterator for all references

func (*S3Storer) Module

func (s *S3Storer) Module(name string) (storer.Storer, error)

Module returns the submodule storage, which we don't support for S3

func (*S3Storer) NewEncodedObject

func (s *S3Storer) NewEncodedObject() plumbing.EncodedObject

NewEncodedObject returns a new EncodedObject, the type must be specified

func (*S3Storer) PackRefs

func (s *S3Storer) PackRefs() error

PackRefs packs references into a packed-refs file (not implemented for S3)

func (*S3Storer) Reference

func (s *S3Storer) Reference(name plumbing.ReferenceName) (*plumbing.Reference, error)

Reference returns the reference for the given name

func (*S3Storer) RemoveReference

func (s *S3Storer) RemoveReference(name plumbing.ReferenceName) error

RemoveReference removes a reference

func (*S3Storer) SetConfig

func (s *S3Storer) SetConfig(cfg *config.Config) error

SetConfig sets the repository configuration

func (*S3Storer) SetEncodedObject

func (s *S3Storer) SetEncodedObject(obj plumbing.EncodedObject) (plumbing.Hash, error)

SetEncodedObject saves an EncodedObject to S3

func (*S3Storer) SetIndex

func (s *S3Storer) SetIndex(idx *index.Index) error

SetIndex sets the repository index

func (*S3Storer) SetReference

func (s *S3Storer) SetReference(ref *plumbing.Reference) error

SetReference stores a reference

func (*S3Storer) SetShallow

func (s *S3Storer) SetShallow(hashes []plumbing.Hash) error

SetShallow sets the shallow commits

func (*S3Storer) Shallow

func (s *S3Storer) Shallow() ([]plumbing.Hash, error)

Shallow returns the shallow commits

Jump to

Keyboard shortcuts

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