Skip to content

OPNsenseをネットワーク機器の独立ベンダーsubCategoryとして分離 #622

Description

@tvna

背景

networkカテゴリのsubCategory: "ファイアウォール"バケット(31件)には、OPNsense製品固有のテンプレート25件(opnsense-*)と、Rocky Linux/firewalldの汎用OS機能テンプレート6件(firewall-rules, firewall-block-triage, conntrack-full-triage, firewall-rule-audit, firewalld-zone-design, firewalld-port-forward)が混在している。

OPNsenseは完結したルータ/ファイアウォールOS(仮想アプライアンス、通常VMまたは専用機として導入)であり、実際のテンプレート内容も実在のOPNsense GUIパス(Firewall > Settings > Advanced等)・REST API・CARP/pfsync構成など製品固有の内容になっている。これはCisco/Fortinet/Palo Alto Networks/SonicWall等、既にベンダー専用subCategory(個別レールエントリ)を持つ他ベンダーと同じ性質でありながら、"ファイアウォール"という汎用トピックラベルのまま「共通」バケットに埋没している。

経緯

Issue #501(2026-07-30監査)は「既にベンダー名がsubCategoryに付いているエントリの内容一致」のみを検証範囲としており、OPNsenseはsubCategoryが"ファイアウォール"(トピックラベル)のため、そもそも監査対象の候補集合に入っていなかった。意図的に「変更不要」と判断されたわけではなく、単に検討対象から漏れていた。templates.ts全カテゴリを検索した結果、他に同様に紛れ込んでいる仮想アプライアンス製品(pfSense/VyOS/Untangle/Sophos/Check Point等)は存在せず、対象はOPNsenseの25件のみ。

スコープ

PR #611(データ移行)+ PR #613(レール分割)の前例パターンに倣う:

  1. web/src/lib/templates.ts: 該当25件のsubCategory"ファイアウォール""OPNsense"に変更(id/category/format/output/activityは変更なし)
  2. tests/unit/test_template_taxonomy.py: ALLOWED_SUBCATEGORIES["network"]"OPNsense"を追加("ファイアウォール"は残り6件のため存続)
  3. web/src/components/Library.tsx: NETWORK_VENDORS配列に{ id: 'opnsense', label: 'OPNsense' }を追加し、左レールに個別ボタンを表示
  4. web/src/components/Library.test.tsx: network-commonのカウントを25件減、network-opnsenseエントリを25件で追加

.j2/データファイル本体の変更は不要(内容は既にOPNsense固有で正確)。

検証

  • uv run pytest -k 'not e2e'(taxonomy testが新規許可値を認識することを確認)
  • python3 scripts/local_render_check.py(既存794テンプレートに回帰がないことを確認)
  • cd web && npx tsc -b && npx vitest run(Library rail/groupBySubCategoryのテスト)

Refs #501

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions