cachefs/cmd/metadatagen/main.go

48 lines
765 B
Go

// Copyright (C) 2022 Marius Schellenberger
package main
import (
"encoding/hex"
"flag"
"fmt"
"os"
"cachefs/pkg/fs"
"cachefs/pkg/provider/parse"
)
var (
version string
dst string
metadata string
)
func main() {
flag.StringVar(&dst, "dst", "", "url path to cache files (example: file:///mnt/cache)")
flag.StringVar(&metadata, "data", "", "path to metadata file")
flag.Parse()
var (
dstk []byte
err error
)
dstkey := os.Getenv("DST_KEY")
if dstkey != "" {
dstk, err = hex.DecodeString(dstkey)
fmt.Println(err)
os.Exit(1)
}
dstfs, err := parse.FS(dst, dstk, true)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
err = fs.MetadataGenerator(metadata, dstfs)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
os.Exit(0)
}