broker

package
v1.15.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AllowedReferenceType

type AllowedReferenceType struct {
	// TypeURL is the verbatim protobuf type URL. The wildcard `"*"` allows
	// any reference type.
	TypeURL string

	// AllowOverTCP permits this reference type over TCP. When false, the
	// reference type is only allowed over UDS.
	AllowOverTCP bool
}

AllowedReferenceType describes a WorkloadReference type the broker may use.

type Broker

type Broker struct {
	// ID is the SPIFFE ID of the broker. Cross-trust-domain broker
	// identities are allowed.
	ID string

	// AllowedReferenceTypes restricts which WorkloadReference types this
	// broker is permitted to use. Each entry is the verbatim protobuf type
	// URL the workload attestor plugin matches against (e.g.
	// `type.googleapis.com/spiffe.broker.KubernetesObjectReference`). Use
	// `"*"` to allow any reference type this agent's workload attestor stack
	// understands. Must list at least one entry.
	AllowedReferenceTypes []AllowedReferenceType
}

Broker identifies a broker authorized to talk to the SPIFFE Broker API endpoint, and carries any per-broker configuration.

type Config

type Config struct {
	// BindAddrs are the addresses the endpoint listens on. Each may be a
	// `*net.UnixAddr` or a `*net.TCPAddr`; the same gRPC server (and same
	// mTLS configuration) is fanned out across all of them.
	BindAddrs []net.Addr

	Manager manager.Manager

	Log logrus.FieldLogger

	Metrics telemetry.Metrics

	Attestor attestor.Attestor

	// Brokers enumerates the brokers authorized to talk to this endpoint.
	// mTLS at the listener gates the set; brokers absent from it are
	// rejected at the TLS layer.
	Brokers []Broker

	SVIDSource   x509svid.Source
	BundleSource x509bundle.Source

	// TLSPolicy controls the post-quantum-safe TLS policy applied to the
	// inbound mTLS listener.
	TLSPolicy tlspolicy.Policy
}

type Endpoints

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

func New

func New(c *Config) (*Endpoints, error)

func (*Endpoints) ListenAndServe

func (e *Endpoints) ListenAndServe(ctx context.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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