コンテンツにスキップ

設定リファレンス

Wippyは.wippy.yamlファイルで設定されます。すべてのオプションには妥当なデフォルト値があります。

以下の値はいずれも、起動時に wippy run --set section.path=value で上書きできます(繰り返し指定可能で、ファイルより優先されます)。これらの設定セクションではなく個々のレジストリエントリを上書きするには、override: セクションまたは -o を使用します — エントリの上書きを参照してください。

zap ロガーのエンコーダを制御します。CLI フラグ(-v, -c, -s)はレベル/出力を上書きします。yaml で制御できる唯一のオプションはエンコーディングです。

フィールドデフォルト説明
encodingstringconsoleエンコーダ: console(人間可読)または json(構造化)
logger:
encoding: json

ランタイムログルーティングを制御します。コンソール出力はCLIフラグ-v, -c, -s)で設定します。

フィールドデフォルト説明
propagate_downstreambooltrueログをコンソール/ファイル出力に送信
stream_to_eventsboolfalseプログラムアクセス用にログをイベントバスに公開
min_levelint-1最小レベル: -1=debug, 0=info, 1=warn, 2=error
logmanager:
propagate_downstream: true
stream_to_events: false
min_level: 0

参照: ロガーモジュール

CPU/メモリプロファイリング用のGo pprof HTTPサーバー。-pフラグまたは設定で有効化。

フィールドデフォルト説明
enabledboolfalseプロファイラサーバーを起動
addressstringlocalhost:6060リッスンアドレス
read_timeoutduration15sHTTP読み取りタイムアウト
write_timeoutduration15sHTTP書き込みタイムアウト
idle_timeoutduration60sKeep-aliveタイムアウト
profiler:
enabled: true
address: "localhost:6060"

アクセス: http://localhost:6060/debug/pprof/

グローバルセキュリティ動作。個別のポリシーはsecurity.policyエントリとして定義されます。

フィールドデフォルト説明
strict_modeboolfalseセキュリティコンテキストが不完全な場合にアクセスを拒否
security:
strict_mode: true

参照: セキュリティシステム, セキュリティモジュール

エントリストレージとバージョン履歴。レジストリはすべての設定エントリを保持します。

フィールドデフォルト説明
enable_historybooltrueエントリバージョンを追跡
history_typestringmemoryストレージ: memory, sqlite, nil
history_pathstring.wippy/registry.dbSQLiteファイルパス
registry:
history_type: sqlite
history_path: /var/lib/wippy/registry.db

参照: レジストリコンセプト, レジストリモジュール

ノード間のプロセス間メッセージルーティング。

フィールドデフォルト説明
node_namestringlocalこのリレーノードの識別子
relay:
node_name: worker-1

参照: プロセスモデル

サービスライフサイクル管理。ライフサイクルイベントのディスパッチに使用されるスーパーバイザの内部制御メールボックスを制御します。

フィールドデフォルト説明
host.buffer_sizeint1024内部制御メールボックスの容量
host.worker_countint16同時ディスパッチャーワーカー数
supervisor:
host:
buffer_size: 2048
worker_count: 32

参照: スーパービジョンガイド

`process.host`ごとのワーカーとキューは、このグローバルセクションではなく、エントリ自体(`workers`、`queue_size`、`local_queue_size`)で設定します。[Process Host](system/process-host.md)エントリ種別を参照してください。

Lua VMキャッシュと式評価。

フィールドデフォルト説明
proto_cache_sizeint60000コンパイル済みプロトタイプキャッシュ
main_cache_sizeint10000メインチャンクキャッシュ
cache.enabledboolfalseコンパイル済みバイトコード/型チェックキャッシュをディスクに永続化
cache.dirstring(システムキャッシュディレクトリ)キャッシュディレクトリパス
cache.modestringread_writeキャッシュモード: read_write, read_only, write_only
type_system.enabledboolfalse静的型チェックを有効化
type_system.strictboolfalse型警告をエラーとして扱う
lua:
proto_cache_size: 60000
cache:
enabled: true
dir: .cache/lua
type_system:
enabled: true

参照: Lua概要

レジストリ検索キャッシュ。エントリルックアップに内部的に使用されます。

フィールドデフォルト説明
query_cache_sizeint1000キャッシュされたクエリ結果
regex_cache_sizeint100コンパイル済み正規表現パターン
finder:
query_cache_size: 2000

OTLPによる分散トレーシングとメトリクスエクスポート。

フィールドデフォルト説明
enabledboolfalseOTELを有効化
endpointstringlocalhost:4318OTLPエンドポイント
protocolstringhttp/protobufプロトコル: grpc, http/protobuf
service_namestringwippy-runtimeサービス識別子
service_versionstringサービスバージョンタグ
insecurebooltrue平文 OTLP 接続を許可
sample_ratefloat1.0トレースサンプリング(0.0-1.0)
propagatorsstring[][tracecontext, baggage]コンテキストプロパゲータ
traces_enabledbooltrueトレースをエクスポート
metrics_enabledboolfalseメトリクスをエクスポート
http.enabledbooltrueHTTPリクエストをトレース
http.extract_headersbooltrue受信ヘッダからトレースコンテキストを抽出
http.inject_headersbooltrue送信ヘッダにトレースコンテキストを注入
process.enabledbooltrueプロセスライフサイクルをトレース
process.trace_lifecyclebooltruespawn/terminate の span を発行
interceptor.enabledbooltrue関数呼び出しをトレース
interceptor.orderint100インターセプタの優先度
queue.enabledbooltrueキューの publish/consume をトレース
temporal.enabledboolfalseTemporal ワークフローをトレース
otel:
enabled: true
endpoint: "http://jaeger:4318"
traces_enabled: true
process:
trace_lifecycle: true

標準 OTEL 環境変数(OTEL_EXPORTER_OTLP_ENDPOINTOTEL_SERVICE_NAMEOTEL_TRACES_SAMPLER_ARGOTEL_PROPAGATORSOTEL_SDK_DISABLED)は一致するフィールドを上書きします。

参照: 可観測性ガイド

グレースフルシャットダウン動作。

フィールドデフォルト説明
timeoutduration30sコンポーネント停止の最大待機時間
shutdown:
timeout: 60s

内部メトリクス収集バッファ。

フィールドデフォルト説明
buffer.sizeint10000メトリクスバッファ容量
interceptor.enabledboolfalse関数呼び出しを自動追跡
metrics:
buffer:
size: 20000
interceptor:
enabled: true

参照: メトリクスモジュール, 可観測性ガイド

Prometheusメトリクスエンドポイント。

フィールドデフォルト説明
enabledboolfalseメトリクスサーバーを起動
addressstringlocalhost:9090リッスンアドレス
prometheus:
enabled: true
address: "0.0.0.0:9090"

Prometheusスクレイピング用の/metricsエンドポイントを公開します。

参照: 可観測性ガイド

マルチノードクラスタリング: ゴシップメンバーシップと有界 Raft コンセンサスコア。アーキテクチャと運用モデルについてはクラスタガイドを参照。このセクションは設定キーのリファレンスです。

フィールドデフォルト説明
enabledboolfalseクラスタリングを有効化
namestringhostnameノード名。クラスタ全体で一意でなければならない
failure_domainstringゾーン/ラックラベル。ゴシップで通知され、投票ノードがドメインをまたぐように分散される

memberlist による SWIM ゴシップ。ノード探索、障害検出、メタデータ伝播に使用されます。

フィールドデフォルト説明
membership.bind_addrstring0.0.0.0ゴシップバインドアドレス
membership.bind_portint7946ゴシップバインドポート (TCP+UDP)
membership.advertise_addrstringピアがこのノードに到達するためのアドレス (NAT/k8s)
membership.join_addrsstringカンマ区切りのシード host:port ペア
membership.secret_keystringBase64エンコードされたゴシップ暗号化キー(インライン)
membership.secret_filestringゴシップ暗号化キーを保持するファイルのパス

ノード間でリレーと Raft トラフィックを運ぶ TCP メッシュ。Raft はこのメッシュ上を走行(yamux 多重化)し、独立した Raft ポートはありません。

フィールドデフォルト説明
internode.bind_addrstring0.0.0.0メッシュバインドアドレス
internode.bind_portint0メッシュポート(0 = 自動: 7950-7959、その後エフェメラル)
internode.auto_portbooltrue起動時に実際のポートを探索して固定し、ゴシップで通知する

有界 Raft。Raft の状態はデフォルトで fs 永続化され、raft.data_dir(デフォルト ~/.wippy/store)の下に保存されます。再起動したノードでもピアからクォーラムに再参加します。store.kv.raft エントリはこれを通じてレプリケートされます。ブートストラップはゴシップ駆動(Consul/Nomad の bootstrap_expect スタイル)です。

フィールドデフォルト説明
raft.data_dirstring~/.wippy/storefs 永続化された Raft 状態と永続 CRDT スナップショットのディレクトリ(<data_dir>/_sys/ の下)。パスが解決されない場合(ホームディレクトリがなく未設定)のみディスクレス
raft.enabledbooltrueRaft ノードを実行。false にするとゴシップのみのクライアントになる
raft.rolestringserverserver は Raft ノードを実行。client はゴシップのみ
raft.eligiblebooltrueこのノードが投票ノードとして選択される可能性があるかどうか
raft.priorityint100投票ノード選択の優先度(値が小さいほど優先)
raft.bootstrap_expectint1初期クォーラムサイズ: 0=既存クラスタに参加のみ、1=単一ノード、N=N個の適格ピアを待ってからクォーラムを形成
raft.max_votersint5投票ノードの上限(奇数でなければならない)。それ以上の適格ノードはスタンバイになる
raft.max_standbysint4昇格に備えて保持する非投票メンバー数。投票ノード+スタンバイを超えたノードは Raft メンバーではない
raft.reconcile_debounceduration2sゴシップイベント後、投票ノード調整ロジックが実行されるまでの集約ウィンドウ
raft.reconcile_timeoutduration2s調整パスごとの上限時間
raft.heartbeat_timeoutduration3sフォロワーが選挙を開始するまでのアイドル待機時間
raft.election_timeoutduration3s候補ノードの選挙タイムアウト(ハートビート以上にクランプされる)
raft.commit_timeoutduration500msリーダーのアイドルハートビート間隔
raft.snapshot_thresholduint648192新しいスナップショットを作成するまでの最後のスナップショット以降のログエントリ数
raft.snapshot_intervalduration2mスナップショットチェック間隔
raft.snapshot_retainint3保持するスナップショット数
raft.trailing_logsuint6410240スナップショット後に保持するログエントリ数
raft.max_append_entriesint16AppendEntries RPC あたりの最大エントリ数
raft.leader_probe_intervalduration3sグローバルレジストリのリーダー到達可能性プローブ間隔
raft.leader_probe_graceint3リーダーが到達不能と宣言されるまでの連続プローブ失敗回数

単一ノード(開発用)— クラスタリング有効、即座にブートストラップ:

cluster:
enabled: true
name: dev
raft:
bootstrap_expect: 1

3ノード投票クラスタ — 各ノードが他のノードをシードとして指定し、3つ全てが揃うのを待ってからクォーラムを形成:

cluster:
enabled: true
name: node-1
failure_domain: us-east-1a
membership:
bind_port: 7946
join_addrs: "node-2:7946,node-3:7946"
secret_file: /etc/wippy/cluster.key
raft:
bootstrap_expect: 3
max_voters: 5

ゴシップのみのクライアント — 名前付けやメッセージングのためにクラスタに参加するが、Raft は実行しない:

cluster:
enabled: true
name: edge-7
membership:
join_addrs: "node-1:7946,node-2:7946"
raft:
role: client

エディタ統合のためのLanguage Server Protocolサーバー。

フィールドデフォルト説明
enabledboolfalseTCPサーバーを有効化
addressstring:7777TCPリッスンアドレス
http_enabledboolfalseHTTPトランスポートを有効化
http_addressstring:7778HTTPリッスンアドレス
http_pathstring/lspHTTPエンドポイントパス
http_allow_originstring*CORS許可オリジン
max_message_bytesint8388608受信メッセージの最大サイズ
lsp:
enabled: true
address: ":7777"
http_enabled: true

参照: LSPガイド

オーバーレイネットワークマネージャ(SOCKS5、I2P、Tailscaleドライバ)。

フィールドデフォルト説明
state_dirstring.wippy/netドライバ状態ストレージディレクトリ
default_networkstringエントリで network を省略した場合に適用されるデフォルトネットワークID
network_service:
state_dir: /var/lib/wippy/net
default_network: app:tailscale

参照: ネットワークオーバーレイ

HTTP ディスパッチ関数や送信リクエストで使用される共有 HTTP クライアントプールのチューニング。

フィールドデフォルト説明
dispatcher.http.timeoutduration0 (なし)リクエストごとのタイムアウト
dispatcher.http.max_idle_connsint0 (stdlib)全ホスト合計のアイドル接続数上限
dispatcher.http.max_idle_per_hostint0 (stdlib)ホストごとのアイドル接続数上限
dispatcher.http.idle_conn_timeoutduration0 (stdlib)アイドル接続タイムアウト
dispatcher.http.max_clientsint0 (無制限)プールする個別クライアントの上限
dispatcher:
http:
timeout: 30s
max_idle_per_host: 32

wippy install/update で使用されるモジュールレジストリクライアント。

フィールドデフォルト説明
registry_urlstringhttps://hub.wippy.aiレジストリエンドポイント
modules:
registry_url: https://internal-registry.example.com

起動時に読み込まれるネイティブGoプラグイン拡張機能(Unixのみ)。

フィールドデフォルト説明
enabledbooltrue拡張機能を読み込む
pathsstring[]プラグインファイルパス(設定ディレクトリからの相対パス)
extensions:
enabled: true
paths:
- ./extensions/myplugin.so
変数説明
GOMEMLIMITメモリ制限(--memory-limitフラグをオーバーライド)