mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-06-14 15:30:16 +00:00
fix: don't use pointers in interfaces
This commit is contained in:
@@ -15,11 +15,16 @@ func (app *BootstrapApp) setupServices() error {
|
||||
return fmt.Errorf("failed to setup policy engine: %w", err)
|
||||
}
|
||||
|
||||
err = app.dig.Provide(app.getLabelProvider)
|
||||
labelProvider, err := app.getLabelProvider()
|
||||
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to provide label provider: %w", err)
|
||||
return fmt.Errorf("failed to get label provider: %w", err)
|
||||
}
|
||||
|
||||
err = app.dig.Provide(func() service.LabelProvider {
|
||||
return labelProvider
|
||||
})
|
||||
|
||||
err = app.dig.Provide(service.NewLdapService)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to provide ldap service: %w", err)
|
||||
@@ -107,6 +112,15 @@ func (app *BootstrapApp) getLabelProvider() (service.LabelProvider, error) {
|
||||
return nil, fmt.Errorf("failed to invoke kubernetes service: %w", err)
|
||||
}
|
||||
|
||||
// Kubernetes will fail to initialize with an error if it cannot connect to the cluster
|
||||
// but just to be safe, we check if the service is nil and log a warning if it is
|
||||
if app.services.kubernetesService == nil {
|
||||
if app.config.LabelProvider == "kubernetes" {
|
||||
app.log.App.Warn().Msg("Kubernetes label provider selected but Kubernetes is not available, will continue without it")
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return app.services.kubernetesService, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ type LabelProvider interface {
|
||||
type AccessControlsService struct {
|
||||
log *logger.Logger
|
||||
config *model.Config
|
||||
labelProvider *LabelProvider
|
||||
labelProvider LabelProvider
|
||||
}
|
||||
|
||||
type AccessControlServiceInput struct {
|
||||
@@ -23,7 +23,7 @@ type AccessControlServiceInput struct {
|
||||
|
||||
Log *logger.Logger
|
||||
Config *model.Config
|
||||
LabelProvider *LabelProvider `optional:"true"`
|
||||
LabelProvider LabelProvider `optional:"true"`
|
||||
}
|
||||
|
||||
func NewAccessControlsService(i AccessControlServiceInput) *AccessControlsService {
|
||||
@@ -63,8 +63,8 @@ func (service *AccessControlsService) GetAccessControls(domain string) (*model.A
|
||||
}
|
||||
|
||||
// If we have a label provider configured, try to get ACLs from it
|
||||
if service.labelProvider != nil && *service.labelProvider != nil {
|
||||
return (*service.labelProvider).GetLabels(domain)
|
||||
if service.labelProvider != nil {
|
||||
return service.labelProvider.GetLabels(domain)
|
||||
}
|
||||
|
||||
// no labels
|
||||
|
||||
Reference in New Issue
Block a user