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) Start ¶
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.
type PluginFactory ¶
type PluginFactory struct {
// contains filtered or unexported fields
}
func NewPluginFactory ¶
func NewPluginFactory(ctx context.Context, logger *zerolog.Logger, dsConn *grpc.ClientConn) PluginFactory
Click to show internal directories.
Click to hide internal directories.