Version: v4.2.0-alpha.0+incompa... Latest Latest

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

Go to latest
Published: Aug 2, 2019 License: Apache-2.0 Imports: 40 Imported by: 8




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


This section is empty.


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


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

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.


Path Synopsis
Package fsnotification provides helper functions that wrap the fsnotify filesystem notification package.
Package fsnotification provides helper functions that wrap the fsnotify filesystem notification package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL