package app import ( "fmt" "gitea.maximumdirect.net/eric/narratio/internal/config" "gitea.maximumdirect.net/eric/narratio/internal/manifest" ) func effectiveConfigProvenance(cfg *config.Config) *manifest.EffectiveConfigProvenance { if cfg == nil || cfg.Pipeline == nil { return nil } provenance := &manifest.EffectiveConfigProvenance{ EffectiveConfigDigest: config.EffectivePipelineDigest(cfg.Pipeline), } if selected, ok := config.SelectedPipelineOverlay(cfg.Pipeline); ok { provenance.SelectedOverlay = &manifest.SelectedOverlayProvenance{ Name: selected.Name, Source: selected.Source, } } if provenance.SelectedOverlay == nil && provenance.EffectiveConfigDigest == "" { return nil } return provenance } func applyEffectiveConfigProvenance(m *manifest.Manifest, cfg *config.Config) { if m != nil { m.EffectiveConfig = effectiveConfigProvenance(cfg) } } func effectiveConfigSummary(cfg *config.Config) string { provenance := effectiveConfigProvenance(cfg) if provenance == nil { return "overlay=none digest=unavailable" } overlay := "none" if provenance.SelectedOverlay != nil { overlay = provenance.SelectedOverlay.Name + " (" + provenance.SelectedOverlay.Source + ")" } digest := provenance.EffectiveConfigDigest if digest == "" { digest = "unavailable" } return fmt.Sprintf("overlay=%s digest=%s", overlay, digest) } func persistedEffectiveConfigSummary(provenance *manifest.EffectiveConfigProvenance) string { if provenance == nil { return "overlay=none digest=unavailable" } overlay := "none" if provenance.SelectedOverlay != nil { overlay = provenance.SelectedOverlay.Name + " (" + provenance.SelectedOverlay.Source + ")" } digest := provenance.EffectiveConfigDigest if digest == "" { digest = "unavailable" } return fmt.Sprintf("overlay=%s digest=%s", overlay, digest) }