feat: initial tailscale backend

This commit is contained in:
Stavros
2026-04-28 18:16:55 +03:00
parent d73cc628fb
commit a5677d2558
8 changed files with 409 additions and 28 deletions
+24
View File
@@ -1,6 +1,8 @@
package bootstrap
import (
"fmt"
"github.com/tinyauthapp/tinyauth/internal/repository"
"github.com/tinyauthapp/tinyauth/internal/service"
"github.com/tinyauthapp/tinyauth/internal/utils/tlog"
@@ -13,6 +15,7 @@ type Services struct {
ldapService *service.LdapService
oauthBrokerService *service.OAuthBrokerService
oidcService *service.OIDCService
tailscaleService *service.TailscaleService
}
func (app *BootstrapApp) initServices(queries *repository.Queries) (Services, error) {
@@ -68,6 +71,27 @@ func (app *BootstrapApp) initServices(queries *repository.Queries) (Services, er
services.oauthBrokerService = oauthBrokerService
tailscaleHostname := app.config.Tailscale.Hostname
if tailscaleHostname == "" {
tailscaleHostname = fmt.Sprintf("tinyauth-%s", app.context.uuid)
}
tailscaleService := service.NewTailscaleService(service.TailscaleServiceConfig{
Dir: app.config.Tailscale.Dir,
Hostname: tailscaleHostname,
AuthKey: app.config.Tailscale.AuthKey,
})
err = tailscaleService.Init()
if err != nil {
tlog.App.Warn().Err(err).Msg("Failed to setup Tailscale service, starting without it")
tailscaleService.Destroy()
} else {
services.tailscaleService = tailscaleService
}
authService := service.NewAuthService(service.AuthServiceConfig{
Users: app.context.users,
OauthWhitelist: app.config.OAuth.Whitelist,