init_ee.go 883 B

123456789101112131415161718192021222324252627282930313233343536
  1. // +build ee
  2. package loader
  3. import (
  4. eeBilling "github.com/porter-dev/porter/ee/billing"
  5. "github.com/porter-dev/porter/ee/models"
  6. eeGorm "github.com/porter-dev/porter/ee/repository/gorm"
  7. "github.com/porter-dev/porter/internal/billing"
  8. )
  9. func init() {
  10. sharedInit()
  11. InstanceDB.AutoMigrate(
  12. &models.ProjectBilling{},
  13. &models.UserBilling{},
  14. )
  15. var key [32]byte
  16. for i, b := range []byte(InstanceEnvConf.DBConf.EncryptionKey) {
  17. key[i] = b
  18. }
  19. eeRepo := eeGorm.NewEERepository(InstanceDB, &key)
  20. if InstanceEnvConf.ServerConf.IronPlansAPIKey != "" && InstanceEnvConf.ServerConf.IronPlansServerURL != "" {
  21. serverURL := InstanceEnvConf.ServerConf.IronPlansServerURL
  22. apiKey := InstanceEnvConf.ServerConf.IronPlansAPIKey
  23. InstanceBillingManager = eeBilling.NewClient(serverURL, apiKey, eeRepo)
  24. } else {
  25. InstanceBillingManager = &billing.NoopBillingManager{}
  26. }
  27. }