distro: drop NewDefaultRegistry()
Require the caller to pass in the required distros explicitly. This would allow us to easily add distros in osbuild-pipeline and tests before exposing them in composer itself, for instance. This means there is no longer a dependency from the distro package to each of the individual distros, so the distros are now able to depend on the distro packag for types and interfaces. Signed-off-by: Tom Gundersen <teg@jklm.no>
This commit is contained in:
parent
08ff8ab81b
commit
ff0ec01eb6
4 changed files with 21 additions and 16 deletions
|
|
@ -4,12 +4,18 @@ import (
|
|||
"crypto/tls"
|
||||
"crypto/x509"
|
||||
"flag"
|
||||
"github.com/osbuild/osbuild-composer/internal/rcm"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora30"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora31"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora32"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel81"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel82"
|
||||
"github.com/osbuild/osbuild-composer/internal/rcm"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/common"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||
"github.com/osbuild/osbuild-composer/internal/jobqueue"
|
||||
|
|
@ -84,7 +90,7 @@ func main() {
|
|||
|
||||
rpm := rpmmd.NewRPMMD(path.Join(cacheDirectory, "rpmmd"))
|
||||
|
||||
distros, err := distro.NewDefaultRegistry()
|
||||
distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New())
|
||||
if err != nil {
|
||||
log.Fatalf("Error loading distros: %v", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,11 @@ import (
|
|||
"path"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/common"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora30"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora31"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora32"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel81"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel82"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||
|
|
@ -74,7 +79,7 @@ func main() {
|
|||
}
|
||||
}
|
||||
|
||||
distros, err := distro.NewDefaultRegistry()
|
||||
distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,12 +14,6 @@ import (
|
|||
|
||||
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora30"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora31"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora32"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel81"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel82"
|
||||
)
|
||||
|
||||
type Distro interface {
|
||||
|
|
@ -78,11 +72,6 @@ func NewRegistry(distros ...Distro) (*Registry, error) {
|
|||
return reg, nil
|
||||
}
|
||||
|
||||
// NewDefaultRegistry creates a new Registry containing all known distros.
|
||||
func NewDefaultRegistry() (*Registry, error) {
|
||||
return NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New())
|
||||
}
|
||||
|
||||
func (r *Registry) GetDistro(name string) Distro {
|
||||
distroTag, exists := common.DistributionFromString(name)
|
||||
if !exists {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,11 @@ import (
|
|||
|
||||
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora30"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora31"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/fedora32"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel81"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro/rhel82"
|
||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||
)
|
||||
|
|
@ -52,7 +57,7 @@ func TestDistro_Manifest(t *testing.T) {
|
|||
t.Fatalf("rpmmd.LoadRepositories: %v", err)
|
||||
}
|
||||
t.Run(tt.ComposeRequest.OutputFormat, func(t *testing.T) {
|
||||
distros, err := distro.NewDefaultRegistry()
|
||||
distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
@ -92,7 +97,7 @@ func TestDistro_RegistryList(t *testing.T) {
|
|||
"rhel-8.2",
|
||||
}
|
||||
|
||||
distros, err := distro.NewDefaultRegistry()
|
||||
distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue