Refactor architecture: eliminate auto-discovery and consolidate packages
- Remove auto-discovery entirely (~450 lines) * Delete internal/content/discoverer.go * Simplify enhancer to single-phase processing * Remove duplicate container expansion logic - Consolidate repository implementations * Move internal/content/client.go → internal/db/http_client.go * Group all repository implementations in db/ package - Add file utilities to engine following Go stdlib patterns * Add engine.ProcessFile() and ProcessDirectory() methods * Engine now handles both content processing AND file operations - Move site management to dedicated package * Move internal/content/site_manager.go → internal/sites/manager.go * Clear separation of site lifecycle from content processing - Preserve container expansion (syntactic sugar) * .insertr on containers still auto-applies to viable children * Container detection logic consolidated in engine/utils.go Result: Clean architecture with single source of truth for .insertr processing
This commit is contained in:
10
cmd/serve.go
10
cmd/serve.go
@@ -17,9 +17,9 @@ import (
|
||||
"github.com/insertr/insertr/internal/api"
|
||||
"github.com/insertr/insertr/internal/auth"
|
||||
"github.com/insertr/insertr/internal/config"
|
||||
"github.com/insertr/insertr/internal/content"
|
||||
"github.com/insertr/insertr/internal/db"
|
||||
"github.com/insertr/insertr/internal/engine"
|
||||
"github.com/insertr/insertr/internal/sites"
|
||||
)
|
||||
|
||||
var serveCmd = &cobra.Command{
|
||||
@@ -76,14 +76,14 @@ func runServe(cmd *cobra.Command, args []string) {
|
||||
}
|
||||
|
||||
// Create legacy auth config for compatibility
|
||||
authConfig := &auth.AuthConfig{
|
||||
authConfig := &config.AuthConfig{
|
||||
DevMode: cfg.Auth.DevMode,
|
||||
Provider: cfg.Auth.Provider,
|
||||
JWTSecret: cfg.Auth.JWTSecret,
|
||||
}
|
||||
|
||||
if cfg.Auth.OIDC != nil {
|
||||
authConfig.OIDC = &auth.OIDCConfig{
|
||||
authConfig.OIDC = &config.OIDCConfig{
|
||||
Endpoint: cfg.Auth.OIDC.Endpoint,
|
||||
ClientID: cfg.Auth.OIDC.ClientID,
|
||||
ClientSecret: cfg.Auth.OIDC.ClientSecret,
|
||||
@@ -107,7 +107,7 @@ func runServe(cmd *cobra.Command, args []string) {
|
||||
|
||||
// Initialize site manager with auth provider
|
||||
authProvider := &engine.AuthProvider{Type: cfg.Auth.Provider}
|
||||
siteManager := content.NewSiteManagerWithAuth(contentClient, cfg.Auth.DevMode, authProvider)
|
||||
siteManager := sites.NewSiteManagerWithAuth(contentClient, cfg.Auth.DevMode, authProvider)
|
||||
|
||||
// Convert config sites to legacy format and register
|
||||
var legacySites []*config.SiteConfig
|
||||
@@ -120,7 +120,7 @@ func runServe(cmd *cobra.Command, args []string) {
|
||||
AutoEnhance: site.AutoEnhance,
|
||||
}
|
||||
if site.Discovery != nil {
|
||||
legacySite.Discovery = &content.DiscoveryConfig{
|
||||
legacySite.Discovery = &config.DiscoveryConfig{
|
||||
Enabled: site.Discovery.Enabled,
|
||||
Aggressive: site.Discovery.Aggressive,
|
||||
Containers: site.Discovery.Containers,
|
||||
|
||||
Reference in New Issue
Block a user