github.com/swiftstack/proxyfs@v0.0.0-20201223034610-5434d919416e/pfsconfjsonpacked/main.go (about)

     1  package main
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  
     9  	"github.com/swiftstack/ProxyFS/conf"
    10  	"github.com/swiftstack/ProxyFS/transitions"
    11  )
    12  
    13  func main() {
    14  	args := os.Args[1:]
    15  
    16  	// Read in the program's os.Arg[1]-specified (and required) .conf file
    17  	if len(args) == 0 {
    18  		log.Fatalf("no .conf file specified")
    19  	}
    20  
    21  	confMap, confErr := conf.MakeConfMapFromFile(args[0])
    22  	if nil != confErr {
    23  		log.Fatalf("failed to load config: %v", confErr)
    24  	}
    25  
    26  	// Update confMap with any extra os.Args supplied
    27  	confErr = confMap.UpdateFromStrings(args[1:])
    28  	if nil != confErr {
    29  		log.Fatalf("failed to load config overrides: %v", confErr)
    30  	}
    31  
    32  	confErr = transitions.UpgradeConfMapIfNeeded(confMap)
    33  	if nil != confErr {
    34  		log.Fatalf("failed to upgrade config: %v", confErr)
    35  	}
    36  
    37  	confMapJSONPacked, _ := json.Marshal(confMap)
    38  
    39  	fmt.Printf("%v", string(confMapJSONPacked[:]))
    40  }