Remove Deprecated StorageFile

This commit is contained in:
SALLEYRON Julien 2018-12-03 11:54:04 +01:00 committed by Traefiker Bot
parent c815a732ef
commit 01c3d3905c
3 changed files with 0 additions and 62 deletions

View file

@ -43,7 +43,6 @@ type ACME struct {
Email string `description:"Email address used for registration"` Email string `description:"Email address used for registration"`
Domains []types.Domain `description:"SANs (alternative domains) to each main domain using format: --acme.domains='main.com,san1.com,san2.com' --acme.domains='main.net,san1.net,san2.net'"` Domains []types.Domain `description:"SANs (alternative domains) to each main domain using format: --acme.domains='main.com,san1.com,san2.com' --acme.domains='main.net,san1.net,san2.net'"`
Storage string `description:"File or key used for certificates storage."` Storage string `description:"File or key used for certificates storage."`
StorageFile string // Deprecated
OnDemand bool `description:"(Deprecated) Enable on demand certificate generation. This will request a certificate from Let's Encrypt during the first TLS handshake for a hostname that does not yet have a certificate."` // Deprecated OnDemand bool `description:"(Deprecated) Enable on demand certificate generation. This will request a certificate from Let's Encrypt during the first TLS handshake for a hostname that does not yet have a certificate."` // Deprecated
OnHostRule bool `description:"Enable certificate generation on frontends Host rules."` OnHostRule bool `description:"Enable certificate generation on frontends Host rules."`
CAServer string `description:"CA server to use."` CAServer string `description:"CA server to use."`

View file

@ -88,7 +88,6 @@ func TestDo_globalConfiguration(t *testing.T) {
}, },
}, },
Storage: "Storage", Storage: "Storage",
StorageFile: "StorageFile",
OnDemand: true, OnDemand: true,
OnHostRule: true, OnHostRule: true,
CAServer: "CAServer", CAServer: "CAServer",

View file

@ -3,9 +3,7 @@ package storeconfig
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"io/ioutil"
stdlog "log" stdlog "log"
"os"
"github.com/abronan/valkeyrie/store" "github.com/abronan/valkeyrie/store"
"github.com/containous/flaeg" "github.com/containous/flaeg"
@ -13,7 +11,6 @@ import (
"github.com/containous/traefik/acme" "github.com/containous/traefik/acme"
"github.com/containous/traefik/cluster" "github.com/containous/traefik/cluster"
"github.com/containous/traefik/cmd" "github.com/containous/traefik/cmd"
"github.com/containous/traefik/log"
) )
// NewCmd builds a new StoreConfig command // NewCmd builds a new StoreConfig command
@ -77,14 +74,6 @@ func Run(kv *staert.KvSource, traefikConfiguration *cmd.TraefikConfiguration) fu
if traefikConfiguration.Configuration.ACME != nil { if traefikConfiguration.Configuration.ACME != nil {
account := &acme.Account{} account := &acme.Account{}
// Migrate ACME data from file to KV store if needed
if len(traefikConfiguration.Configuration.ACME.StorageFile) > 0 {
account, err = migrateACMEData(traefikConfiguration.Configuration.ACME.StorageFile)
if err != nil {
return err
}
}
accountInitialized, err := keyExists(kv, traefikConfiguration.Configuration.ACME.Storage) accountInitialized, err := keyExists(kv, traefikConfiguration.Configuration.ACME.Storage)
if err != nil && err != store.ErrKeyNotFound { if err != nil && err != store.ErrKeyNotFound {
return err return err
@ -111,9 +100,6 @@ func Run(kv *staert.KvSource, traefikConfiguration *cmd.TraefikConfiguration) fu
return err return err
} }
} }
// Force to delete storagefile
return kv.Delete(kv.Prefix + "/acme/storagefile")
} }
return nil return nil
} }
@ -128,52 +114,6 @@ func keyExists(source *staert.KvSource, key string) (bool, error) {
return len(list) > 0, nil return len(list) > 0, nil
} }
// migrateACMEData allows migrating data from acme.json file to KV store in function of the file format
func migrateACMEData(fileName string) (*acme.Account, error) {
f, err := os.Open(fileName)
if err != nil {
return nil, err
}
defer f.Close()
file, err := ioutil.ReadAll(f)
if err != nil {
return nil, err
}
// Check if the storage file is not empty before to get data
account := &acme.Account{}
if len(file) > 0 {
accountFromNewFormat, err := acme.FromNewToOldFormat(fileName)
if err != nil {
return nil, err
}
if accountFromNewFormat == nil {
// convert ACME json file to KV store (used for backward compatibility)
localStore := acme.NewLocalStore(fileName)
account, err = localStore.Get()
if err != nil {
return nil, err
}
err = account.RemoveAccountV1Values()
if err != nil {
return nil, err
}
} else {
account = accountFromNewFormat
}
} else {
log.Warnf("No data will be imported from the storageFile %q because it is empty.", fileName)
}
err = account.Init()
return account, err
}
// CreateKvSource creates KvSource // CreateKvSource creates KvSource
// TLS support is enable for Consul and Etcd backends // TLS support is enable for Consul and Etcd backends
func CreateKvSource(traefikConfiguration *cmd.TraefikConfiguration) (*staert.KvSource, error) { func CreateKvSource(traefikConfiguration *cmd.TraefikConfiguration) (*staert.KvSource, error) {