app

package module
v0.0.0-...-741829b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2018 License: MIT Imports: 14 Imported by: 3

README

Библиотека app

Библиотека app представляет набор вспомогательных функций, используемых при инициализации и работе приложения. В частности, разбор версии приложения и инициализация работы HTTP-сервера.

Documentation

Overview

Package app представляет набор вспомогательных функций, используемых при инициализации и работе приложения. В частности, разбор версии приложения и инициализация работы HTTP-сервера.

Index

Constants

This section is empty.

Variables

View Source
var (
	LetsEncryptEmail = "dmitrys@xyzrd.com"
	LetsEncryptCache = "letsEncrypt.cache"
)

Настройки, используемые для получения и хранения сертификатов Let's Encrypt.

View Source
var Agent = "mdigger/1.0"

Agent задает строку, которая может использоваться в качестве имени агента при http-запросах.

View Source
var DefaultPort = "8000"

DefaultPort используется как порт по умолчанию при разборе функцией Port.

Functions

func Env

func Env(name, _default string) string

Env возвращает строку из окружения с заданным именем или значение по умолчанию, если окружение не задано.

func IsDocker

func IsDocker() bool

IsDocker возвращает true, если приложение запущено в контейнере.

func LetsEncrypt

func LetsEncrypt(hosts ...string) *tls.Config

LetsEncrypt возвращает инициализированный конфиг поддержки TLS с использованием сертификатов Let's Encrypt. Автоматически запускает веб сервер на 80 порту, который поддерживает проверку валидности домена и перенаправляет все запросы на 443 порт.

func LoadCertificates

func LoadCertificates(dir string) (*tls.Config, error)

LoadCertificates загружает пары сертификатов из указанного каталога. Сертификаты должны быть в формате PEM и иметь одинаковые имена для приватного ключа (*.key) и публичного сертификата (*.crt). Если ни одного сертификата не загружено, то возвращает nil.

func LogInfo

func LogInfo() []log.Field

LogInfo возвращает информацию о версии приложения в виде списка полей лога.

func Parse

func Parse(name, version, commit, date string)

Parse разбирает информацию о версии приложения с заполняет соответствующую встроенную структуру.

func Port

func Port(port string) (string, error)

Port возвращает нормализованное имя порта и хоста (опционально), на котором будет отвечать веб сервер.

func Uptime

func Uptime() time.Duration

Uptime возвращает время работы приложения.

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 описывает информацию о версии приложения.

func Get

func Get() Info

Get возвращает копию информации о версии приложения.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL