// 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)) }