cloudapi/v2: Configurable aws bucket

Fixes #1855
This commit is contained in:
sanne 2021-10-05 21:36:08 +02:00 committed by Tom Gundersen
parent b6c08f3056
commit 4eca54b6ed
6 changed files with 16 additions and 12 deletions

View file

@ -104,7 +104,7 @@ func (c *Composer) InitWeldr(repoPaths []string, weldrListener net.Listener,
} }
func (c *Composer) InitAPI(cert, key string, enableTLS bool, enableMTLS bool, enableJWT bool, l net.Listener) error { func (c *Composer) InitAPI(cert, key string, enableTLS bool, enableMTLS bool, enableJWT bool, l net.Listener) error {
c.api = cloudapi.NewServer(c.workers, c.rpm, c.distros) c.api = cloudapi.NewServer(c.workers, c.rpm, c.distros, c.config.Koji.AWS.Bucket)
c.koji = kojiapi.NewServer(c.logger, c.workers, c.rpm, c.distros) c.koji = kojiapi.NewServer(c.logger, c.workers, c.rpm, c.distros)
if !enableTLS { if !enableTLS {

View file

@ -25,7 +25,7 @@ type KojiAPIConfig struct {
JWTKeysURL string `toml:"jwt_keys_url"` JWTKeysURL string `toml:"jwt_keys_url"`
JWTKeysCA string `toml:"jwt_ca_file"` JWTKeysCA string `toml:"jwt_ca_file"`
JWTACLFile string `toml:"jwt_acl_file"` JWTACLFile string `toml:"jwt_acl_file"`
AWSConfig AWSConfig `toml:"aws_config"` AWS AWSConfig `toml:"aws_config"`
} }
type AWSConfig struct { type AWSConfig struct {
@ -80,6 +80,9 @@ func GetDefaultConfig() *ComposerConfigFile {
EnableTLS: true, EnableTLS: true,
EnableMTLS: true, EnableMTLS: true,
EnableJWT: false, EnableJWT: false,
AWS: AWSConfig{
Bucket: "image-builder.service",
},
}, },
Worker: WorkerAPIConfig{ Worker: WorkerAPIConfig{
EnableTLS: true, EnableTLS: true,

View file

@ -33,6 +33,9 @@ func TestDefaultConfig(t *testing.T) {
EnableTLS: true, EnableTLS: true,
EnableMTLS: true, EnableMTLS: true,
EnableJWT: false, EnableJWT: false,
AWS: AWSConfig{
Bucket: "image-builder.service",
},
}, defaultConfig.Koji) }, defaultConfig.Koji)
require.Equal(t, WorkerAPIConfig{ require.Equal(t, WorkerAPIConfig{

View file

@ -16,10 +16,10 @@ type Server struct {
v2 *v2.Server v2 *v2.Server
} }
func NewServer(workers *worker.Server, rpmMetadata rpmmd.RPMMD, distros *distroregistry.Registry) *Server { func NewServer(workers *worker.Server, rpmMetadata rpmmd.RPMMD, distros *distroregistry.Registry, awsBucket string) *Server {
server := &Server{ server := &Server{
v1: v1.NewServer(workers, rpmMetadata, distros), v1: v1.NewServer(workers, rpmMetadata, distros),
v2: v2.NewServer(workers, rpmMetadata, distros), v2: v2.NewServer(workers, rpmMetadata, distros, awsBucket),
} }
return server return server
} }

View file

@ -28,15 +28,12 @@ import (
"github.com/osbuild/osbuild-composer/internal/worker" "github.com/osbuild/osbuild-composer/internal/worker"
) )
const (
Bucket = "image-builder.service"
)
// Server represents the state of the cloud Server // Server represents the state of the cloud Server
type Server struct { type Server struct {
workers *worker.Server workers *worker.Server
rpmMetadata rpmmd.RPMMD rpmMetadata rpmmd.RPMMD
distros *distroregistry.Registry distros *distroregistry.Registry
awsBucket string
} }
type apiHandlers struct { type apiHandlers struct {
@ -45,11 +42,12 @@ type apiHandlers struct {
type binder struct{} type binder struct{}
func NewServer(workers *worker.Server, rpmMetadata rpmmd.RPMMD, distros *distroregistry.Registry) *Server { func NewServer(workers *worker.Server, rpmMetadata rpmmd.RPMMD, distros *distroregistry.Registry, bucket string) *Server {
server := &Server{ server := &Server{
workers: workers, workers: workers,
rpmMetadata: rpmMetadata, rpmMetadata: rpmMetadata,
distros: distros, distros: distros,
awsBucket: bucket,
} }
return server return server
} }
@ -294,7 +292,7 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
t := target.NewAWSTarget(&target.AWSTargetOptions{ t := target.NewAWSTarget(&target.AWSTargetOptions{
Filename: imageType.Filename(), Filename: imageType.Filename(),
Region: awsUploadOptions.Region, Region: awsUploadOptions.Region,
Bucket: Bucket, Bucket: h.server.awsBucket,
Key: key, Key: key,
ShareWithAccounts: awsUploadOptions.ShareWithAccounts, ShareWithAccounts: awsUploadOptions.ShareWithAccounts,
}) })
@ -322,7 +320,7 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
t := target.NewAWSS3Target(&target.AWSS3TargetOptions{ t := target.NewAWSS3Target(&target.AWSS3TargetOptions{
Filename: imageType.Filename(), Filename: imageType.Filename(),
Region: awsS3UploadOptions.Region, Region: awsS3UploadOptions.Region,
Bucket: Bucket, Bucket: h.server.awsBucket,
Key: key, Key: key,
}) })
t.ImageName = key t.ImageName = key

View file

@ -28,7 +28,7 @@ func newV2Server(t *testing.T, dir string) (*v2.Server, *worker.Server) {
require.NoError(t, err) require.NoError(t, err)
require.NotNil(t, distros) require.NotNil(t, distros)
v2Server := v2.NewServer(rpmFixture.Workers, rpm, distros) v2Server := v2.NewServer(rpmFixture.Workers, rpm, distros, "image-builder.service")
require.NotNil(t, v2Server) require.NotNil(t, v2Server)
return v2Server, rpmFixture.Workers return v2Server, rpmFixture.Workers