cmd

package
v0.0.0-...-3436757 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2019 License: Apache-2.0 Imports: 70 Imported by: 0

Documentation

Overview

Package cmd contains all the global variables and constants. ONLY TO BE ACCESSED VIA GET/SET FUNCTIONS.

Package cmd - session V8 - Version 8 stores session header and session data in two separate files. Session data contains fully prepared URL list.

Index

Constants

View Source
const (
	// EventCreate notifies when a new object is created
	EventCreate EventType = "ObjectCreated"
	// EventRemove notifies when a new object is deleted
	EventRemove = "ObjectRemoved"
	// EventAccessed notifies when an object is accessed.
	EventAccessed = "ObjectAccessed"
	// EventAccessedRead notifies when an object is accessed (specifically read).
	EventAccessedRead = "ObjectAccessed:Read"
	// EventAccessedStat notifies when an object is accessed (specifically stat).
	EventAccessedStat = "ObjectAccessed:Stat"
)
View Source
const Day = 24 * time.Hour

Day time.Duration for day.

Variables

View Source
var (
	// Version - version time.RFC3339.
	Version = "DEVELOPMENT.GOGET"
	// ReleaseTag - release tag in TAG.%Y-%m-%dT%H-%M-%SZ.
	ReleaseTag = "DEVELOPMENT.GOGET"
	// CommitID - latest commit id.
	CommitID = "DEVELOPMENT.GOGET"
	// ShortCommitID - first 12 characters from CommitID.
	ShortCommitID = CommitID[:12]
)
View Source
var (
	// EventTypePut contains the notify events that will cause a put (write)
	EventTypePut = []notify.Event{notify.InCloseWrite | notify.InMovedTo}
	// EventTypeDelete contains the notify events that will cause a delete (remove)
	EventTypeDelete = []notify.Event{notify.InDelete | notify.InDeleteSelf | notify.InMovedFrom}
	// EventTypeGet contains the notify events that will cause a get (read)
	EventTypeGet = []notify.Event{notify.InAccess | notify.InOpen}
)

Functions

func DownloadReleaseData

func DownloadReleaseData(timeout time.Duration) (data string, err *probe.Error)

DownloadReleaseData - downloads release data from mc official server.

func GetCurrentReleaseTime

func GetCurrentReleaseTime() (releaseTime time.Time, err *probe.Error)

GetCurrentReleaseTime - returns this process's release time. If it is official mc version, parsed version is returned else mc binary's mod time is returned.

func IsDCOS

func IsDCOS() bool

IsDCOS returns true if mc is running in DCOS.

func IsDeleteEvent

func IsDeleteEvent(event notify.Event) bool

IsDeleteEvent checks if the event returned is a delete event

func IsDocker

func IsDocker() bool

IsDocker - returns if the environment mc is running in docker or not. The check is a simple file existence check.

https://github.com/moby/moby/blob/master/daemon/initlayer/setup_unix.go#L25

"/.dockerenv":      "file",

func IsGetEvent

func IsGetEvent(event notify.Event) bool

IsGetEvent checks if the event return is a get event.

func IsKubernetes

func IsKubernetes() bool

IsKubernetes returns true if minio is running in kubernetes.

func IsPutEvent

func IsPutEvent(event notify.Event) bool

IsPutEvent checks if the event returned is a put event

func IsSourceBuild

func IsSourceBuild() bool

IsSourceBuild - returns if this binary is a non-official build from source code.

func Main

func Main()

Main starts mc application

func PipeChan

func PipeChan(capacity int) (inputCh chan notify.EventInfo, outputCh chan notify.EventInfo)

PipeChan builds a new dynamically sized channel

func UTCNow

func UTCNow() time.Time

UTCNow - returns current UTC time.

Types

type APINotImplemented

type APINotImplemented struct {
	API     string
	APIType string
}

APINotImplemented - api not implemented

func (APINotImplemented) Error

func (e APINotImplemented) Error() string
type BrokenSymlink GenericFileError

BrokenSymlink (ENOTENT) - file has broken symlink.

func (BrokenSymlink) Error

func (e BrokenSymlink) Error() string

type BucketDoesNotExist

type BucketDoesNotExist GenericBucketError

BucketDoesNotExist - bucket does not exist.

func (BucketDoesNotExist) Error

func (e BucketDoesNotExist) Error() string

type BucketExists

type BucketExists GenericBucketError

BucketExists - bucket exists.

func (BucketExists) Error

func (e BucketExists) Error() string

type BucketInvalid

type BucketInvalid struct {
	Bucket string
}

BucketInvalid - bucket name invalid.

func (BucketInvalid) Error

func (e BucketInvalid) Error() string

type BucketNameEmpty

type BucketNameEmpty struct{}

BucketNameEmpty - bucket name empty (http://goo.gl/wJlzDz)

func (BucketNameEmpty) Error

func (e BucketNameEmpty) Error() string

type BucketNameTopLevel

type BucketNameTopLevel struct{}

BucketNameTopLevel - generic error

func (BucketNameTopLevel) Error

func (e BucketNameTopLevel) Error() string

type CheckResult

type CheckResult struct {
	Offset int64
	SrcMD5 string
	minio.ObjectPart
}

type Client

type Client interface {
	// Common operations
	Stat(isIncomplete, isFetchMeta bool, sseKey string) (content *clientContent, err *probe.Error)
	List(isRecursive, isIncomplete bool, showDir DirOpt) <-chan *clientContent

	// Bucket operations
	MakeBucket(region string, ignoreExisting bool) *probe.Error

	// Access policy operations.
	GetAccess() (access string, error *probe.Error)
	GetAccessRules() (policyRules map[string]string, error *probe.Error)
	SetAccess(access string) *probe.Error

	// I/O operations
	Copy(source string, size int64, progress io.Reader, srcSSEKey, tgtSSEKey string) *probe.Error

	// Runs select expression on object storage on specific files.
	Select(expression string, sseKey string) (io.ReadCloser, *probe.Error)

	// I/O operations with metadata.
	Get(sseKey string) (reader io.ReadCloser, err *probe.Error)
	Put(ctx context.Context, reader io.Reader, size int64, metadata map[string]string, progress io.Reader, sseKey string) (n int64, err *probe.Error)

	// I/O operations with expiration
	ShareDownload(expires time.Duration) (string, *probe.Error)
	ShareUpload(bool, time.Duration, string) (string, map[string]string, *probe.Error)

	// Watch events
	Watch(params watchParams) (*watchObject, *probe.Error)

	// Delete operations
	Remove(isIncomplete bool, contentCh <-chan *clientContent) (errorCh <-chan *probe.Error)

	// GetURL returns back internal url
	GetURL() clientURL

	GetObjetPartsInfo() (partsInfo map[int]minio.ObjectPart, err error)

	ReadAt(b []byte, offset int64) (err error)
}

Client - client interface

type Config

type Config struct {
	AccessKey   string
	SecretKey   string
	Signature   string
	HostURL     string
	AppName     string
	AppVersion  string
	AppComments []string
	Debug       bool
	Insecure    bool
	Lookup      minio.BucketLookupType
}

Config - see http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthentication.html

type DirOpt

type DirOpt int8

DirOpt - list directory option.

const (
	// DirNone - do not include directories in the list.
	DirNone DirOpt = iota
	// DirFirst - include directories before objects in the list.
	DirFirst
	// DirLast - include directories after objects in the list.
	DirLast
)

type DummyStatus

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

DummyStatus will not show anything.

func (*DummyStatus) Add

func (ds *DummyStatus) Add(v int64) Status

Add bytes to current number of bytes

func (*DummyStatus) Finish

func (ds *DummyStatus) Finish()

Finish displays the accounting summary

func (*DummyStatus) Get

func (ds *DummyStatus) Get() int64

Get implements Progress interface

func (*DummyStatus) PrintMsg

func (ds *DummyStatus) PrintMsg(msg message)

PrintMsg prints message

func (*DummyStatus) Println

func (ds *DummyStatus) Println(data ...interface{})

Println prints line, ignored for quietstatus

func (*DummyStatus) Read

func (ds *DummyStatus) Read(p []byte) (n int, err error)

Read implements the io.Reader interface

func (*DummyStatus) SetCaption

func (ds *DummyStatus) SetCaption(s string)

SetCaption sets the caption of the progressbar, ignored for quietstatus

func (*DummyStatus) SetTotal

func (ds *DummyStatus) SetTotal(v int64) Status

SetTotal sets the total of the progressbar, ignored for quietstatus

func (*DummyStatus) Start

func (ds *DummyStatus) Start()

Start is ignored for quietstatus

func (*DummyStatus) Total

func (ds *DummyStatus) Total() int64

Total returns the total number of bytes

func (*DummyStatus) Update

func (ds *DummyStatus) Update()

Update is ignored for quietstatus

type EmptyPath

type EmptyPath struct{}

EmptyPath (EINVAL) - invalid argument.

func (EmptyPath) Error

func (e EmptyPath) Error() string

type EventInfo

type EventInfo struct {
	Time      string
	Size      int64
	Path      string
	Type      EventType
	Host      string
	Port      string
	UserAgent string
}

EventInfo contains the information of the event that occurred and the source IP:PORT of the client which triggerred the event.

type EventType

type EventType string

EventType represents the type of the event occurred.

type Field

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

Field configuration: color theme and max content length

type GenericBucketError

type GenericBucketError struct {
	Bucket string
}

GenericBucketError - generic bucket operations error

type GenericFileError

type GenericFileError struct {
	Path string
}

GenericFileError - generic file error.

type ObjectAlreadyExists

type ObjectAlreadyExists struct {
	Object string
}

ObjectAlreadyExists - typed return for MethodNotAllowed

func (ObjectAlreadyExists) Error

func (e ObjectAlreadyExists) Error() string

type ObjectAlreadyExistsAsDirectory

type ObjectAlreadyExistsAsDirectory struct {
	Object string
}

ObjectAlreadyExistsAsDirectory - typed return for XMinioObjectExistsAsDirectory

func (ObjectAlreadyExistsAsDirectory) Error

type ObjectMissing

type ObjectMissing struct{}

ObjectMissing (EINVAL) - object key missing.

func (ObjectMissing) Error

func (e ObjectMissing) Error() string

type ObjectOnGlacier

type ObjectOnGlacier struct {
	Object string
}

ObjectOnGlacier - object is of storage class glacier.

func (ObjectOnGlacier) Error

func (e ObjectOnGlacier) Error() string

type ParallelManager

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

ParallelManager - helps manage parallel workers to run tasks

func (*ParallelManager) Read

func (p *ParallelManager) Read(b []byte) (n int, err error)

type PathInsufficientPermission

type PathInsufficientPermission GenericFileError

PathInsufficientPermission (EPERM) - permission denied.

func (PathInsufficientPermission) Error

type PathIsNotRegular

type PathIsNotRegular GenericFileError

PathIsNotRegular (ENOTREG) - file is not a regular file.

func (PathIsNotRegular) Error

func (e PathIsNotRegular) Error() string

type PathNotFound

type PathNotFound GenericFileError

PathNotFound (ENOENT) - file not found.

func (PathNotFound) Error

func (e PathNotFound) Error() string

type PrettyTable

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

PrettyTable - an easy struct to format a set of line

type Progress

type Progress interface {
	Get() int64
}

Progress - an interface which describes current amount of data written.

type ProgressReader

type ProgressReader interface {
	io.Reader
	Progress
}

ProgressReader can be used to update the progress of an on-going transfer progress.

type ProgressStatus

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

ProgressStatus shows a progressbar

func (*ProgressStatus) Add

func (ps *ProgressStatus) Add(v int64) Status

Add bytes to current number of bytes

func (*ProgressStatus) Finish

func (ps *ProgressStatus) Finish()

Finish displays the accounting summary

func (*ProgressStatus) PrintMsg

func (ps *ProgressStatus) PrintMsg(msg message)

PrintMsg prints message

func (*ProgressStatus) Println

func (ps *ProgressStatus) Println(data ...interface{})

Println prints line, ignored for quietstatus

func (*ProgressStatus) Read

func (ps *ProgressStatus) Read(p []byte) (n int, err error)

Read implements the io.Reader interface

func (ProgressStatus) Set64

func (p ProgressStatus) Set64(length int64) *progressBar

func (*ProgressStatus) SetCaption

func (ps *ProgressStatus) SetCaption(s string)

SetCaption sets the caption of the progressbar

func (*ProgressStatus) SetTotal

func (ps *ProgressStatus) SetTotal(v int64) Status

SetTotal sets the total of the progressbar

func (*ProgressStatus) Start

func (ps *ProgressStatus) Start()

Start is ignored for quietstatus

func (*ProgressStatus) Total

func (ps *ProgressStatus) Total() int64

Total returns the total number of bytes

func (*ProgressStatus) Update

func (ps *ProgressStatus) Update()

Update is ignored for quietstatus

type QuietStatus

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

QuietStatus will only show the progress and summary

func (*QuietStatus) Add

func (qs *QuietStatus) Add(v int64) Status

Add bytes to current number of bytes

func (*QuietStatus) Finish

func (qs *QuietStatus) Finish()

Finish displays the accounting summary

func (QuietStatus) Get

func (a QuietStatus) Get() int64

Get gets current value atomically

func (*QuietStatus) PrintMsg

func (qs *QuietStatus) PrintMsg(msg message)

PrintMsg prints message

func (*QuietStatus) Println

func (qs *QuietStatus) Println(data ...interface{})

Println prints line, ignored for quietstatus

func (*QuietStatus) Read

func (qs *QuietStatus) Read(p []byte) (n int, err error)

Read implements the io.Reader interface

func (QuietStatus) Set

func (a QuietStatus) Set(n int64) *accounter

Set sets the current value atomically.

func (*QuietStatus) SetCaption

func (qs *QuietStatus) SetCaption(s string)

SetCaption sets the caption of the progressbar, ignored for quietstatus

func (*QuietStatus) SetTotal

func (qs *QuietStatus) SetTotal(v int64) Status

SetTotal sets the total of the progressbar, ignored for quietstatus

func (*QuietStatus) Start

func (qs *QuietStatus) Start()

Start is ignored for quietstatus

func (QuietStatus) Stat

func (a QuietStatus) Stat() accountStat

Stat provides current stats captured.

func (*QuietStatus) Total

func (qs *QuietStatus) Total() int64

Total returns the total number of bytes

func (*QuietStatus) Update

func (qs *QuietStatus) Update()

Update is ignored for quietstatus

type SameFile

type SameFile struct {
	Source, Destination string
}

SameFile - source and destination are same files.

func (SameFile) Error

func (e SameFile) Error() string

type ServerInfo

type ServerInfo struct {
	StorageInfo backendStatus           `json:"storage"`
	ConnStats   madmin.ServerConnStats  `json:"network"`
	Properties  madmin.ServerProperties `json:"server"`
}

ServerInfo holds the whole server information that will be returned by ServerInfo API.

type Status

type Status interface {
	Println(data ...interface{})
	Add(int64) Status
	Get() int64
	Start()
	Finish()

	PrintMsg(msg message)

	Update()
	Total() int64
	SetTotal(int64) Status
	SetCaption(string)

	Read(p []byte) (n int, err error)
	// contains filtered or unexported methods
}

Status implements a interface that can be used in quit mode or with progressbar.

func NewDummyStatus

func NewDummyStatus(hook io.Reader) Status

NewDummyStatus returns a dummy status object

func NewProgressStatus

func NewProgressStatus(hook io.Reader) Status

NewProgressStatus returns a progress status object

func NewQuietStatus

func NewQuietStatus(hook io.Reader) Status

NewQuietStatus returns a quiet status object

type TooManyLevelsSymlink GenericFileError

TooManyLevelsSymlink (ELOOP) - file has too many levels of symlinks.

func (TooManyLevelsSymlink) Error

func (e TooManyLevelsSymlink) Error() string

type URLs

type URLs struct {
	SourceAlias   string
	SourceContent *clientContent
	TargetAlias   string
	TargetContent *clientContent
	TotalCount    int64
	TotalSize     int64

	SrcSSEKey string
	TgtSSEKey string
	Error     *probe.Error `json:"-"`
	// contains filtered or unexported fields
}

URLs contains source and target urls

func (URLs) Equal

func (m URLs) Equal(n URLs) bool

Equal tests if both urls are equal

func (URLs) WithError

func (m URLs) WithError(err *probe.Error) URLs

WithError sets the error and returns object

type UnexpectedEOF

type UnexpectedEOF struct {
	TotalSize    int64
	TotalWritten int64
}

UnexpectedEOF (EPIPE) - reader closed prematurely.

func (UnexpectedEOF) Error

func (e UnexpectedEOF) Error() string

type UnexpectedExcessRead

type UnexpectedExcessRead UnexpectedEOF

UnexpectedExcessRead - reader wrote more data than requested.

func (UnexpectedExcessRead) Error

func (e UnexpectedExcessRead) Error() string

type UnexpectedShortWrite

type UnexpectedShortWrite struct {
	InputSize int
	WriteSize int
}

UnexpectedShortWrite - write wrote less bytes than expected.

func (UnexpectedShortWrite) Error

func (e UnexpectedShortWrite) Error() string

type Watcher

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

Watcher can be used to have one or multiple clients watch for notifications

func NewWatcher

func NewWatcher(sessionStartTime time.Time) *Watcher

NewWatcher creates a new watcher

func (*Watcher) Errors

func (w *Watcher) Errors() chan *probe.Error

Errors returns a channel which will receive errors

func (*Watcher) Events

func (w *Watcher) Events() chan EventInfo

Events returns a channel which will receive events

func (*Watcher) Join

func (w *Watcher) Join(client Client, recursive bool) *probe.Error

Join the watcher with client

func (*Watcher) Stop

func (w *Watcher) Stop()

Stop watcher

func (*Watcher) Wait

func (w *Watcher) Wait()

Wait for watcher to wait

func (*Watcher) Watching

func (w *Watcher) Watching() bool

Watching returns if the watcher is watching for notifications

Source Files

Jump to

Keyboard shortcuts

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