Documentation ¶
Index ¶
- Constants
- Variables
- func AppendRemotePath(prefix url.URL, packageName, version, fileName string) url.URL
- func IsExecutable(mode os.FileMode) bool
- type Archive
- type ArchiveHeader
- type ArchiveItem
- type ArchiveWriter
- type Chmod
- type Deleter
- type Dependency
- type DependencyListing
- type Downloader
- type Environment
- type FileChecker
- type FileCreator
- type FileInfo
- type FileOpener
- type FileReader
- type FileWriter
- type InstallationRequest
- type IntegrityCheck
- type Manifest
- type PackageConfig
- type PackageInstaller
- type PathLister
- type RemoteStorage
- type RootPath
- type StatusCodeError
- type SymlinkCreator
- type URL
- type UploadConfig
- type UploadRequest
- type Uploader
Constants ¶
View Source
const ( RemoteManifestFilename = "manifest.json" RemoteArchiveFilename = "archive" )
Variables ¶
View Source
var RetryErr = errors.New("retry")
Functions ¶
func AppendRemotePath ¶
func IsExecutable ¶
Types ¶
type Archive ¶
type Archive struct { Filename string `json:"filename"` Size uint64 `json:"size"` MD5Checksum []byte `json:"md5"` Contents []ArchiveItem `json:"contents"` CompressionAlgorithm string `json:"compression"` }
type ArchiveHeader ¶
type ArchiveItem ¶
type ArchiveWriter ¶
type ArchiveWriter interface { Write([]byte) (int, error) Close() error WriteHeader(ArchiveHeader) }
type Dependency ¶
type Dependency struct { PackageName string `json:"package_name"` PackageVersion string `json:"package_version"` RemoteAddress URL `json:"remote_address"` LocalDirectory string `json:"local_directory"` }
func (Dependency) ComposeLatestManifestRemoteAddress ¶
func (this Dependency) ComposeLatestManifestRemoteAddress() url.URL
func (Dependency) ComposeRemoteAddress ¶
func (this Dependency) ComposeRemoteAddress(fileName string) url.URL
func (Dependency) ComposeRemoteManifestAddress ¶
func (this Dependency) ComposeRemoteManifestAddress() url.URL
func (Dependency) Title ¶
func (this Dependency) Title() string
type DependencyListing ¶
type DependencyListing struct { Credentials string `json:"credentials"` Listing []Dependency `json:"dependencies"` }
func (*DependencyListing) Validate ¶
func (this *DependencyListing) Validate() error
type Downloader ¶
type Downloader interface {
Download(url.URL) (io.ReadCloser, error)
}
type Environment ¶
type FileChecker ¶
type FileCreator ¶
type FileCreator interface {
Create(path string) io.WriteCloser
}
type FileOpener ¶
type FileOpener interface {
Open(path string) io.ReadCloser
}
type FileReader ¶
type FileWriter ¶
type InstallationRequest ¶
type IntegrityCheck ¶
type PackageConfig ¶
type PackageConfig struct { CompressionAlgorithm string `json:"compression_algorithm"` CompressionLevel int `json:"compression_level"` SourceDirectory string `json:"source_directory"` PackageName string `json:"package_name"` PackageVersion string `json:"package_version"` RemoteAddressPrefix *URL `json:"remote_address"` }
func (PackageConfig) ComposeLatestManifestRemoteAddress ¶
func (this PackageConfig) ComposeLatestManifestRemoteAddress() url.URL
func (PackageConfig) ComposeRemoteAddress ¶
func (this PackageConfig) ComposeRemoteAddress(filename string) url.URL
type PackageInstaller ¶
type PackageInstaller interface { DownloadManifest(remoteAddress url.URL) (manifest Manifest, err error) InstallManifest(request InstallationRequest) (manifest Manifest, err error) InstallPackage(manifest Manifest, request InstallationRequest) error }
type PathLister ¶
type PathLister interface {
Listing() []FileInfo
}
type RemoteStorage ¶
type RemoteStorage interface { Uploader Downloader }
type StatusCodeError ¶
type StatusCodeError struct {
// contains filtered or unexported fields
}
func NewStatusCodeError ¶
func NewStatusCodeError(actual int, expected int, remoteAddress url.URL) *StatusCodeError
func (*StatusCodeError) Error ¶
func (this *StatusCodeError) Error() string
func (*StatusCodeError) StatusCode ¶
func (this *StatusCodeError) StatusCode() int
type SymlinkCreator ¶
type SymlinkCreator interface {
CreateSymlink(source, target string)
}
type UploadConfig ¶
type UploadConfig struct { MaxRetry int GoogleCredentials gcs.Credentials JSONPath string Overwrite bool PackageConfig PackageConfig }
type UploadRequest ¶
type Uploader ¶
type Uploader interface {
Upload(UploadRequest) error
}
Click to show internal directories.
Click to hide internal directories.