* Reformat with gofumpt * Suppress issue about laxer perms than 0600 --------- Co-authored-by: Joel Kamp <joel.kamp@docker.com>
48 lines
961 B
Go
48 lines
961 B
Go
package embed
|
|
|
|
import (
|
|
_ "embed"
|
|
"fmt"
|
|
)
|
|
|
|
//go:embed embedded-roots/1.root-dev.json
|
|
var devRoot []byte
|
|
|
|
//go:embed embedded-roots/1.root-staging.json
|
|
var stagingRoot []byte
|
|
|
|
//go:embed embedded-roots/1.root.json
|
|
var prodRoot []byte
|
|
|
|
var defaultRoot = prodRoot
|
|
|
|
type (
|
|
RootName string
|
|
EmbeddedRoot struct {
|
|
Data []byte
|
|
Name RootName
|
|
}
|
|
)
|
|
|
|
var (
|
|
RootDev = EmbeddedRoot{Data: devRoot, Name: "dev"}
|
|
RootStaging = EmbeddedRoot{Data: stagingRoot, Name: "staging"}
|
|
RootProd = EmbeddedRoot{Data: prodRoot, Name: "prod"}
|
|
RootDefault = EmbeddedRoot{Data: defaultRoot, Name: ""}
|
|
)
|
|
|
|
func GetRootFromName(root string) (*EmbeddedRoot, error) {
|
|
switch root {
|
|
case string(RootDev.Name):
|
|
return &RootDev, nil
|
|
case string(RootStaging.Name):
|
|
return &RootStaging, nil
|
|
case string(RootProd.Name):
|
|
return &RootProd, nil
|
|
case string(RootDefault.Name):
|
|
return &RootDefault, nil
|
|
default:
|
|
return nil, fmt.Errorf("invalid tuf root: %s", root)
|
|
}
|
|
}
|