process

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package process hosts explicitly authorized executable adapters. A child process provides lifecycle separation, not an operating-system sandbox.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Adapter

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

func Load

func Load(path string) (*Adapter, error)

Load validates a bounded manifest without running its executable.

func New

func New(m Manifest) (*Adapter, error)

New validates metadata using the same rules as compiled adapters.

func (*Adapter) Check

func (a *Adapter) Check(ctx context.Context, r core.Request, dimension string) (obs core.Observation, err error)

Check launches one process per dimension; the engine owns aggregation, active-check authorization, retries, timing and output diagnostics.

func (*Adapter) Metadata

func (a *Adapter) Metadata() core.Metadata

type Event

type Event struct {
	Kind   string      `json:"kind"`
	Status core.Status `json:"status,omitempty"`
}

Event is either a response marker or one final normalized status. Mark response immediately on receipt of any target response, before reading it.

type Manifest

type Manifest struct {
	Protocol string        `json:"protocol"`
	Command  string        `json:"command"`
	SHA256   string        `json:"sha256"`
	Metadata core.Metadata `json:"metadata"`
}

Manifest is operator-controlled configuration, separate from target YAML. Command must be an absolute path; SHA256 pins its bytes, not its dependencies.

type WireRequest

type WireRequest struct {
	Protocol   string `json:"protocol"`
	Dimension  string `json:"dimension"`
	Name       string `json:"name"`
	Type       string `json:"type"`
	Endpoint   string `json:"endpoint"`
	Credential string `json:"credential,omitempty"`
}

WireRequest intentionally exposes only the selected target's identity, endpoint and explicitly configured bearer credential. No graph or environment is inherited. Checks requiring richer protocol configuration use compiled adapters.

Jump to

Keyboard shortcuts

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