package ssh

import "github.com/purpleidea/mgmt/etcd/ssh"

Package ssh transports etcd traffic over SSH to provide a special World API.

Index

Types

type World

type World struct {
	// URL is the ssh server to connect to. Use the format, james@server:22
	// or similar. From there, we connect to each of the etcd Seeds, so the
	// ip's should be relative to this server.
	URL string

	// SshID is the path to the ~/.ssh/id_rsa or ~/.ssh/id_ed25519 to use
	// for auth. If you omit this then this will look for your private key
	// in both of those default paths. If you specific a specific path, then
	// that will only be used. This will expand the ~/ and ~user/ style path
	// expansions.
	SshID string

	// Seeds are the list of etcd endpoints to connect to.
	Seeds []string

	// NS is the etcd namespace to use.
	NS string

	MetadataPrefix string    // expected metadata prefix
	StoragePrefix  string    // storage prefix for etcdfs storage
	StandaloneFs   engine.Fs // store an fs here for local usage
	GetURI         func() string

	*etcd.World
	// contains filtered or unexported fields
}

World is an implementation of the world API for etcd over SSH.

func (*World) Close

func (obj *World) Close() error

Close runs last.

func (*World) Init

func (obj *World) Init(init *engine.WorldInit) error

Init runs first.

Source Files

ssh.go

Version
v0.0.0-20250322185616-c50a578426f1 (latest)
Published
Mar 22, 2025
Platform
linux/amd64
Imports
17 packages
Last checked
4 days ago

Tools for package owners.