debian-forge-composer/cmd/osbuild-composer/main.go
Ondřej Budai 15b82a15d2 osbuild-composer: Rename module to github.com/osbuild/osbuild-composer
This should be the best practice according to other popular go projects:
- https://github.com/prometheus/prometheus
- https://github.com/syncthing/syncthing
- https://github.com/drone/drone
- https://github.com/hashicorp/terraform

Also, this change fixes go get command (it currently fails due to bad package
name).
2019-10-08 21:44:57 +02:00

63 lines
1.3 KiB
Go

package main
import (
"flag"
"log"
"os"
"github.com/osbuild/osbuild-composer/internal/jobqueue"
"github.com/osbuild/osbuild-composer/internal/rpmmd"
"github.com/osbuild/osbuild-composer/internal/store"
"github.com/osbuild/osbuild-composer/internal/weldr"
"github.com/coreos/go-systemd/activation"
)
func main() {
var verbose bool
flag.BoolVar(&verbose, "v", false, "Print access log")
flag.Parse()
stateFile := "/var/lib/osbuild-composer/state.json"
listeners, err := activation.Listeners()
if err != nil {
panic(err)
}
if len(listeners) != 2 {
panic("Unexpected number of sockets. Composer require 2 of them.")
}
weldrListener := listeners[0]
jobListener := listeners[1]
repo := rpmmd.RepoConfig{
Id: "fedora-30",
Name: "Fedora 30",
Metalink: "https://mirrors.fedoraproject.org/metalink?repo=fedora-30&arch=x86_64",
}
packages, err := rpmmd.FetchPackageList(repo)
if err != nil {
panic(err)
}
var logger *log.Logger
if verbose {
logger = log.New(os.Stdout, "", 0)
}
err = os.MkdirAll("/var/lib/osbuild-composer", 0755)
if err != nil {
panic(err)
}
store := store.New(&stateFile)
jobAPI := jobqueue.New(logger, store)
weldrAPI := weldr.New(repo, packages, logger, store)
go jobAPI.Serve(jobListener)
weldrAPI.Serve(weldrListener)
}