cli

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2026 License: Apache-2.0 Imports: 49 Imported by: 75

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddCommand added in v0.2.71

func AddCommand(mainCMD *cobra.Command, v *viper.Viper, schema *field.Configuration, subCMD *cobra.Command) (*cobra.Command, error)

func AdditionalCommands added in v0.2.0

func AdditionalCommands(_ string, _ []field.SchemaField) []*cobra.Command

func MakeCapabilitiesCommand added in v0.2.0

func MakeCapabilitiesCommand[T field.Configurable](
	ctx context.Context,
	name string,
	v *viper.Viper,
	confschema field.Configuration,
	getconnector GetConnectorFunc2[T],
	opts ...connectorrunner.Option,
) func(*cobra.Command, []string) error

func MakeConfigSchemaCommand added in v0.2.68

func MakeConfigSchemaCommand[T field.Configurable](
	ctx context.Context,
	name string,
	v *viper.Viper,
	confschema field.Configuration,
	getconnector GetConnectorFunc2[T],
) func(*cobra.Command, []string) error

func MakeGRPCServerCommand added in v0.2.0

func MakeGRPCServerCommand[T field.Configurable](
	ctx context.Context,
	name string,
	v *viper.Viper,
	confschema field.Configuration,
	getconnector GetConnectorFunc2[T],
) func(*cobra.Command, []string) error

func MakeGenericConfiguration added in v0.2.71

func MakeGenericConfiguration[T field.Configurable](v *viper.Viper, opts ...field.DecodeHookOption) (T, error)

func MakeHealthCheckCommand added in v0.7.6

func MakeHealthCheckCommand(
	ctx context.Context,
	v *viper.Viper,
) func(*cobra.Command, []string) error

func MakeMainCommand added in v0.2.0

func MakeMainCommand[T field.Configurable](
	ctx context.Context,
	name string,
	v *viper.Viper,
	confschema field.Configuration,
	getconnector GetConnectorFunc2[T],
	opts ...connectorrunner.Option,
) func(*cobra.Command, []string) error

func NewLazyCachingSessionStore added in v0.5.7

func NewLazyCachingSessionStore(constructor sessions.SessionStoreConstructor, otterAdjuster OtterAdjuster) *lazyCachingSessionStore

func OptionallyAddLambdaCommand added in v0.2.71

func OptionallyAddLambdaCommand[T field.Configurable](
	ctx context.Context,
	name string,
	v *viper.Viper,
	getconnector GetConnectorFunc2[T],
	connectorSchema field.Configuration,
	mainCmd *cobra.Command,
	sessionStoreEnabled bool,
) error

func SetFlagsAndConstraints added in v0.2.71

func SetFlagsAndConstraints(command *cobra.Command, schema field.Configuration) error

func VisitFlags added in v0.2.71

func VisitFlags(cmd *cobra.Command, v *viper.Viper)

NOTE(shackra): Set all values from Viper to the flags so... that Cobra won't complain that a flag is missing in case we... pass values through environment variables.

func WithSessionCache added in v0.3.58

func WithSessionCache(ctx context.Context, constructor sessions.SessionStoreConstructor) (context.Context, error)

WithSessionCache creates a session cache using the provided constructor and adds it to the context.

Types

type ConnectorOpts added in v0.5.0

type ConnectorOpts struct {
	TokenSource        oauth2.TokenSource
	SelectedAuthMethod string

	// SyncResourceTypeIDs is the set of resource type IDs the user has requested
	// to sync. An empty slice means "sync everything the connector advertises"
	// (subject to OptInRequired{} annotations on resource types). A non-empty
	// slice means "sync only these types; skip everything else." Connectors
	// should prefer the helper methods (WillSyncResourceType,
	// SyncFilterIsExplicit, SyncResourceTypeSet) over reading this slice
	// directly.
	SyncResourceTypeIDs []string

	// EgressPolicy carries the server-computed egress policy delivered on the
	// connector-config response, when one is present. It is nil for connectors
	// served without a policy envelope; the connector decides how (and whether)
	// to enforce it.
	EgressPolicy *EgressPolicy
	// contains filtered or unexported fields
}

ConnectorOpts holds runtime options passed to a connector at initialization time.

func (*ConnectorOpts) SyncFilterIsExplicit added in v0.8.28

func (o *ConnectorOpts) SyncFilterIsExplicit() bool

SyncFilterIsExplicit reports whether the user has explicitly narrowed the set of resource types to sync. Returns false when SyncResourceTypeIDs is empty, meaning "sync all types the connector advertises".

func (*ConnectorOpts) SyncResourceTypeSet added in v0.8.28

func (o *ConnectorOpts) SyncResourceTypeSet() map[string]struct{}

SyncResourceTypeSet returns the user's selection as a set for O(1) lookup, or nil if no filter was specified (meaning all resource types should be synced). The set is computed lazily on first call and cached for subsequent calls.

func (*ConnectorOpts) WillSyncResourceType added in v0.8.28

func (o *ConnectorOpts) WillSyncResourceType(resourceTypeID string) bool

WillSyncResourceType reports whether the given resource type ID will be synced under the current configuration. Returns true when the user has not specified any filter (the "default to all" case).

type ContrainstSetter added in v0.2.71

type ContrainstSetter func(*cobra.Command, field.Configuration) error

type EgressPolicy added in v0.20.8

type EgressPolicy struct {
	// AllowedHosts is the effective per-instance egress allowlist (canonical
	// hostnames). A non-nil *EgressPolicy with empty AllowedHosts is a valid
	// deny-all policy.
	AllowedHosts []string
	// HTTPSOnly reports whether the runtime must refuse non-https egress.
	HTTPSOnly bool
	// Enforce reports whether AllowedHosts is a deny-gate rather than an
	// observed-and-reported allowlist. The wire carries an enum; narrowing it to
	// a bool here keeps an unrecognized future posture from reaching a runtime
	// that would have to guess at it — anything but an explicit enforce observes.
	Enforce bool
}

EgressPolicy is the connector-facing projection of a served-policy envelope's egress section: the fields a connector runtime needs to enforce egress, extracted after the SDK verified the envelope's binding to this response. The envelope's digests, versions, and capability section are not surfaced — they are the SDK's contract to verify, not the connector's.

type GetConnectorFunc added in v0.2.0

type GetConnectorFunc[T field.Configurable] func(ctx context.Context, cfg T) (types.ConnectorServer, error)

GetConnectorFunc is a function type that creates a connector instance. It takes a context and configuration. The session cache constructor is retrieved from the context.

type GetConnectorFunc2 added in v0.5.0

type GetConnectorFunc2[T field.Configurable] func(ctx context.Context, cfg T, runTimeOpts RunTimeOpts) (types.ConnectorServer, error)

type NewConnector added in v0.5.0

type OtterAdjuster added in v0.5.7

type OtterAdjuster func(otterOptions *otter.Options[string, []byte])

type RunTimeOpts added in v0.5.0

type RunTimeOpts struct {
	SessionStore        sessions.SessionStore
	TokenSource         oauth2.TokenSource
	SelectedAuthMethod  string
	SyncResourceTypeIDs []string
	// EgressPolicy carries the server-computed egress policy delivered on the
	// connector-config response, when one is present. It is nil for connectors
	// served without a policy envelope; the connector decides how (and whether)
	// to enforce it.
	EgressPolicy *EgressPolicy
}

Jump to

Keyboard shortcuts

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