Documentation ¶
Overview ¶
Package app представляет набор вспомогательных функций, используемых при инициализации и работе приложения. В частности, разбор версии приложения и инициализация работы HTTP-сервера.
Index ¶
- Variables
- func Env(name, _default string) string
- func IsDocker() bool
- func LetsEncrypt(hosts ...string) *tls.Config
- func LoadCertificates(dir string) (*tls.Config, error)
- func LogInfo() []log.Field
- func Parse(name, version, commit, date string)
- func Port(port string) (string, error)
- func Uptime() time.Duration
- type Info
Constants ¶
This section is empty.
Variables ¶
var ( LetsEncryptEmail = "dmitrys@xyzrd.com" LetsEncryptCache = "letsEncrypt.cache" )
Настройки, используемые для получения и хранения сертификатов Let's Encrypt.
var Agent = "mdigger/1.0"
Agent задает строку, которая может использоваться в качестве имени агента при http-запросах.
var DefaultPort = "8000"
DefaultPort используется как порт по умолчанию при разборе функцией Port.
Functions ¶
func Env ¶
Env возвращает строку из окружения с заданным именем или значение по умолчанию, если окружение не задано.
func IsDocker ¶
func IsDocker() bool
IsDocker возвращает true, если приложение запущено в контейнере.
func LetsEncrypt ¶
LetsEncrypt возвращает инициализированный конфиг поддержки TLS с использованием сертификатов Let's Encrypt. Автоматически запускает веб сервер на 80 порту, который поддерживает проверку валидности домена и перенаправляет все запросы на 443 порт.
func LoadCertificates ¶
LoadCertificates загружает пары сертификатов из указанного каталога. Сертификаты должны быть в формате PEM и иметь одинаковые имена для приватного ключа (*.key) и публичного сертификата (*.crt). Если ни одного сертификата не загружено, то возвращает nil.
func Parse ¶
func Parse(name, version, commit, date string)
Parse разбирает информацию о версии приложения с заполняет соответствующую встроенную структуру.
Types ¶
type Info ¶
type Info struct { Name string `json:"name"` // название приложения Version string `json:"version,omitempty"` // версия Commit string `json:"git,omitempty"` // идентификатор коммита git Date *time.Time `json:"build,omitempty"` // дата сборки Started time.Time `json:"-"` // время старта сервиса }
Info описывает информацию о версии приложения.