mirror of https://github.com/portainer/portainer
feat(api): migrate template data logo URLs (#2537)
parent
17d85fdc15
commit
e440ba53cb
|
@ -142,6 +142,7 @@ func (store *Store) MigrateData() error {
|
||||||
ResourceControlService: store.ResourceControlService,
|
ResourceControlService: store.ResourceControlService,
|
||||||
SettingsService: store.SettingsService,
|
SettingsService: store.SettingsService,
|
||||||
StackService: store.StackService,
|
StackService: store.StackService,
|
||||||
|
TemplateService: store.TemplateService,
|
||||||
UserService: store.UserService,
|
UserService: store.UserService,
|
||||||
VersionService: store.VersionService,
|
VersionService: store.VersionService,
|
||||||
FileService: store.fileService,
|
FileService: store.fileService,
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
package migrator
|
package migrator
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/portainer/portainer"
|
||||||
|
)
|
||||||
|
|
||||||
func (m *Migrator) updateSettingsToDBVersion15() error {
|
func (m *Migrator) updateSettingsToDBVersion15() error {
|
||||||
legacySettings, err := m.settingsService.Settings()
|
legacySettings, err := m.settingsService.Settings()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -9,3 +15,21 @@ func (m *Migrator) updateSettingsToDBVersion15() error {
|
||||||
legacySettings.EnableHostManagementFeatures = false
|
legacySettings.EnableHostManagementFeatures = false
|
||||||
return m.settingsService.UpdateSettings(legacySettings)
|
return m.settingsService.UpdateSettings(legacySettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Migrator) updateTemplatesToVersion15() error {
|
||||||
|
legacyTemplates, err := m.templateService.Templates()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, template := range legacyTemplates {
|
||||||
|
template.Logo = strings.Replace(template.Logo, "https://portainer.io/images", portainer.AssetsServerURL, -1)
|
||||||
|
|
||||||
|
err = m.templateService.UpdateTemplate(template.ID, &template)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"github.com/portainer/portainer/bolt/resourcecontrol"
|
"github.com/portainer/portainer/bolt/resourcecontrol"
|
||||||
"github.com/portainer/portainer/bolt/settings"
|
"github.com/portainer/portainer/bolt/settings"
|
||||||
"github.com/portainer/portainer/bolt/stack"
|
"github.com/portainer/portainer/bolt/stack"
|
||||||
|
"github.com/portainer/portainer/bolt/template"
|
||||||
"github.com/portainer/portainer/bolt/user"
|
"github.com/portainer/portainer/bolt/user"
|
||||||
"github.com/portainer/portainer/bolt/version"
|
"github.com/portainer/portainer/bolt/version"
|
||||||
)
|
)
|
||||||
|
@ -22,6 +23,7 @@ type (
|
||||||
resourceControlService *resourcecontrol.Service
|
resourceControlService *resourcecontrol.Service
|
||||||
settingsService *settings.Service
|
settingsService *settings.Service
|
||||||
stackService *stack.Service
|
stackService *stack.Service
|
||||||
|
templateService *template.Service
|
||||||
userService *user.Service
|
userService *user.Service
|
||||||
versionService *version.Service
|
versionService *version.Service
|
||||||
fileService portainer.FileService
|
fileService portainer.FileService
|
||||||
|
@ -36,6 +38,7 @@ type (
|
||||||
ResourceControlService *resourcecontrol.Service
|
ResourceControlService *resourcecontrol.Service
|
||||||
SettingsService *settings.Service
|
SettingsService *settings.Service
|
||||||
StackService *stack.Service
|
StackService *stack.Service
|
||||||
|
TemplateService *template.Service
|
||||||
UserService *user.Service
|
UserService *user.Service
|
||||||
VersionService *version.Service
|
VersionService *version.Service
|
||||||
FileService portainer.FileService
|
FileService portainer.FileService
|
||||||
|
@ -51,6 +54,7 @@ func NewMigrator(parameters *Parameters) *Migrator {
|
||||||
endpointService: parameters.EndpointService,
|
endpointService: parameters.EndpointService,
|
||||||
resourceControlService: parameters.ResourceControlService,
|
resourceControlService: parameters.ResourceControlService,
|
||||||
settingsService: parameters.SettingsService,
|
settingsService: parameters.SettingsService,
|
||||||
|
templateService: parameters.TemplateService,
|
||||||
stackService: parameters.StackService,
|
stackService: parameters.StackService,
|
||||||
userService: parameters.UserService,
|
userService: parameters.UserService,
|
||||||
versionService: parameters.VersionService,
|
versionService: parameters.VersionService,
|
||||||
|
@ -192,6 +196,11 @@ func (m *Migrator) Migrate() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = m.updateTemplatesToVersion15()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return m.versionService.StoreDBVersion(portainer.DBVersion)
|
return m.versionService.StoreDBVersion(portainer.DBVersion)
|
||||||
|
|
|
@ -780,10 +780,12 @@ const (
|
||||||
APIVersion = "1.20-dev"
|
APIVersion = "1.20-dev"
|
||||||
// DBVersion is the version number of the Portainer database
|
// DBVersion is the version number of the Portainer database
|
||||||
DBVersion = 15
|
DBVersion = 15
|
||||||
|
// AssetsServerURL represents the URL of the Portainer asset server
|
||||||
|
AssetsServerURL = "https://portainer-io-assets.sfo2.digitaloceanspaces.com"
|
||||||
// MessageOfTheDayURL represents the URL where Portainer MOTD message can be retrieved
|
// MessageOfTheDayURL represents the URL where Portainer MOTD message can be retrieved
|
||||||
MessageOfTheDayURL = "https://portainer-io-assets.sfo2.digitaloceanspaces.com/motd.html"
|
MessageOfTheDayURL = AssetsServerURL + "/motd.html"
|
||||||
// ExtensionDefinitionsURL represents the URL where Portainer extension definitions can be retrieved
|
// ExtensionDefinitionsURL represents the URL where Portainer extension definitions can be retrieved
|
||||||
ExtensionDefinitionsURL = "https://portainer-io-assets.sfo2.digitaloceanspaces.com/extensions.json"
|
ExtensionDefinitionsURL = AssetsServerURL + "/extensions.json"
|
||||||
// PortainerAgentHeader represents the name of the header available in any agent response
|
// PortainerAgentHeader represents the name of the header available in any agent response
|
||||||
PortainerAgentHeader = "Portainer-Agent"
|
PortainerAgentHeader = "Portainer-Agent"
|
||||||
// PortainerAgentTargetHeader represent the name of the header containing the target node name
|
// PortainerAgentTargetHeader represent the name of the header containing the target node name
|
||||||
|
|
Loading…
Reference in New Issue