func LoadConfig(file string) {
	viper.SetConfigType("yaml")
	viper.SetConfigName(file)
	viper.AddConfigPath(".")
	viper.AddConfigPath("config")
	err := viper.ReadInConfig()
	viper.AutomaticEnv()
	err = viper.Unmarshal(&C)
	if err != nil {
		panic(fmt.Errorf("fatal error config file: %s", err))
	}
}
LoadConfig loads up the configuration struct.
package config
import (
	"encoding/hex"
	"fmt"
	"github.com/spf13/viper"
)
var C Config
type Config struct {
	Port              string `mapstructure:"server_port"`
	JWTKey            string `mapstructure:"jwt_key"`
	Keyseed           string `mapstructure:"keyseed"`
	RedisHost         string `mapstructure:"redis_host"`
	RedisPort         int    `mapstructure:"redis_port"`
	RedisMaxActive    int    `mapstructure:"redis_max_active"`
	RedisMaxIdle      int    `mapstructure:"redis_max_idle"`
	DatabaseHost      string `mapstructure:"database_host"`
	DatabasePort      int    `mapstructure:"database_port"`
	DatabaseUser      string `mapstructure:"database_user"`
	DatabasePassword  string `mapstructure:"database_password"`
	DatabaseName      string `mapstructure:"database_name"`
	WorkerNamespace   string `mapstructure:"worker_namespace"`
	WorkerJobName     string `mapstructure:"worker_job_name"`
	WorkerConcurrency uint   `mapstructure:"worker_concurrency"`
	WorkDirectory     string `mapstructure:"work_dir"`
	CloudinitRedisHost        string `mapstructure:"cloudinit_redis_host"`
	CloudinitRedisPort        int    `mapstructure:"cloudinit_redis_port"`
	CloudinitDatabaseHost     string `mapstructure:"cloudinit_database_host"`
	CloudinitDatabasePort     int    `mapstructure:"cloudinit_database_port"`
	CloudinitDatabaseUser     string `mapstructure:"cloudinit_database_user"`
	CloudinitDatabasePassword string `mapstructure:"cloudinit_database_password"`
	CloudinitDatabaseName     string `mapstructure:"cloudinit_database_name"`
	CloudinitWorkerImage      string `mapstructure:"cloudinit_worker_image"`
}