nodeattestor

package
v1.16.0 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2026 License: Apache-2.0 Imports: 13 Imported by: 3

Documentation

Index

Constants

View Source
const (
	// This header contains the value of the gRPC :authority pseudo-header as received from the client.
	// Warning: This value is set by the client and is not authenticated or validated by SPIRE.
	// It must not be used for security decisions (such as authentication, authorization, or trust domain selection) in attestor plugins without threat assessment.
	// Valid uses include diagnostics, logging, or configuration side-loading
	XForwardedHostKey = "X-Untrusted-Forwarded-Host"

	// XForwardedClientIPKey is the metadata key for the client IP address observed by the server.
	// Note: This reflects the immediate connecting peer, and may not represent the true client origin
	// in scenarios including load balancers and other middlebox patterns
	XForwardedClientIPKey = "X-Forwarded-Client-IP"
)

Variables

This section is empty.

Functions

func ClientIPFromContext added in v1.16.0

func ClientIPFromContext(ctx context.Context, log hclog.Logger) string

ClientIPFromContext returns the client IP observed by the server, as forwarded to the plugin under XForwardedClientIPKey. It returns an empty string when the server could not determine the IP. Plugins that verify the client IP share this so they read the metadata the same way.

Types

type AttestResult added in v1.0.0

type AttestResult struct {
	AgentID     string
	Selectors   []*common.Selector
	CanReattest bool
}

type NodeAttestor

type NodeAttestor interface {
	catalog.PluginInfo

	Attest(ctx context.Context, payload []byte, challengeFn func(ctx context.Context, challenge []byte) ([]byte, error)) (*AttestResult, error)
}

type Repository added in v1.0.0

type Repository struct {
	NodeAttestors map[string]NodeAttestor
}

func (*Repository) Clear added in v1.0.0

func (repo *Repository) Clear()

func (*Repository) GetNodeAttestorNamed added in v1.0.0

func (repo *Repository) GetNodeAttestorNamed(name string) (NodeAttestor, bool)

func (*Repository) SetNodeAttestor added in v1.0.0

func (repo *Repository) SetNodeAttestor(nodeAttestor NodeAttestor)

type V1 added in v1.0.0

func (*V1) Attest added in v1.0.0

func (v1 *V1) Attest(ctx context.Context, payload []byte, challengeFn func(ctx context.Context, challenge []byte) ([]byte, error)) (*AttestResult, error)

Jump to

Keyboard shortcuts

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