package main

import (
	"log"
	"os"

	"github.com/spf13/viper"
)

func readConfigFile() {
	log.Println("Reading Config")
	viper.SetConfigFile("/etc/podterminal/config.yaml")
	viper.SetDefault("port", 80)
	viper.SetDefault("ip_addr", "0.0.0.0")
	viper.SetDefault("image", "lscr.io/linuxserver/webtop")
	viper.SetDefault("maxAge", 10800)
	viper.SetDefault("dri", false)
	viper.SetDefault("dir_node", "/dev/dri/renderD128")
	viper.SetDefault("skel", "/etc/podterminal/skel.tar.gz")
	viper.SetDefault("skel_chown", false)
	viper.SetDefault("skel_target", "/")
	viper.SetDefault("skel_owner", "abc")
	viper.SetDefault("block_filebrowser", false)
	viper.SetDefault("envvars",
		map[string]string{
			"CUSTOM_USER": "user",
			"PASSWORD":    "",
			"TITLE":       "Podterminal",
		},
	)
	if _, err := os.Stat("/etc/podterminal/config.yaml"); os.IsNotExist(err) {
		log.Println("Config file does not exist, creating")
		os.MkdirAll("/etc/podterminal", 755)
		err := viper.WriteConfig()
		if err != nil {
			log.Fatalln("could not write default config", err)
		}
	}
	err := viper.ReadInConfig()
	if err != nil {
		log.Fatalln("could not read config file", err)
	}
	log.Println("Finished reading Config")
}
