43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
|
// 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))
|
||
|
}
|