config.go 843 B

123456789101112131415161718192021222324252627282930313233
  1. package shared
  2. import (
  3. "github.com/gorilla/sessions"
  4. "github.com/porter-dev/porter/internal/auth/token"
  5. "github.com/porter-dev/porter/internal/logger"
  6. "github.com/porter-dev/porter/internal/repository"
  7. )
  8. type Config struct {
  9. // Logger for logging
  10. Logger *logger.Logger
  11. // Repo implements a query repository
  12. Repo repository.Repository
  13. // Capabilities is a description object for the server capabilities, used
  14. // to determine which endpoints to register
  15. Capabilities *Capabilities
  16. // Store implements a session store for session-based cookies
  17. Store sessions.Store
  18. // CookieName is the name of the Porter cookie used for authn
  19. CookieName string
  20. // TokenConf contains the config for generating and validating JWT tokens
  21. TokenConf *token.TokenGeneratorConf
  22. }
  23. type ConfigLoader interface {
  24. LoadConfig() (*Config, error)
  25. }