repo.me/main.go

43 lines
1.0 KiB
Go
Raw Normal View History

2024-04-10 22:10:09 +08:00
// https://github.com/google/go-containerregistry
package main
import (
"context"
"crypto/tls"
"github.com/sirupsen/logrus"
"nf-repo/internal/api"
"nf-repo/internal/interfaces/blobs"
"nf-repo/internal/interfaces/manifests"
"nf-repo/internal/interfaces/tx"
"nf-repo/internal/interfaces/uploads"
)
var (
tlsCfg *tls.Config
bh = blobs.NewLocalBlobHandler("images/layers")
//uh = uploads.NewMemUploader()
uh = uploads.NewLocalUploader("images/uploads")
//mh = manifests.NewManifestMemHandler()
mh = manifests.NewManifestDBHandler(tx.Must(tx.NewSqliteTX("data.sqlite")))
)
func init() {
logrus.SetFormatter(&logrus.JSONFormatter{TimestampFormat: "06/01/02 15:04:05"})
logrus.SetLevel(logrus.InfoLevel)
logrus.SetReportCaller(true)
crt, err := tls.LoadX509KeyPair("etc/repo.me.crt", "etc/repo.me.key")
if err != nil {
panic(err)
}
tlsCfg = &tls.Config{Certificates: []tls.Certificate{crt}}
}
func main() {
app := api.NewApi(context.TODO(), bh, uh, mh)
logrus.Fatal(app.RunTLS(":443", tlsCfg))
}