connector

package
v0.14.3-rc.1 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2024 License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConnectorVersion string

ConnectorVersion stores the version of the ShellHub Instane that is running the connector. It is used in the ShellHub Agents initialized by the connector when a container is started.

Functions

This section is empty.

Types

type Connector

type Connector interface {
	// List lists all containers running on the host.
	List(ctx context.Context) ([]Container, error)
	// Start starts the agent for the container with the given ID.
	Start(ctx context.Context, id string, name string)
	// Stop stops the agent for the container with the given ID.
	Stop(ctx context.Context, id string)
	// Listen listens for events and starts or stops the agent for the container that was created or removed.
	Listen(ctx context.Context) error
}

Connector is an interface that defines the methods that a connector must implement.

func NewDockerConnector

func NewDockerConnector(server string, tenant string, privateKey string) (Connector, error)

NewDockerConnector creates a new Connector that uses Docker as the container runtime.

type Container

type Container struct {
	// ID is the container ID.
	ID string
	// Name is the container name.
	Name string
	// ServerAddress is the ShellHub address of the server that the agent will connect to.
	ServerAddress string
	// Tenant is the tenant ID of the namespace that the agent belongs to.
	Tenant string
	// PrivateKey is the private key of the device. Specify the path to store the container private key. If not
	// provided, the agent will generate a new one. This is required.
	PrivateKey string
	// Cancel is a function that is used to stop the goroutine that is running the agent for this container.
	Cancel context.CancelFunc
}

Container is a struct that represents a container that will be managed by the connector.

type DockerConnector

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

DockerConnector is a struct that represents a connector that uses Docker as the container runtime.

func (*DockerConnector) List

func (d *DockerConnector) List(ctx context.Context) ([]Container, error)

func (*DockerConnector) Listen

func (d *DockerConnector) Listen(ctx context.Context) error

Listen listens for events and starts or stops the agent for the containers.

func (*DockerConnector) Start

func (d *DockerConnector) Start(ctx context.Context, id string, name string)

Start starts the agent for the container with the given ID.

func (*DockerConnector) Stop

func (d *DockerConnector) Stop(_ context.Context, id string)

Stop stops the agent for the container with the given ID.

Jump to

Keyboard shortcuts

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