Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add ACL Support

オープン
#52 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
api, backend, testing

調査の方向性

stubs/wit_world/imports/acl.py の WIT binding から始め、この issue の ACL インターフェースと API 要件を確認してください。test.toml と data/acl.json、および @on_viceroy テストを使用して、ACL のオープン、IPv4 と IPv6 アドレスのマッチング、エントリーメタデータのパース、ミスした場合の None の返却を検証してください。

索引モデルが issue の本文から書いたものです。

説明

Overview

Add support for Fastly's Access Control Lists (ACLs), providing IP-based blocklists and access control.

WIT Interface

interface acl {
  use types.{error, open-error, ip-address};

  resource acl {
    open: static func(name: string) -> result<acl, open-error>;
    lookup: func(ip-addr: ip-address) -> result<option<body>, acl-error>;
  }

  enum acl-error {
    too-many-requests,
    generic-error
  }
}

WIT bindings: stubs/wit_world/imports/acl.py

API Design

  • Implement ACL resource wrapper
  • lookup(ip) accepts str, IPv4Address, or IPv6Address and returns Optional[dict]
  • Parse JSON body response from WIT layer when IP matches ACL entry
  • Return None when IP not found in ACL (no match)

Cross-SDK Comparison: All SDKs expose open(name) and lookup(ip) returning entry with prefix, action, id fields. Simple consistent API across languages.

Viceroy Testing

Viceroy supports ACL with JSON file-based test data via test.toml:

[local_server]
# Path to JSON file with ACL entries
acls.my_blocklist = "../data/acl.json"

# Or using object syntax
acls.my_allowlist = { file = "../data/allowlist.json" }

ACL JSON file format maps IP addresses to metadata objects. Lookup operations work with test data. Tests can use @on_viceroy with file references in TOML configuration.

Reference

主要言語
Python
スター
5
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fastly/compute-sdk-python のほかの issue

fastly/compute-sdk-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。