Help us shape the future of Go! Take the 2026 Go Developer Survey

entra

package
v0.0.0-...-549d4bb Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PluginName string = "entra"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Enabled bool `json:"enabled"`
	// TenantID, ClientID, ClientSecret identify the Entra ID app registration
	// used for the client-credentials (app-only) Graph API flow.
	TenantID     string `json:"tenant_id"`
	ClientID     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`

	PollIntervalSeconds int `json:"poll_interval_seconds"`

	// Directory object/relation type names that synced users, groups, and
	// group memberships are written under.
	UserObjectType  string `json:"user_object_type"`
	GroupObjectType string `json:"group_object_type"`
	MemberRelation  string `json:"member_relation"`
}

type Plugin

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

func (*Plugin) Reconfigure

func (p *Plugin) Reconfigure(ctx context.Context, config any)

func (*Plugin) Start

func (p *Plugin) Start(ctx context.Context) error

Start must report StateOK and must not block on sync. The OPA runtime only becomes ready once every registered plugin reports StateOK, and topaz's own reader/writer gRPC services only start serving after the runtime is ready. Waiting for a successful sync before reporting OK therefore deadlocks: the sync cannot reach the writer, and the writer cannot start until the sync reports OK. This matches the pattern the edge plugin (topazd/authorizer/plugins/edge) already uses.

func (*Plugin) Stop

func (p *Plugin) Stop(ctx context.Context)

type PluginFactory

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

func NewPluginFactory

func NewPluginFactory(ctx context.Context, logger *zerolog.Logger, dsConn *grpc.ClientConn) PluginFactory

func (PluginFactory) New

func (f PluginFactory) New(pm *plugins.Manager, config any) plugins.Plugin

func (PluginFactory) Validate

func (PluginFactory) Validate(pm *plugins.Manager, config []byte) (any, error)

Jump to

Keyboard shortcuts

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