Информация для установки программного обеспечения
- Для развертывания сервера необходимо наличие docker, docker-compose.
- распаковать архив kpi-back-src.zip
- В консоли перейти в директорию содержащую файл docker-compose.yml
- Набрать команду docker-compose up
Информация для эксплуатации программного обеспечения
assets/lang – файлы перевода
assets/template – файлы шаблонов
assets/views – файлы шаблонов html представлений
configs/config.yml — файл конфигурации приложения
Конфигурирование приложения:
Чтение конфигурации происходит в следующем порядке(последнее заменяете или расширяет предыдущее)
1. configs/config.yml
2. env
3. flag
type Config struct { Server struct { Port int64 `yaml:»port» envconfig:»SERVER_PORT»` Host string `yaml:»host» envconfig:»SERVER_HOST»` } `yaml:»server»` Databases struct { MySql struct { Host string `yaml:»host» envconfig:»DB_MYSQL_HOST»` Port int64 `yaml:»port» envconfig:»DB_MYSQL_PORT»` Name string `yaml:»name» envconfig:»DB_MYSQL_NAME»` Username string `yaml:»username» envconfig:»DB_MYSQL_USERNAME»` Password string `yaml:»password» envconfig:»DB_MYSQL_PASSWORD»` } `yaml:»mysql»` PgSql struct { Host string `yaml:»host» envconfig:»DB_PGSQL_HOST»` Port int64 `yaml:»port» envconfig:»DB_PGSQL_PORT»` Name string `yaml:»name» envconfig:»DB_PGSQL_NAME»` Username string `yaml:»username» envconfig:»DB_PGSQL_USERNAME»` Password string `yaml:»password» envconfig:»DB_PGSQL_PASSWORD»` } `yaml:»pgsql»` Redis struct { Host string `yaml:»host» envconfig:»DB_REDIS_HOST»` Port int64 `yaml:»port» envconfig:»DB_REDIS_PORT»` Name string `yaml:»name» envconfig:»DB_REDIS_NAME»` Password string `yaml:»password» envconfig:»DB_REDIS_PASSWORD»` IsEnable bool `yaml:»is_enable» envconfig:»DB_REDIS_ISENABLE»` } `yaml:»redis»` Arango struct { Host string `yaml:»host» envconfig:»DB_ARANGO_HOST»` Port int64 `yaml:»port» envconfig:»DB_ARANGO_PORT»` Name string `yaml:»name» envconfig:»DB_ARANGO_NAME»` Username string `yaml:»username» envconfig:»DB_ARANGO_USERNAME»` Password string `yaml:»password» envconfig:»DB_ARANGO_PASSWORD»` IsEnable bool `yaml:»is_enable» envconfig:»DB_ARANGO_ISENABLE»` } `yaml:»arango»` } `yaml:»databases»` Logging struct { Level string `yaml:»level» envconfig:»LOG_LEVEL»` Format string `yaml:»format» envconfig:»LOG_FORMAT»` } `yaml:»logging»` App struct { Name string `yaml:»name» envconfig:»APP_NAME»` Version string `yaml:»version» envconfig:»APP_VERSION»` URL string `yaml:»url» envconfig:»APP_URL»` UploadsPath string `yaml:»uploads_path» envconfig:»APP_UPLOADSPATH»` Mode string `yaml:»mode» envconfig:»APP_MODE»` ApiToken string `yaml:»api_token» envconfig:»APP_APITOKEN»` Lang string `yaml:»lang» envconfig:»APP_LANG»` Platforms string `yaml:»platforms» envconfig:»APP_PLATFORMS»` MaxProc int8 `yaml:»max_proc» envconfig:»APP_MAXPROC»` URLPrefix string `yaml:»url_prefix» envconfig:»APP_URLPREFIX»` MatrixCalculatorInstanceLifeTime int64 `yaml:»matrix_calculator_instance_lifetime» envconfig:»APP_MATRIXCALCULATORINSTANCELIFETIME»` RecentlySavedFactResultLifeTime int64 `yaml:»recently_saved_fact_result_lifetime» envconfig:»APP_RECENTLYSAVEDFACTRESULTLIFETIME»` SendCodeLockTime int64 `yaml:»send_code_locktime» envconfig:»APP_SENDCODELOCKTIME»` } `yaml:»app»` Services struct { Call struct { Name string `yaml:»name» envconfig:»SERVICE_CALL_NAME»` Login string `yaml:»login» envconfig:»SERVICE_CALL_LOGIN»` Secret string `yaml:»secret» envconfig:»SERVICE_CALL_SECRET»` Options map[string]interface{} `yaml:»options» envconfig:»SERVICE_CALL_OPTIONS»` } `yaml:»call»` Email struct { Name string `yaml:»name» envconfig:»SERVICE_EMAIL_NAME»` Login string `yaml:»login» envconfig:»SERVICE_EMAIL_LOGIN»` Secret string `yaml:»secret» envconfig:»SERVICE_EMAIL_PASSWORD»` Options map[string]interface{} `yaml:»options» envconfig:»SERVICE_EMAIL_OPTIONS»` } `yaml:»email»` Sms struct { Name string `yaml:»name» envconfig:»SERVICE_SMS_NAME»` Login string `yaml:»login» envconfig:»SERVICE_SMS_LOGIN»` Secret string `yaml:»secret» envconfig:»SERVICE_SMS_SECRET»` Options map[string]interface{} `yaml:»options» envconfig:»SERVICE_SMS_OPTIONS»` } `yaml:»sms»` Push struct { Name string `yaml:»name» envconfig:»SERVICE_PUSH_NAME»` Login string `yaml:»login» envconfig:»SERVICE_PUSH_LOGIN»` Secret string `yaml:»secret» envconfig:»SERVICE_PUSH_SECRET»` Options map[string]interface{} `yaml:»options» envconfig:»SERVICE_PUSH_OPTIONS»` } `yaml:»push»` PushP4r struct { Name string `yaml:»name» envconfig:»SERVICE_PUSHP4R_NAME»` Login string `yaml:»login» envconfig:»SERVICE_PUSHP4R_LOGIN»` Secret string `yaml:»secret» envconfig:»SERVICE_PUSHP4R_SECRET»` Options map[string]interface{} `yaml:»options» envconfig:»SERVICE_PUSHP4R_OPTIONS»` } `yaml:»pushp4r»` } `yaml:»services»` } |
}
Возможные параметры конфигурации через flag
—cwd – путь к рабочаей дирректории(по умолчанию /var/lib/kpidrive)