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/tls"
|
||||||
"crypto/x509"
|
"crypto/x509"
|
||||||
"flag"
|
"flag"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rcm"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"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/common"
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/jobqueue"
|
"github.com/osbuild/osbuild-composer/internal/jobqueue"
|
||||||
|
|
@ -84,7 +90,7 @@ func main() {
|
||||||
|
|
||||||
rpm := rpmmd.NewRPMMD(path.Join(cacheDirectory, "rpmmd"))
|
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 {
|
if err != nil {
|
||||||
log.Fatalf("Error loading distros: %v", err)
|
log.Fatalf("Error loading distros: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,11 @@ import (
|
||||||
"path"
|
"path"
|
||||||
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/common"
|
"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/blueprint"
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"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 {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,6 @@ import (
|
||||||
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"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 {
|
type Distro interface {
|
||||||
|
|
@ -78,11 +72,6 @@ func NewRegistry(distros ...Distro) (*Registry, error) {
|
||||||
return reg, nil
|
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 {
|
func (r *Registry) GetDistro(name string) Distro {
|
||||||
distroTag, exists := common.DistributionFromString(name)
|
distroTag, exists := common.DistributionFromString(name)
|
||||||
if !exists {
|
if !exists {
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,11 @@ import (
|
||||||
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"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/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
)
|
)
|
||||||
|
|
@ -52,7 +57,7 @@ func TestDistro_Manifest(t *testing.T) {
|
||||||
t.Fatalf("rpmmd.LoadRepositories: %v", err)
|
t.Fatalf("rpmmd.LoadRepositories: %v", err)
|
||||||
}
|
}
|
||||||
t.Run(tt.ComposeRequest.OutputFormat, func(t *testing.T) {
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -92,7 +97,7 @@ func TestDistro_RegistryList(t *testing.T) {
|
||||||
"rhel-8.2",
|
"rhel-8.2",
|
||||||
}
|
}
|
||||||
|
|
||||||
distros, err := distro.NewDefaultRegistry()
|
distros, err := distro.NewRegistry(fedora30.New(), fedora31.New(), fedora32.New(), rhel81.New(), rhel82.New())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue