rsync

package
v4.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: May 1, 2019 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RsyncDaemonStartTimeOut = 10 * time.Second
)
View Source
const (
	// RsyncRecommendedName is the recommended name for the rsync command
	RsyncRecommendedName = "rsync"
)

Variables

This section is empty.

Functions

func DefaultRsyncRemoteShellToUse

func DefaultRsyncRemoteShellToUse(cmd *cobra.Command) string

func NewCmdRsync

func NewCmdRsync(name, parent string, f kcmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command

NewCmdRsync creates a new sync command

Types

type CopyStrategy

type CopyStrategy interface {
	Copy(source, destination *PathSpec, out, errOut io.Writer) error
	Validate() error
	String() string
}

CopyStrategy implementations copy file to/from a pod.

func NewDefaultCopyStrategy

func NewDefaultCopyStrategy(o *RsyncOptions) CopyStrategy

NewDefaultCopyStrategy returns a copy strategy that to uses rsync and falls back to tar if needed.

func NewRsyncDaemonStrategy

func NewRsyncDaemonStrategy(o *RsyncOptions) CopyStrategy

NewRsyncDaemonStrategy returns a copy strategy that starts and uses an rsync daemon in the remote pod.

func NewRsyncStrategy

func NewRsyncStrategy(o *RsyncOptions) CopyStrategy

NewRsyncStrategy returns a copy strategy that uses rsync.

func NewTarStrategy

func NewTarStrategy(o *RsyncOptions) CopyStrategy

NewTarStrategy returns a copy strategy that uses tar.

type PathSpec

type PathSpec struct {
	PodName string
	Path    string
}

PathSpec represents a path (remote or local) given as a source or destination argument to the rsync command

func (*PathSpec) Local

func (s *PathSpec) Local() bool

Local returns true if the path is a local machine path

func (*PathSpec) RsyncPath

func (s *PathSpec) RsyncPath() string

RsyncPath returns a pathSpec in the form that can be used directly by the OS rsync command

func (*PathSpec) Validate

func (s *PathSpec) Validate() error

Validate returns an error if the pathSpec is not valid.

type RsyncOptions

type RsyncOptions struct {
	Namespace         string
	ContainerName     string
	Source            *PathSpec
	Destination       *PathSpec
	Strategy          CopyStrategy
	StrategyName      string
	Quiet             bool
	Delete            bool
	Watch             bool
	Compress          bool
	SuggestedCmdUsage string

	RshCmd        string
	RsyncInclude  []string
	RsyncExclude  []string
	RsyncProgress bool
	RsyncNoPerms  bool

	Config *rest.Config
	Client kubernetes.Interface
	genericclioptions.IOStreams
}

RsyncOptions holds the options to execute the sync command

func NewRsyncOptions

func NewRsyncOptions(streams genericclioptions.IOStreams) *RsyncOptions

func (*RsyncOptions) Complete

func (o *RsyncOptions) Complete(f kcmdutil.Factory, cmd *cobra.Command, args []string) error

Complete verifies command line arguments and loads data from the command environment

func (*RsyncOptions) GetCopyStrategy

func (o *RsyncOptions) GetCopyStrategy(name string) (CopyStrategy, error)

func (*RsyncOptions) PodName

func (o *RsyncOptions) PodName() string

PodName returns the name of the pod as specified in either the the source or destination arguments

func (*RsyncOptions) RunRsync

func (o *RsyncOptions) RunRsync() error

RunRsync copies files from source to destination

func (*RsyncOptions) Validate

func (o *RsyncOptions) Validate() error

Validate checks that SyncOptions has all necessary fields

func (*RsyncOptions) WatchAndSync

func (o *RsyncOptions) WatchAndSync() error

WatchAndSync sets up a recursive filesystem watch on the sync path and invokes rsync each time the path changes.

Jump to

Keyboard shortcuts

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