2024-04-15 15:20:56 -05:00
|
|
|
package embed
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
_ "embed"
|
2024-07-10 14:29:59 -05:00
|
|
|
"fmt"
|
2024-04-15 15:20:56 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
//go:embed embedded-roots/1.root-dev.json
|
2024-07-10 17:21:56 -05:00
|
|
|
var devRoot []byte
|
2024-04-15 15:20:56 -05:00
|
|
|
|
|
|
|
|
//go:embed embedded-roots/1.root-staging.json
|
2024-07-10 17:21:56 -05:00
|
|
|
var stagingRoot []byte
|
2024-04-15 15:20:56 -05:00
|
|
|
|
2024-07-10 14:29:59 -05:00
|
|
|
//go:embed embedded-roots/1.root.json
|
2024-07-10 17:21:56 -05:00
|
|
|
var prodRoot []byte
|
2024-07-10 14:29:59 -05:00
|
|
|
|
2024-07-10 17:21:56 -05:00
|
|
|
var defaultRoot = prodRoot
|
2024-07-10 14:29:59 -05:00
|
|
|
|
2024-07-31 15:48:00 +01:00
|
|
|
type (
|
|
|
|
|
RootName string
|
|
|
|
|
EmbeddedRoot struct {
|
|
|
|
|
Data []byte
|
|
|
|
|
Name RootName
|
|
|
|
|
}
|
|
|
|
|
)
|
2024-07-10 17:21:56 -05:00
|
|
|
|
|
|
|
|
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) {
|
2024-07-10 14:29:59 -05:00
|
|
|
switch root {
|
2024-07-10 17:21:56 -05:00
|
|
|
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
|
2024-07-10 14:29:59 -05:00
|
|
|
default:
|
|
|
|
|
return nil, fmt.Errorf("invalid tuf root: %s", root)
|
|
|
|
|
}
|
|
|
|
|
}
|