Class HaproxyConnector

Description

Haproxy connector

Features:

  • connector manager for haproxy

Example

import { inject, container, Types, Core } from '@biorate/inversion';
import { IConfig, Config } from '@biorate/config';
import { HaproxyConnector, HaproxyConfig } from '@biorate/haproxy';

class Root extends Core() {
@inject(HaproxyConnector) public connector: HaproxyConnector;
}

container.bind<IConfig>(Types.Config).to(Config).inSingletonScope();
container.bind<HaproxyConnector>(HaproxyConnector).toSelf().inSingletonScope();
container.bind<Root>(Root).toSelf().inSingletonScope();

container.get<IConfig>(Types.Config).merge({
Haproxy: [
{
name: 'connection',
debug: false,
readiness: {
nodes: ['postgresql1', 'postgresql2', 'postgresql3'],
retries: 10,
delay: 1000,
},
config: {
global: [
'maxconn 100',
'stats socket {{stat_socket_path}} mode 660 level admin expose-fd listeners',
'stats timeout 5s',
],
defaults: [
'log global',
'retries 2',
'timeout client 30m',
'timeout connect 4s',
'timeout server 30m',
'timeout check 5s',
],
'listen stats': ['mode http', 'bind *:7001', 'stats enable', 'stats uri /'],
'listen postgres': [
'mode tcp',
'bind *:7000',
'option httpchk',
'http-check expect status 200',
'default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions',
'server postgresql1 127.0.0.1:5433 maxconn 100 check port 8008',
'server postgresql2 127.0.0.1:5434 maxconn 100 check port 8008',
'server postgresql3 127.0.0.1:5435 maxconn 100 check port 8008',
],
},
},
],
});

(async () => {
const root = <Root>container.get<Root>(Root);
await root.$run();
})();

Hierarchy

Constructors

Properties

#configs: WeakMap<IHaproxyConnection, IHaproxyConfig> = ...

Description

config / connection mapping

#connections: Map<string, IHaproxyConnection>

Description

Private connections storage

#connections: Map<string, IHaproxyConnection> = ...

Description

Private connections storage

Description

Private link to selected (used) connection

#current: IHaproxyConnection = undefined

Description

Private link to selected (used) connection

config: IConfig

Description

Config dependency

namespace: "Haproxy" = 'Haproxy'

Description

Namespace path for fetching configuration

Accessors

Methods

Generated using TypeDoc