package config import ( "flag" "os" ) type Config struct { Ambiente string PathfilesWeb01 string PathfilesUnotv string PathfilesPruebas string Dominio string DominioWP string DominioIMG string DominioPruebas string UrlApiWP string ApiGoMongoDB string ApiGoElastic string ApiGoAkamai string ApiGoPush string ApiGoGoogleAPi string ElasticUrl string ElasticIndex string AkaHost string AkaAccesToken string AkaClientToken string AkaClientSecret string AkaCcuV3Uri string AkaCcuProtocol string MongoPassword string MongoUser string MongoPort string MongoHost string MongoDB string PushFirebaseUrl string PushFirebaseCredentials string PushOnesignalUrl string PushOnesignalAuthorization string PushOnesignalAppid string PushConectionTimeout string PushReadTimeout string GoogleIndexKey string UrlGraylog string AppGraylog string IdGraylog string MailHost string MailUserName string MailPassword string } func Get() *Config { conf := &Config{} flag.StringVar(&conf.Ambiente, "Ambiente", os.Getenv("OLI_AMBIENTE"), "Ambiente") flag.StringVar(&conf.PathfilesWeb01, "PathfilesWeb01", os.Getenv("PATH_FILES_WEB01"), "Ruta de los html en el Web01") flag.StringVar(&conf.PathfilesUnotv, "PathfilesUnotv", os.Getenv("PATH_FILES_UTV"), "Ruta de los html de unotv") flag.StringVar(&conf.PathfilesPruebas, "PathfilesPruebas", os.Getenv("PATH_FILES_PRUEBAS"), "Ruta de los html de unotv para pruebas") flag.StringVar(&conf.Dominio, "Dominio", os.Getenv("DOMINIO"), "Dominio UnoTV") flag.StringVar(&conf.DominioWP, "DominioWP", os.Getenv("DOMINIO_WP"), "Dominio Wordpress") flag.StringVar(&conf.DominioIMG, "DominioIMG", os.Getenv("DOMINIO_IMG"), "Dominio Images") flag.StringVar(&conf.DominioPruebas, "DominioPruebas", os.Getenv("DOMINIO_PRUEBAS"), "Dominio de pruebas") flag.StringVar(&conf.UrlApiWP, "UrlApiWP", os.Getenv("OLI_URL_API"), "Url APi WP") flag.StringVar(&conf.ApiGoMongoDB, "ApiGoMongoDB", os.Getenv("GO_UTV_APP_MONOGDB"), "Api Mongo en GO") flag.StringVar(&conf.ApiGoElastic, "ApiGoElastic", os.Getenv("GO_UTV_APP_ELASTIC"), "Api Elastic en GO") flag.StringVar(&conf.ApiGoAkamai, "ApiGoAkamai", os.Getenv("GO_UTV_APP_AKAMAI"), "Api Akamai en GO") flag.StringVar(&conf.ApiGoPush, "ApiGoPush", os.Getenv("GO_UTV_APP_PUSH"), "Url Elastic Search") flag.StringVar(&conf.ApiGoGoogleAPi, "ApiGoGoogleAPi", os.Getenv("GO_UTV_APP_GOOGLEAPI"), "Url Elastic Search") flag.StringVar(&conf.ElasticUrl, "ElasticUrl", os.Getenv("ELASTIC_URL"), "Url Elastic Search") flag.StringVar(&conf.ElasticIndex, "ElasticIndex", os.Getenv("ELASTIC_INDEX"), "Index UnoTV Elastic Search") flag.StringVar(&conf.AkaHost, "AkaHost", os.Getenv("OLI_AKA_HOST"), "AkaHost") flag.StringVar(&conf.AkaAccesToken, "AkaAccesToken", os.Getenv("OLI_AKA_ACCESS_TOKEN"), "AkaAccesToken") flag.StringVar(&conf.AkaClientToken, "AkaClientToken", os.Getenv("OLI_CLIENT_TOKEN"), "AkaClientToken") flag.StringVar(&conf.AkaClientSecret, "AkaClientSecret", os.Getenv("OLI_CLIENT_SECRET"), "AkaClientSecret") flag.StringVar(&conf.AkaCcuV3Uri, "AkaCcuV3Uri", os.Getenv("CCU_V3_URI"), "AkaCcuV3Uri") flag.StringVar(&conf.AkaCcuProtocol, "AkaCcuProtocol", os.Getenv("CCU_PROTOCOL"), "AkaCcuProtocol") flag.StringVar(&conf.MongoPassword, "MongoPassword", os.Getenv("MONGO_PASSWORD"), "MongoPassword") flag.StringVar(&conf.MongoUser, "MongoUser", os.Getenv("MONGO_USER"), "MongoUser") flag.StringVar(&conf.MongoPort, "MongoPort", os.Getenv("MONGO_PORT"), "MongoPort") flag.StringVar(&conf.MongoHost, "MongoHost", os.Getenv("MONGO_HOST"), "MongoHost") flag.StringVar(&conf.MongoDB, "MongoDB", os.Getenv("MONGO_DB"), "DB en Mongo") flag.StringVar(&conf.PushFirebaseUrl, "PushFirebaseUrl", os.Getenv("PUSH_FIRE_BASE_URL"), "PushFirebaseUrl") flag.StringVar(&conf.PushFirebaseCredentials, "PushFirebaseCredentials", os.Getenv("PUSH_FIRE_BASE_CREDENTIALS"), "PushFirebaseCredentials") flag.StringVar(&conf.PushOnesignalUrl, "PushOnesignalUrl", os.Getenv("PUSH_ONESIGNAL_URL"), "MongoHost") flag.StringVar(&conf.PushOnesignalAuthorization, "PushOnesignalAuthorization", os.Getenv("PUSH_ONESIGNAL_AUTHORIZATION"), "PushOnesignalAuthorization") flag.StringVar(&conf.PushOnesignalAppid, "PushOnesignalAppid", os.Getenv("PUSH_ONESIGNAL_APPID"), "PushOnesignalAppid") flag.StringVar(&conf.PushConectionTimeout, "PushConectionTimeout", os.Getenv("PUSH_CONECTION_TIMEOUT"), "PushConectionTimeout") flag.StringVar(&conf.PushReadTimeout, "PushReadTimeout", os.Getenv("PUSH_READ_TIMEOUT"), "PushReadTimeout") flag.StringVar(&conf.GoogleIndexKey, "GoogleIndexKey", os.Getenv("GOOLE_INDEX_KEY"), "MongoGoogleIndexKeyHost") flag.StringVar(&conf.UrlGraylog, "UrlGraylog", os.Getenv("URL_GRAYLOG"), "Url UDP Graylog") flag.StringVar(&conf.AppGraylog, "AppGraylog", "", "Nombre de la aplicacion") flag.StringVar(&conf.MailHost, "MailHost", os.Getenv("MAIL_HOST"), "Host para mandar mail") flag.StringVar(&conf.MailUserName, "MailUserName", os.Getenv("MAIL_USERNAME"), "Usuario para mail") flag.StringVar(&conf.MailPassword, "MailPassword", os.Getenv("MAIL_PASSWORD"), "Password mail") flag.Parse() return conf } func (c *Config) GetAPIPort() string { return ":8080" }