跳到正文
cccskills
免费在 GitHub 公开

api-change

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/turnfleet星标 2(GitHub 2 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md2.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Changing the TURNPool API

Work in this order. Each step catches a different class of mistake.

  1. Edit api/v1alpha1/turnpool_types.go.
    • Every field is explicitly +optional or +required. No floats. Ratios are portsInUse/portsTotal integers that consumers divide.
    • Lists get +listType=map + +listMapKey=<key> (or +listType=atomic with a one-line reason). Avoid maps.
    • Status fields are +optional and derived from the spec, never cached from it. Conditions stay the first status field, set with meta.SetStatusCondition.
    • New enum values: extend the Go type, the +kubebuilder:validation:Enum marker, and every switch over it (the exhaustive linter fails the build otherwise). Add the doc comment on the new value, and the AGENTS.md glossary line for it when the value names a domain concept, in the same edit.
  2. Decide mutability. Anything that would invalidate live allocations is immutable: relay port range, addressing mode and its per-node split, realm. Adding it to the immutability check in internal/webhook/v1alpha1/turnpool_webhook.go is part of the change, with the reason in the validation message.
  3. Regenerate (make generate manifests api-docs). Never hand-edit zz_generated.deepcopy.go, config/crd/bases/*, config/rbac/role.yaml or docs/api.md.
  4. Update the webhooks: defaulting for anything with a sensible default, validating for the rules the CRD schema cannot express (mode-specific config, listener port uniqueness, ports outside the relay range, overlap between relays sharing an address).
  5. Update tests:
    • internal/webhook/v1alpha1/turnpool_webhook_test.go for defaulting and each rejection (envtest, table-driven).
    • internal/relay golden files if the rendered coturn config changes; a new field that reaches the data plane always changes the goldens.
    • test/e2e/ if the field is observable from outside.
  6. Update docs: docs/api.md is generated. docs/architecture.md and docs/capacity-model.md are not. A new addressing mode also needs an ADR (add-addressing-mode).
  7. Prove it: make ci. If the change touches the data plane, make test-e2e.

Report which files changed and which command proved the change.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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/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 的全部技能

报告此技能的问题