Files
bridge/internal/config/config.go
2023-07-01 00:04:52 +00:00

32 lines
891 B
Go

// 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
}