// Package config defines app configuration. package config import ( "go.infratographer.com/x/echox" "go.infratographer.com/x/events" "go.infratographer.com/x/loggingx" "go.infratographer.com/x/otelx" "go.equinixmetal.net/infra9-metal-bridge/internal/metal" "go.equinixmetal.net/infra9-metal-bridge/internal/permissions" "go.equinixmetal.net/infra9-metal-bridge/internal/service" ) // AppConfig is the main application configuration. var AppConfig struct { Logging loggingx.Config EquinixMetal metal.Config OTel otelx.Config Server echox.Config Service service.Config Events EventsConfig Roles service.ConfigRoles Permissions permissions.Config } // EventsConfig defines the configuration setting up both subscriptions and publishing type EventsConfig struct { Publisher events.PublisherConfig Subscriber events.SubscriberConfig }