本文へ移動
cccskills
無料GitHub で公開

add-addressing-mode

Add a new addressing mode to Turnfleet - implement Planner and Renderer, golden tests, an e2e case and an ADR. Use when a new way of assigning relay addresses or port ranges is needed.

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleetスター 2(GitHub 2 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Adding an addressing mode

An addressing mode answers two questions: which node does a relay run on, and which public relay identity (address, port range) does it own. Anything that does not change capacity accounting is not a new mode.

  1. Extend the enum. api/v1alpha1/AddressingMode plus the +kubebuilder:validation:Enum marker. Adding a value breaks every switch over the type by design, so fix them all (exhaustive enforces it).
  2. Implement internal/relay.Planner for the mode:
    • Deterministic ordering (sort nodes and addresses) so identities are stable across restarts and controller failover.
    • A candidate set of relay identities: (address, disjoint port range). Prove disjointness, do not assume it.
    • A relay moves only when its node or its address disappears. Anything else is a capacity bug the e2e suite will not catch.
    • Capacity honesty: if the mode shares one IP between relays, the plan must say so (portsTotal sums to one IP's port space, not more).
  3. Implement internal/relay.Renderer for the mode: listening address, relay address, -E/-X mapping, port range, listeners, realm, secret, denied peers. Every coturn flag must already appear in internal/relay/testdata/coturn-4.18.0-r0-help.txt. Before adding a flag, re-capture that file from the pinned image (docker run --rm <pinned coturn> turnserver --help) and update docs/adr/0008-coturn-config-rendering.md.
  4. Golden tests, one file per mode under internal/relay/testdata/, plus a planner test for stability, rebalancing and disjointness. The FuzzRenderer target must still pass.
  5. Webhook validation for mode-specific config in internal/webhook/v1alpha1/turnpool_webhook.go: required fields present, forbidden fields absent, ranges partitioned without overlap.
  6. An e2e case in test/e2e/ that proves the mode with real relays: the advertised address is the expected one, the ranges are disjoint, and each relay answers a real TURN Allocate. Fixtures go in test/fixtures/.
  7. An ADR docs/adr/NNNN-addressing-mode-<name>.md: what the mode is for, what it costs, what capacity it actually adds (often none), and what it forbids. Update the modes table in docs/adr/0001-addressing-modes.md and docs/capacity-model.md in the same change.
  8. Prove it: make ci then make test-e2e.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Change the TURNPool API types safely - edit types and markers, regenerate, update webhooks, tests and docs. Use whenever a field is added, removed or re-marked in api/v1alpha1.

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleet22026年10月25日 更新

Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleet22026年10月25日 更新

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleet22026年10月25日 更新

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleet22026年10月25日 更新

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleet22026年10月25日 更新

e2e-debug

無料

Debug a failing relay end to end - inspect the kind cluster, relay logs and rendered coturn config, and run turnfleet-probe by hand. Use when a relay never forms, a probe fails, or an e2e case breaks.

日本語の概要は準備中です。原文の説明を表示しています。

Hazmi35/turnfleet22026年10月25日 更新

Hazmi35 のスキルをすべて見る

このスキルの問題を報告する