probe

package
v0.0.0-...-841f565 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const Type = "probe"

Type is the string value of the Target type

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	Artifact *Artifact
	Target   *Target
	Logger   logz.FieldLogger
}

Action is th executor for implementing a network probe

func (Action) Execute

func (a Action) Execute(_ context.Context) (err error)

Execute runs the action and produces a probe.Artifact

func (*Action) UseLogger

func (a *Action) UseLogger(logger logz.FieldLogger)

UseLogger injects a logger into the target's action

type Artifact

type Artifact struct {
	ark.RawArtifact `mapstructure:",squash"`
}

Artifact the result of a successful actions.Probe

func (Artifact) Cacheable

func (a Artifact) Cacheable() bool

Cacheable always returns false because probes are situational and should not be cacheable

func (Artifact) LocallyCached

func (a Artifact) LocallyCached(_ context.Context) (bool, error)

LocallyCached always returns false because the target is not cacheable

func (Artifact) Pull

func (a Artifact) Pull(_ context.Context) error

Pull does not do anything

func (Artifact) Push

func (a Artifact) Push(_ context.Context) error

Push does not do anything

func (Artifact) RemotelyCached

func (a Artifact) RemotelyCached(_ context.Context) (bool, error)

RemotelyCached always returns false because the target is not cacheable

type Target

type Target struct {
	ark.RawTarget  `mapstructure:",squash"`
	DialAddress    string `json:"address" mapstructure:"address"`
	Timeout        string `json:"timeout" mapstructure:"timeout"`
	Delay          string `json:"delay" mapstructure:"delay"`
	MaxRetries     int    `json:"maxRetries" mapstructure:"maxRetries"`
	ExpectedStatus int    `json:"expectedStatus" mapstructure:"expectedStatus"`
}

Target expresses the intention to implement a Probe target

func (*Target) Produce

func (t *Target) Produce(checksum hash.Hash) (ark.Artifact, error)

Produce should produce Artifact

func (*Target) Validate

func (t *Target) Validate() error

Validate checks if the Target fields are valid

Jump to

Keyboard shortcuts

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