Fix path for asset storage (#144)

Define locations for keys and secondary zones, 'n stuff.

Add a bunch of tests as well.
This commit is contained in:
Miek Gieben
2016-04-30 21:56:43 +01:00
parent e635b4e773
commit e34e414e7f
6 changed files with 277 additions and 0 deletions

28
core/dns/storage.go Normal file
View File

@@ -0,0 +1,28 @@
package dns
import (
"path/filepath"
"github.com/miekg/coredns/core/assets"
)
var storage = Storage(assets.Path())
// Storage is a root directory and facilitates
// forming file paths derived from it.
type Storage string
// Zones gets the directory that stores zones data.
func (s Storage) Zones() string {
return filepath.Join(string(s), "zones")
}
// Zone returns the path to the folder containing assets for domain.
func (s Storage) Zone(domain string) string {
return filepath.Join(s.Zones(), domain)
}
// SecondaryZoneFile returns the path to domain's secondary zone file (when fetched).
func (s Storage) SecondaryZoneFile(domain string) string {
return filepath.Join(s.Zone(domain), "db."+domain)
}