Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrUnsupported = errors.New("unsupported connection")
Functions ¶
func UniqueNamespaces ¶
func Unsupported ¶
func Unsupported(c model.Connection) error
Types ¶
type AgentProviderFactory ¶
type AgentProviderFactory interface {
ProviderForAgent(connection model.Connection) (Provider, error)
}
type DirectFactory ¶
type DirectFactory struct {
Secrets *store.SecretStore
Settings func() model.Settings
Agents AgentProviderFactory
}
func (*DirectFactory) ProviderFor ¶
func (f *DirectFactory) ProviderFor(connection model.Connection) (Provider, error)
type Factory ¶
type Factory interface {
ProviderFor(connection model.Connection) (Provider, error)
}
type Provider ¶
type Provider interface {
Test(ctx context.Context) (model.ProviderInfo, error)
Namespaces(ctx context.Context) ([]string, error)
ListWorkloads(ctx context.Context) ([]model.Workload, error)
ListMetrics(ctx context.Context) ([]model.WorkloadMetric, error)
Stream(ctx context.Context, request model.StreamRequest, out chan<- model.ActivityRecord) error
StreamMetrics(ctx context.Context, request model.MetricRequest, out chan<- model.WorkloadMetric) error
}
func NewDockerProvider ¶
func NewDockerProvider(connection model.Connection, secrets *store.SecretStore) (Provider, error)
func NewDockerRuntimeProvider ¶
func NewDockerRuntimeProvider(connectionID, name, endpoint string, material dockerapi.TLSMaterial) (Provider, error)
NewDockerRuntimeProvider creates a Docker provider for the remote agent. It accepts already-loaded TLS material because the agent reads secrets from its local filesystem or environment rather than Runwake's encrypted store.
type WorkloadStreamer ¶
type WorkloadStreamer interface {
StreamWorkloads(ctx context.Context, out chan<- model.Workload) error
}
WorkloadStreamer is an optional provider capability used by the workload inventory endpoint. Providers that implement it can surface each workload as soon as its backing runtime returns it instead of waiting for a full snapshot.
Click to show internal directories.
Click to hide internal directories.