Documentation
¶
Index ¶
Constants ¶
View Source
const (
// DefaultConfig is the default file path for the uhppoted configuration file
DefaultConfig = "/etc/uhppoted/uhppoted.conf"
)
View Source
const ROLLOVER = 100000
Variables ¶
This section is empty.
Functions ¶
func DefaultIpAddresses ¶
Types ¶
type AWS ¶
type Config ¶
type Connection ¶
type Connection struct {
Broker string `conf:"broker"`
ClientID string `conf:"client.ID"`
Username string `conf:"username"`
Password string `conf:"password"`
BrokerCertificate string `conf:"broker.certificate"`
ClientCertificate string `conf:"client.certificate"`
ClientKey string `conf:"client.key"`
}
type HTTPD ¶
type HTTPD struct {
HttpEnabled bool `conf:"http.enabled"`
HttpPort uint16 `conf:"http.port"`
HttpsEnabled bool `conf:"https.enabled"`
HttpsPort uint16 `conf:"https.port"`
CACertificate string `conf:"tls.ca"`
TLSCertificate string `conf:"tls.certificate"`
TLSKey string `conf:"tls.key"`
RequireClientCertificate bool `conf:"tls.client.certificates.required"`
Security struct {
Auth string `conf:"auth"`
AuthDB string `conf:"local.db"`
CookieMaxAge int `conf:"cookie.max-age"`
LoginExpiry string `conf:"login.expiry"`
SessionExpiry string `conf:"session.expiry"`
StaleTime time.Duration `conf:"stale-time"`
} `conf:"security"`
RequestTimeout time.Duration `conf:"request.timeout"`
System struct {
Controllers string `conf:"controllers"`
Doors string `conf:"doors"`
} `conf:"system"`
DB struct {
File string `conf:"file"`
Rules struct {
ACL string `conf:"acl"`
System string `conf:"system"`
Cards string `conf:"cards"`
} `conf:"rules"`
} `conf:"db"`
Audit struct {
File string `conf:"file"`
} `conf:"audit"`
Retention time.Duration `conf:"retention"`
}
type MQTT ¶
type MQTT struct {
ServerID string `conf:"server.ID"`
Connection Connection `conf:"connection"`
Topics Topics `conf:"topic"`
Alerts Alerts `conf:"alerts"`
EventsKeyID string `conf:"events.key"`
SystemKeyID string `conf:"system.key"`
EventIDs string `conf:"events.index.filepath"`
Permissions Permissions `conf:"permissions"`
Cards string `conf:"cards"`
HMAC HMAC `conf:"security.HMAC"`
Authentication string `conf:"security.authentication"`
HOTP HOTP `conf:"security.hotp"`
RSA RSA `conf:"security.rsa"`
Nonce Nonce `conf:"security.nonce"`
SignOutgoing bool `conf:"security.outgoing.sign"`
EncryptOutgoing bool `conf:"security.outgoing.encrypt"`
}
type OpenAPI ¶
func NewOpenAPI ¶
func NewOpenAPI() *OpenAPI
type Permissions ¶
type REST ¶
type REST struct {
HttpEnabled bool `conf:"http.enabled"`
HttpPort uint16 `conf:"http.port"`
HttpsEnabled bool `conf:"https.enabled"`
HttpsPort uint16 `conf:"https.port"`
TLSKeyFile string `conf:"tls.key"`
TLSCertificateFile string `conf:"tls.certificate"`
CACertificateFile string `conf:"tls.ca"`
RequireClientCertificates bool `conf:"tls.client.certificates"`
CORSEnabled bool `conf:"CORS.enabled"`
AuthEnabled bool `conf:"auth.enabled"`
Users string `conf:"auth.users"`
Groups string `conf:"auth.groups"`
HOTP HOTP `conf:"auth.hotp"`
}
type System ¶
type System struct {
BindAddress *net.UDPAddr `conf:"bind.address"`
BroadcastAddress *net.UDPAddr `conf:"broadcast.address"`
ListenAddress *net.UDPAddr `conf:"listen.address"`
Timeout time.Duration `conf:"timeout"`
HealthCheckInterval time.Duration `conf:"monitoring.healthcheck.interval"`
HealthCheckIdle time.Duration `conf:"monitoring.healthcheck.idle"`
HealthCheckIgnore time.Duration `conf:"monitoring.healthcheck.ignore"`
WatchdogInterval time.Duration `conf:"monitoring.watchdog.interval"`
}
type Topics ¶
type WildApricot ¶
type WildApricot struct {
HTTP struct {
ClientTimeout time.Duration `conf:"client-timeout"`
Retries int `conf:"retries"`
RetryDelay time.Duration `conf:"retry-delay"`
} `conf:"http"`
Fields struct {
CardNumber string `conf:"card-number"`
} `conf:"fields"`
DisplayOrder struct {
Groups string `conf:"groups"`
Doors string `conf:"doors"`
} `conf:"display-order"`
FacilityCode string `conf:"facility-code"`
}
func NewWildApricot ¶
func NewWildApricot() *WildApricot
Click to show internal directories.
Click to hide internal directories.