composer: Disable artifacts for the service

When backed by a DB, composer has no need of a queue directory.

This also addresses "Error moving artifacts for job" logging noise.

Signed-off-by: sanne <sanne.raymaekers@gmail.com>
This commit is contained in:
sanne 2021-12-03 18:26:40 +01:00 committed by Tom Gundersen
parent 487e2d0669
commit 60d4f5a751
5 changed files with 16 additions and 8 deletions

View file

@ -53,14 +53,13 @@ func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) (*Compos
cacheDir: cacheDir,
}
queueDir, err := c.ensureStateDirectory("jobs", 0700)
if err != nil {
return nil, err
}
artifactsDir, err := c.ensureStateDirectory("artifacts", 0755)
if err != nil {
return nil, err
var err error
artifactsDir := ""
if config.Worker.EnableArtifacts {
artifactsDir, err = c.ensureStateDirectory("artifacts", 0755)
if err != nil {
return nil, err
}
}
c.distros = distroregistry.NewDefault()
@ -88,6 +87,10 @@ func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) (*Compos
return nil, fmt.Errorf("cannot create jobqueue: %v", err)
}
} else {
queueDir, err := c.ensureStateDirectory("jobs", 0700)
if err != nil {
return nil, err
}
jobs, err = fsjobqueue.New(queueDir)
if err != nil {
return nil, fmt.Errorf("cannot create jobqueue: %v", err)

View file

@ -39,6 +39,7 @@ type WorkerAPIConfig struct {
CA string `toml:"ca"`
RequestJobTimeout string `toml:"request_job_timeout"`
BasePath string `toml:"base_path"`
EnableArtifacts bool `toml:"enable_artifacts"`
PGHost string `toml:"pg_host" env:"PGHOST"`
PGPort string `toml:"pg_port" env:"PGPORT"`
PGDatabase string `toml:"pg_database" env:"PGDATABASE"`
@ -92,6 +93,7 @@ func GetDefaultConfig() *ComposerConfigFile {
Worker: WorkerAPIConfig{
RequestJobTimeout: "0",
BasePath: "/api/worker/v1",
EnableArtifacts: true,
EnableTLS: true,
EnableMTLS: true,
EnableJWT: false,

View file

@ -41,6 +41,7 @@ func TestDefaultConfig(t *testing.T) {
require.Equal(t, WorkerAPIConfig{
RequestJobTimeout: "0",
BasePath: "/api/worker/v1",
EnableArtifacts: true,
EnableTLS: true,
EnableMTLS: true,
EnableJWT: false,

View file

@ -214,6 +214,7 @@ objects:
[worker]
request_job_timeout = "20s"
base_path = "/api/image-builder-worker/v1"
enable_artifacts = false
enable_tls = false
enable_mtls = false
enable_jwt = true

View file

@ -1259,6 +1259,7 @@ jwt_acl_file = ""
[worker]
pg_host = "localhost"
pg_port = "5432"
enable_artifacts = false
pg_database = "osbuildcomposer"
pg_user = "postgres"
pg_password = "foobar"