package supplier import ( "context" ) func Reconcile(ctx context.Context, sp ServiceProviderSupplier, kc KeycloakSupplier) error { if err := sp.StartSession(ctx); err != nil { return err } defer sp.CloseSession() if err := sp.InstallOrUpdate(); err != nil { return err } if err := sp.Enable(); err != nil { return err } username, password, err := sp.GenerateCredentials() if err != nil { return err } return kc.Reconcile(ctx, ScimClient{ Name: sp.Name(), Endpoint: sp.ScimEndpoint(), Username: username, Password: password, }) }