ProviderAppID *string
ProviderAppSecret *string
}
+ Mail struct {
+ SendUserSetupNotificationEmail *bool
+ SupportEmailAddress *string
+ }
}
type deprecatedConfig struct {
if dst, n := &cluster.API.MaxRequestAmplification, dcluster.RequestLimits.MultiClusterRequestConcurrency; n != nil && *n != *dst {
*dst = *n
}
+ if dst, addr := &cluster.Users.SupportEmailAddress, dcluster.Mail.SupportEmailAddress; addr != nil {
+ *dst = *addr
+ ldr.Logger.Warnf("using your old config key Mail.SupportEmailAddress -- but you should rename it to Users.SupportEmailAddress")
+ }
+ if dst, b := &cluster.Users.SendUserSetupNotificationEmail, dcluster.Mail.SendUserSetupNotificationEmail; b != nil {
+ *dst = *b
+ ldr.Logger.Warnf("using your old config key Mail.SendUserSetupNotificationEmail -- but you should rename it to Users.SendUserSetupNotificationEmail")
+ }
// Google* moved to Google.*
if dst, n := &cluster.Login.Google.ClientID, dcluster.Login.GoogleClientID; n != nil && *n != *dst {
*dst = *n
}
- // Provider* moved to SSO.Provider*
- if dst, n := &cluster.Login.SSO.ProviderAppID, dcluster.Login.ProviderAppID; n != nil && *n != *dst {
- *dst = *n
- if *n != "" {
- // In old config, non-empty ID meant enable
- cluster.Login.SSO.Enable = true
- }
- }
- if dst, n := &cluster.Login.SSO.ProviderAppSecret, dcluster.Login.ProviderAppSecret; n != nil && *n != *dst {
- *dst = *n
- }
-
cfg.Clusters[id] = cluster
}
return nil
func (ldr *Loader) applyDeprecatedVolumeDriverParameters(cfg *arvados.Config) error {
for clusterID, cluster := range cfg.Clusters {
for volID, vol := range cluster.Volumes {
- if vol.Driver == "s3" {
+ if vol.Driver == "S3" {
var params struct {
AccessKey string `json:",omitempty"`
SecretKey string `json:",omitempty"`
}
if params.AccessKey != "" || params.SecretKey != "" {
if params.AccessKeyID != "" || params.SecretAccessKey != "" {
- ldr.Logger.Warnf("ignoring old config keys %s.Volumes.%s.DriverParameters.AccessKey/SecretKey because new keys AccessKeyID/SecretAccessKey are also present", clusterID, volID)
- continue
+ return fmt.Errorf("cannot use old keys (AccessKey/SecretKey) and new keys (AccessKeyID/SecretAccessKey) at the same time in %s.Volumes.%s.DriverParameters -- you must remove the old config keys", clusterID, volID)
}
var allparams map[string]interface{}
err = json.Unmarshal(vol.DriverParameters, &allparams)
delete(allparams, k)
}
}
+ ldr.Logger.Warnf("using your old config keys %s.Volumes.%s.DriverParameters.AccessKey/SecretKey -- but you should rename them to AccessKeyID/SecretAccessKey", clusterID, volID)
allparams["AccessKeyID"] = params.AccessKey
allparams["SecretAccessKey"] = params.SecretKey
vol.DriverParameters, err = json.Marshal(allparams)
UUIDTTL *arvados.Duration
MaxCollectionEntries *int
MaxCollectionBytes *int64
- MaxPermissionEntries *int
MaxUUIDEntries *int
}
if oc.Cache.TTL != nil {
cluster.Collections.WebDAVCache.TTL = *oc.Cache.TTL
}
- if oc.Cache.UUIDTTL != nil {
- cluster.Collections.WebDAVCache.UUIDTTL = *oc.Cache.UUIDTTL
- }
- if oc.Cache.MaxCollectionEntries != nil {
- cluster.Collections.WebDAVCache.MaxCollectionEntries = *oc.Cache.MaxCollectionEntries
- }
if oc.Cache.MaxCollectionBytes != nil {
- cluster.Collections.WebDAVCache.MaxCollectionBytes = *oc.Cache.MaxCollectionBytes
- }
- if oc.Cache.MaxPermissionEntries != nil {
- cluster.Collections.WebDAVCache.MaxPermissionEntries = *oc.Cache.MaxPermissionEntries
- }
- if oc.Cache.MaxUUIDEntries != nil {
- cluster.Collections.WebDAVCache.MaxUUIDEntries = *oc.Cache.MaxUUIDEntries
+ cluster.Collections.WebDAVCache.MaxCollectionBytes = arvados.ByteSize(*oc.Cache.MaxCollectionBytes)
}
if oc.AnonymousTokens != nil {
if len(*oc.AnonymousTokens) > 0 {
return nil
}
-const defaultGitHttpdConfigPath = "/etc/arvados/git-httpd/git-httpd.yml"
-
-type oldGitHttpdConfig struct {
- Client *arvados.Client
- Listen *string
- GitCommand *string
- GitoliteHome *string
- RepoRoot *string
- ManagementToken *string
-}
-
-func (ldr *Loader) loadOldGitHttpdConfig(cfg *arvados.Config) error {
- if ldr.GitHttpdPath == "" {
- return nil
- }
- var oc oldGitHttpdConfig
- err := ldr.loadOldConfigHelper("arv-git-httpd", ldr.GitHttpdPath, &oc)
- if os.IsNotExist(err) && ldr.GitHttpdPath == defaultGitHttpdConfigPath {
- return nil
- } else if err != nil {
- return err
- }
-
- cluster, err := cfg.GetCluster("")
- if err != nil {
- return err
- }
-
- loadOldClientConfig(cluster, oc.Client)
-
- if oc.Listen != nil {
- cluster.Services.GitHTTP.InternalURLs[arvados.URL{Host: *oc.Listen}] = arvados.ServiceInstance{}
- }
- if oc.ManagementToken != nil {
- cluster.ManagementToken = *oc.ManagementToken
- }
- if oc.GitCommand != nil {
- cluster.Git.GitCommand = *oc.GitCommand
- }
- if oc.GitoliteHome != nil {
- cluster.Git.GitoliteHome = *oc.GitoliteHome
- }
- if oc.RepoRoot != nil {
- cluster.Git.Repositories = *oc.RepoRoot
- }
-
- cfg.Clusters[cluster.ClusterID] = *cluster
- return nil
-}
-
const defaultKeepBalanceConfigPath = "/etc/arvados/keep-balance/keep-balance.yml"
type oldKeepBalanceConfig struct {