32 lines
891 B
Go
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
|
|
}
|