func()

in app/registry/backup_schedule.go [79:116]


func (a *App) registryBackupValuesChanged(values *Values, r *registry, cronScheduleDays int) (bool, error) {
	if values.Global.RegistryBackup.ExpiresInDays != cronScheduleDays ||
		values.Global.RegistryBackup.Schedule != r.CronSchedule ||
		values.Global.RegistryBackup.OBC.CronExpression != r.OBCCronExpression ||
		values.Global.RegistryBackup.OBC.BackupBucket != r.OBCBackupBucket ||
		values.Global.RegistryBackup.OBC.Endpoint != r.OBCEndpoint || !values.Global.RegistryBackup.Enabled {
		return true, nil
	}

	if values.Global.RegistryBackup.OBC.Credentials == "" && r.OBCLogin != "" {
		return true, nil
	}

	if values.Global.RegistryBackup.OBC.Credentials == "" {
		return false, nil
	}

	secretData, err := a.Vault.Read(values.Global.RegistryBackup.OBC.Credentials)
	if err != nil {
		return false, fmt.Errorf("unable to read secret, %w", err)
	}

	OBCLogin, ok := secretData[a.Config.BackupBucketAccessKeyID]
	if !ok {
		return true, nil
	}

	OBCPassword, ok := secretData[a.Config.BackupBucketSecretAccessKey]
	if !ok {
		return true, nil
	}

	if OBCLogin.(string) != r.OBCLogin || OBCPassword.(string) != r.OBCPassword {
		return true, nil
	}

	return false, nil
}