Documentation ¶
Index ¶
- func NewSrcUserPluginService(artDetails auth.ServiceDetails, client *jfroghttpclient.JfrogHttpClient) *srcUserPluginService
- type ChunkFileStatusType
- type ChunkStatus
- type DelayedArtifactsChannelMng
- type DelayedArtifactsFile
- type ErrorsChannelMng
- type FileRepresentation
- type FileUploadStatusResponse
- type FilesErrors
- type FullDiffDetails
- type HandlePropertiesDiff
- type HandlePropertiesDiffResponse
- type NodeIdResponse
- type PhaseDetails
- type PollingTasksManager
- type ProcessStatusType
- type PropertiesHandlingError
- type Repository
- type TargetAuth
- type TransferDelayedArtifactsMng
- type TransferErrorsMng
- type TransferFilesCommand
- func (tdc *TransferFilesCommand) CommandName() string
- func (tdc *TransferFilesCommand) Run() (err error)
- func (tdc *TransferFilesCommand) SetExcludeReposPatterns(excludeReposPatterns []string)
- func (tdc *TransferFilesCommand) SetFilestore(filestore bool)
- func (tdc *TransferFilesCommand) SetIncludeReposPatterns(includeReposPatterns []string)
- type TransferState
- type UploadChunk
- type UploadChunkResponse
- type UploadChunksStatusBody
- type UploadChunksStatusResponse
- type UuidTokenResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewSrcUserPluginService ¶
func NewSrcUserPluginService(artDetails auth.ServiceDetails, client *jfroghttpclient.JfrogHttpClient) *srcUserPluginService
Types ¶
type ChunkFileStatusType ¶
type ChunkFileStatusType string
const ( Success ChunkFileStatusType = "SUCCESS" Fail ChunkFileStatusType = "FAIL" SkippedLargeProps ChunkFileStatusType = "SKIPPED_LARGE_PROPS" SkippedMetadataFile ChunkFileStatusType = "SKIPPED_METADATA_FILE" )
type ChunkStatus ¶
type ChunkStatus struct { UuidTokenResponse Status ProcessStatusType `json:"status,omitempty"` Files []FileUploadStatusResponse `json:"files,omitempty"` }
type DelayedArtifactsChannelMng ¶ added in v2.18.2
type DelayedArtifactsChannelMng struct {
// contains filtered or unexported fields
}
DelayedArtifactsChannelMng is used when writing 'delayed artifacts' to a common channel. If an error occurs while handling the files - this message is used to stop adding elements to the channel.
type DelayedArtifactsFile ¶
type DelayedArtifactsFile struct {
DelayedArtifacts []FileRepresentation `json:"delayed_artifacts,omitempty"`
}
type ErrorsChannelMng ¶ added in v2.18.2
type ErrorsChannelMng struct {
// contains filtered or unexported fields
}
ErrorsChannelMng handles the uploading errors and adds them to a common channel. Stops adding elements to the channel if an error occurs while handling the files.
type FileRepresentation ¶
type FileUploadStatusResponse ¶
type FileUploadStatusResponse struct { FileRepresentation Status ChunkFileStatusType `json:"status,omitempty"` StatusCode int `json:"status_code,omitempty"` Reason string `json:"reason,omitempty"` }
type FilesErrors ¶
type FilesErrors struct {
Errors []FileUploadStatusResponse `json:"errors,omitempty"`
}
type FullDiffDetails ¶
type FullDiffDetails struct { FilesDiffRunTime PhaseDetails `json:"files_diff,omitempty"` PropertiesDiffRunTime PhaseDetails `json:"properties_diff,omitempty"` HandledRange PhaseDetails `json:"handled_range,omitempty"` Completed bool `json:"completed,omitempty"` }
type HandlePropertiesDiff ¶
type HandlePropertiesDiff struct { TargetAuth RepoKey string `json:"repo_key,omitempty"` StartMilliseconds string `json:"start_milliseconds,omitempty"` EndMilliseconds string `json:"end_milliseconds,omitempty"` }
type HandlePropertiesDiffResponse ¶
type HandlePropertiesDiffResponse struct { NodeIdResponse PropertiesDelivered json.Number `json:"properties_delivered,omitempty"` PropertiesTotal json.Number `json:"properties_total,omitempty"` Status ProcessStatusType `json:"status,omitempty"` Errors []PropertiesHandlingError `json:"errors,omitempty"` }
type NodeIdResponse ¶
type NodeIdResponse struct {
NodeId string `json:"node_id,omitempty"`
}
type PhaseDetails ¶
type PollingTasksManager ¶ added in v2.18.2
type PollingTasksManager struct {
// contains filtered or unexported fields
}
type ProcessStatusType ¶
type ProcessStatusType string
const ( Done ProcessStatusType = "DONE" InProgress ProcessStatusType = "IN_PROGRESS" )
type PropertiesHandlingError ¶
type PropertiesHandlingError struct { FileRepresentation StatusCode string `json:"status_code,omitempty"` Reason string `json:"reason,omitempty"` }
type Repository ¶
type Repository struct { Name string `json:"name,omitempty"` FullTransfer PhaseDetails `json:"full_transfer,omitempty"` Diffs []FullDiffDetails `json:"diffs,omitempty"` }
type TargetAuth ¶
type TransferDelayedArtifactsMng ¶
type TransferDelayedArtifactsMng struct {
// contains filtered or unexported fields
}
TransferDelayedArtifactsMng takes care of the multi-threaded-writing of artifacts to be transferred, while maintaining the correct order of the deployment. This is needed because, for example, for maven repositories, pom file should be deployed last.
type TransferErrorsMng ¶
type TransferErrorsMng struct {
// contains filtered or unexported fields
}
TransferErrorsMng manages multi threads writing errors. We want to create a file which contains all upload error statuses for each repository and phase. Those files will serve us in 2 cases: 1. Whenever we re-run 'transfer-files' command, we want to attempt to upload failed files again. 2. As part of the transfer process, we generate a csv file that contains all upload errors. In case an error occurs when creating those upload errors files, we would like to stop the transfer right away.
type TransferFilesCommand ¶
type TransferFilesCommand struct {
// contains filtered or unexported fields
}
func NewTransferFilesCommand ¶
func NewTransferFilesCommand(sourceServer, targetServer *config.ServerDetails) *TransferFilesCommand
func (*TransferFilesCommand) CommandName ¶
func (tdc *TransferFilesCommand) CommandName() string
func (*TransferFilesCommand) Run ¶
func (tdc *TransferFilesCommand) Run() (err error)
func (*TransferFilesCommand) SetExcludeReposPatterns ¶
func (tdc *TransferFilesCommand) SetExcludeReposPatterns(excludeReposPatterns []string)
func (*TransferFilesCommand) SetFilestore ¶
func (tdc *TransferFilesCommand) SetFilestore(filestore bool)
func (*TransferFilesCommand) SetIncludeReposPatterns ¶
func (tdc *TransferFilesCommand) SetIncludeReposPatterns(includeReposPatterns []string)
type TransferState ¶
type TransferState struct { Repositories []Repository `json:"repositories,omitempty"` NodeIds []string `json:"nodes,omitempty"` }
This struct holds the current state of the whole transfer of the source Artifactory instance. It is saved to a file in JFrog CLI's home. The command determines actions based on the state, such as if full transfer need or was completed before, on what time range files diffs should be fixed, etc.
type UploadChunk ¶
type UploadChunk struct { TargetAuth CheckExistenceInFilestore bool `json:"check_existence_in_filestore,omitempty"` UploadCandidates []FileRepresentation `json:"upload_candidates,omitempty"` }
type UploadChunkResponse ¶
type UploadChunkResponse struct { NodeIdResponse UuidTokenResponse }
type UploadChunksStatusBody ¶
type UploadChunksStatusBody struct {
UuidTokens []string `json:"uuid_tokens,omitempty"`
}
type UploadChunksStatusResponse ¶
type UploadChunksStatusResponse struct { NodeIdResponse ChunksStatus []ChunkStatus `json:"chunks_status,omitempty"` }
type UuidTokenResponse ¶
type UuidTokenResponse struct {
UuidToken string `json:"uuid_token,omitempty"`
}