genvid.toolbox.ConsulService

class genvid.toolbox.ConsulService(**kwargs)

ベースクラス: genvid.toolbox.service.ServiceTool

Consul サービスを設定するためのベース class。

NAME = 'service-consul'
SERVICE_NAME = 'consul'
get_service_args(configdir, datadir, mode)

Consul モードに応じて、ベース引数を返す (dev かどうか)。

get_recursors()
get_config(name, mode, datacenter, bind, wan, bootstrap, replace_dns, servers, ec2_tag, ec2_value, join_policy, node_id, **ignored)

設定を、JSON オブジェクトとしてアクセスできる辞書として返す。

デフォルトの設定は、このメソッドの結果をオーバーライドすることで変更可能。

Args:

name: ノード名

mode: サービスを実行するモード (dev、server、client)。

datacenter: Consul に関連付ける datacenter

bind: アドバタイズされた LAN IP アドレス。Consul は 「0.0.0.0」 にバウンドしますが、
単一アドレスをアドバタイズする必要があります。

wan: アドバタイズされた WAN IP アドレス。存在する場合、WAN 変換を有効化します。

bootstrap: サーバーモードのみ: 想定される bootstrap サーバー数。
-1 に設定すれば、リストされたサーバー数を使用します。
replace_dns: Consul をポート 53 で実行し、Consul を nameservers のリストに追加する。
(現在、Linux のみ)。

servers: 再起動時に再試行するサーバーのリスト。

ec2_tag: ec2_tag および join_policy は相互排他関係にあります。 ec2_tag は下位互換性のために保持されています。
サーバーの EC2 インスタンスのタグ。AWS インスタンスである必要があります。

ec2_value: サーバーをチェックする EC2 の値。AWS インスタンスである必要があります。

join_policy: retry_join consul 設定で使用されるリトライジョインポリシー

node_id: 使用されるノード ID。設定されていない場合は、ノード ID が自動的に生成されます。

class service.ConsulService

genvid.toolbox.ConsulService の実装