1.120.0 • Published 7 months ago

@biorate/haproxy v1.120.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Haproxy

Haproxy connector

Examples:

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();
})();

Learn

  • Documentation can be found here - docs.

Release History

See the CHANGELOG

License

MIT

Copyright (c) 2021-present Leonid Levkin (llevkin)

1.96.0

11 months ago

1.95.1

11 months ago

1.91.5

12 months ago

1.95.0

11 months ago

1.91.4

12 months ago

1.93.1

11 months ago

1.91.3

12 months ago

1.93.0

11 months ago

1.91.2

12 months ago

1.91.1

12 months ago

1.91.0

12 months ago

1.90.0

12 months ago

1.100.0

9 months ago

1.120.0

7 months ago

1.104.0

9 months ago

1.102.0

9 months ago

1.102.1

9 months ago

1.76.3

1 year ago

1.65.4

2 years ago

1.63.0

2 years ago

1.64.0

2 years ago

1.62.2

2 years ago