migrate_ee.go 792 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // +build ee
  2. package main
  3. import (
  4. "log"
  5. "github.com/joeshaw/envdecode"
  6. "github.com/porter-dev/porter/api/server/shared/config/env"
  7. "github.com/porter-dev/porter/ee/migrate"
  8. "gorm.io/gorm"
  9. )
  10. func InstanceMigrate(db *gorm.DB, dbConf *env.DBConf) error {
  11. if shouldVaultRotate() {
  12. if err := migrate.MigrateVault(db, dbConf); err != nil {
  13. return err
  14. }
  15. }
  16. return nil
  17. }
  18. type VaultMigrateConf struct {
  19. // we add a dummy field to avoid empty struct issue with envdecode
  20. DummyField string `env:"ASDF,default=asdf"`
  21. VaultMigrate bool `env:"VAULT_MIGRATE"`
  22. }
  23. func shouldVaultRotate() bool {
  24. var c VaultMigrateConf
  25. if err := envdecode.StrictDecode(&c); err != nil {
  26. log.Fatalf("Failed to decode Vault migration conf: %s", err)
  27. return false
  28. }
  29. return c.VaultMigrate
  30. }