From 5dac422b9c4281a41067e45401b1346efcfbd5e1 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Mon, 9 Nov 2020 15:45:24 +0000 Subject: [PATCH] cmd/composer: drop koji configuration Now that all interaciton with the koji API happens in the workers we can drop koji configuration from composer itself. This means that composer no longer needs to be provisioned with kerberos credentials, and does not need to know about which koji servers the workers support. --- cmd/osbuild-composer/composer.go | 13 +------------ cmd/osbuild-composer/config.go | 6 ------ cmd/osbuild-composer/config_test.go | 7 ------- cmd/osbuild-composer/testdata/test.toml | 4 ---- internal/kojiapi/server.go | 5 +---- internal/kojiapi/server_test.go | 3 +-- test/data/composer/osbuild-composer.toml | 4 ---- 7 files changed, 3 insertions(+), 39 deletions(-) diff --git a/cmd/osbuild-composer/composer.go b/cmd/osbuild-composer/composer.go index ec479e49e..b3bb4b769 100644 --- a/cmd/osbuild-composer/composer.go +++ b/cmd/osbuild-composer/composer.go @@ -18,7 +18,6 @@ import ( "github.com/osbuild/osbuild-composer/internal/kojiapi" "github.com/osbuild/osbuild-composer/internal/rpmmd" "github.com/osbuild/osbuild-composer/internal/store" - "github.com/osbuild/osbuild-composer/internal/upload/koji" "github.com/osbuild/osbuild-composer/internal/weldr" "github.com/osbuild/osbuild-composer/internal/worker" @@ -130,17 +129,7 @@ func (c *Composer) InitWeldr(repoPaths []string, weldrListener, localWorkerListe func (c *Composer) InitAPI(cert, key string, l net.Listener) error { c.api = cloudapi.NewServer(c.workers, c.rpm, c.distros) - - servers := make(map[string]koji.GSSAPICredentials) - for name, creds := range c.config.Koji.Servers { - if creds.Kerberos != nil { - servers[name] = koji.GSSAPICredentials{ - Principal: creds.Kerberos.Principal, - KeyTab: creds.Kerberos.KeyTab, - } - } - } - c.koji = kojiapi.NewServer(c.logger, c.workers, c.rpm, c.distros, servers) + c.koji = kojiapi.NewServer(c.logger, c.workers, c.rpm, c.distros) tlsConfig, err := createTLSConfig(&connectionConfig{ CACertFile: c.config.Koji.CA, diff --git a/cmd/osbuild-composer/config.go b/cmd/osbuild-composer/config.go index 38bec22a9..3cd6d4e7d 100644 --- a/cmd/osbuild-composer/config.go +++ b/cmd/osbuild-composer/config.go @@ -8,12 +8,6 @@ import ( type ComposerConfigFile struct { Koji struct { - Servers map[string]struct { - Kerberos *struct { - Principal string `toml:"principal"` - KeyTab string `toml:"keytab"` - } `toml:"kerberos,omitempty"` - } `toml:"servers"` AllowedDomains []string `toml:"allowed_domains"` CA string `toml:"ca"` } `toml:"koji"` diff --git a/cmd/osbuild-composer/config_test.go b/cmd/osbuild-composer/config_test.go index f5341e1bf..25b2e2223 100644 --- a/cmd/osbuild-composer/config_test.go +++ b/cmd/osbuild-composer/config_test.go @@ -11,7 +11,6 @@ func TestEmpty(t *testing.T) { config, err := LoadConfig("testdata/empty-config.toml") require.NoError(t, err) require.NotNil(t, config) - require.Empty(t, config.Koji.Servers) require.Empty(t, config.Koji.AllowedDomains) require.Empty(t, config.Koji.CA) require.Empty(t, config.Worker.AllowedDomains) @@ -30,12 +29,6 @@ func TestConfig(t *testing.T) { require.NoError(t, err) require.NotNil(t, config) - server, ok := config.Koji.Servers["example.com"] - require.True(t, ok) - require.NotNil(t, server.Kerberos) - require.Equal(t, server.Kerberos.Principal, "example@osbuild.org") - require.Equal(t, server.Kerberos.KeyTab, "/etc/osbuild-composer/osbuild.keytab") - require.Equal(t, config.Koji.AllowedDomains, []string{"osbuild.org"}) require.Equal(t, config.Koji.CA, "/etc/osbuild-composer/ca-crt.pem") diff --git a/cmd/osbuild-composer/testdata/test.toml b/cmd/osbuild-composer/testdata/test.toml index 2a81ab237..a16843ff2 100644 --- a/cmd/osbuild-composer/testdata/test.toml +++ b/cmd/osbuild-composer/testdata/test.toml @@ -2,10 +2,6 @@ allowed_domains = [ "osbuild.org" ] ca = "/etc/osbuild-composer/ca-crt.pem" -[koji.servers."example.com".kerberos] -principal = "example@osbuild.org" -keytab = "/etc/osbuild-composer/osbuild.keytab" - [worker] allowed_domains = [ "osbuild.org" ] ca = "/etc/osbuild-composer/ca-crt.pem" diff --git a/internal/kojiapi/server.go b/internal/kojiapi/server.go index 228c9bd5f..e100fe046 100644 --- a/internal/kojiapi/server.go +++ b/internal/kojiapi/server.go @@ -16,7 +16,6 @@ import ( "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/kojiapi/api" "github.com/osbuild/osbuild-composer/internal/rpmmd" - "github.com/osbuild/osbuild-composer/internal/upload/koji" "github.com/osbuild/osbuild-composer/internal/worker" ) @@ -26,17 +25,15 @@ type Server struct { workers *worker.Server rpmMetadata rpmmd.RPMMD distros *distro.Registry - kojiServers map[string]koji.GSSAPICredentials } // NewServer creates a new koji server -func NewServer(logger *log.Logger, workers *worker.Server, rpmMetadata rpmmd.RPMMD, distros *distro.Registry, kojiServers map[string]koji.GSSAPICredentials) *Server { +func NewServer(logger *log.Logger, workers *worker.Server, rpmMetadata rpmmd.RPMMD, distros *distro.Registry) *Server { s := &Server{ logger: logger, workers: workers, rpmMetadata: rpmMetadata, distros: distros, - kojiServers: kojiServers, } return s diff --git a/internal/kojiapi/server_test.go b/internal/kojiapi/server_test.go index f0c18168d..d27bbe27c 100644 --- a/internal/kojiapi/server_test.go +++ b/internal/kojiapi/server_test.go @@ -11,7 +11,6 @@ import ( "github.com/osbuild/osbuild-composer/internal/kojiapi/api" distro_mock "github.com/osbuild/osbuild-composer/internal/mocks/distro" rpmmd_mock "github.com/osbuild/osbuild-composer/internal/mocks/rpmmd" - "github.com/osbuild/osbuild-composer/internal/upload/koji" "github.com/osbuild/osbuild-composer/internal/worker" "github.com/stretchr/testify/require" ) @@ -28,7 +27,7 @@ func newTestKojiServer(t *testing.T) *kojiapi.Server { workers := worker.NewServer(nil, testjobqueue.New(), "") require.NotNil(t, workers) - server := kojiapi.NewServer(nil, workers, rpm, distros, map[string]koji.GSSAPICredentials{}) + server := kojiapi.NewServer(nil, workers, rpm, distros) require.NotNil(t, server) return server diff --git a/test/data/composer/osbuild-composer.toml b/test/data/composer/osbuild-composer.toml index 3d3b573b5..90179d041 100644 --- a/test/data/composer/osbuild-composer.toml +++ b/test/data/composer/osbuild-composer.toml @@ -2,10 +2,6 @@ allowed_domains = [ "localhost", "client.osbuild.org" ] ca = "/etc/osbuild-composer/ca-crt.pem" -[koji.servers.localhost.kerberos] -principal = "osbuild-krb@LOCAL" -keytab = "/etc/osbuild-composer/client.keytab" - [worker] allowed_domains = [ "localhost", "worker.osbuild.org" ] ca = "/etc/osbuild-composer/ca-crt.pem"