Skip to content

feat(dns): *.doany.io を Cloudflare の proxied にする - #501

Merged
5ym merged 1 commit into
mainfrom
feat/cloudflare-wildcard
Oct 22, 2026
Merged

5ym merged 1 commit into
mainfrom
feat/cloudflare-wildcard

Conversation

@5ym

@5ym 5ym commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

Cloudflare を通すのを基本にする 2 段目(1 段目は #500)。

変更

  • pulumi/dns.ts の *.doany.io を proxied: true に

事前に確かめたこと

#500 と danything/denpa#1263 のマージ後、通さない名前が全部 proxied ではない明示のレコードで、家の IP(59.140.229.91)で引けることを公開 DNS で確かめた:
nb・ah・fj・lk・dp・dp.l・ks・px・x.s(*.s)。md は別の IP(JCOM 側)のまま。

この PR で Cloudflare 経由になる名前

a・ac・h・hl・il・e・m・mta-sts・rt・yk・as(l・tk・ts・w・x・y はもともと Cloudflare 経由)。
SSL は Full (strict)(既存の zone 設定)。Rybbit は CF-Connecting-IP を自分で読むので、接続元の IP の扱いは変えない。

マージ後に見ること

  • 上の名前が Cloudflare の IP で引け、curl で 200 / 302 が返ること
  • 3 段目(ExternalDNS の annotationFilter を false だけにし、README を書き直す)

🤖 Generated with Claude Code

https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1

通さない名前(nb・ah・fj・lk・dp・dp.l・ks・px・*.s・md)は #500 と denpa#1263 で
proxied ではない明示のレコードを持たせ、家の IP で引けるのを確かめてある。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1
@claude

claude Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Claude finished @5ym's task in 22s —— View job


レビュー結果

差分は pulumi/dns.ts の *.doany.io を proxied: true にする 1 行と、その上のコメントの書き換えだけです。指摘するほどの問題は見つかりませんでした。

確認したこと

  • 不具合: 通さない名前は、HTTPRoute のあるものは ExternalDNS が、無いもの(ks・px・*.s)は同ファイルの明示レコードが受け持ちます。md(A/AAAA)、メール関連(autodiscover、DKIM の selector1/2)、TXT 類も明示されているので、ワイルドカードに吸われません。
  • セキュリティ: SSL が Full (strict) であることと、Rybbit が CF-Connecting-IP を自分で読むことは PR 本文のとおりで、このコードからは変わりません。シークレットの混入もありません。
  • 設計: コメントの「Cloudflare を通すのが基本」は、apps/external-dns/README.md の「移行中 (2) の段階」と合っています。手順も feat(dns): Cloudflare を通さない名前を先に明示する(ワイルドカード proxied の準備) #500 → この PR → 3 段目の順で一貫しています。
  • テスト: 変更は DNS 設定だけで、テストを足す対象ではありません。事前に公開 DNS で確認した内容は PR 本文に書かれています。

要確認(コードの問題ではなく、マージ後の運用面)

  • 反映の順番です。Pulumi の適用と、ExternalDNS が false の注釈から作るレコードが揃うまでの間に、nb など通さない名前が一時的に Cloudflare 経由になる可能性があります。本文によると、これらは feat(dns): Cloudflare を通さない名前を先に明示する(ワイルドカード proxied の準備) #500 と denpa#1263 のマージ後に、家の IP を返す明示レコードとして公開 DNS で確認済みなので、実害は小さいはずです。ただ、nb は NetBird の管理サーバーなので、適用直後に nb.doany.io が家の IP で引けるかをもう一度見てください。
  • *.s.doany.io は、Cloudflare の無料の証明書が 1 段しか守れないため明示レコードで外してあります。同じ理由で、HTTPRoute のある 2 段の名前(dp.l など)は注釈が false であることが条件です。こちらも本文で確認済みです。

@github-actions

Copy link
Copy Markdown

🍹 preview on doany-cloudflare/prod

Pulumi report
   Previewing update (prod):

@ previewing update....
~  cloudflare:index:DnsRecord wildcard update [diff: ~proxied]
   pulumi:pulumi:Stack doany-cloudflare-prod  
Resources:
   ~ 1 to update
   56 unchanged

   

@5ym
5ym merged commit 5d6d54c into main Oct 22, 2026
4 checks passed
@5ym
5ym deleted the feat/cloudflare-wildcard branch October 22, 2026 05:59
5ym added a commit that referenced this pull request Oct 22, 2026
…を通すのを基本に、3 段目) (#502)

ワイルドカードを proxied にした(#501)ので、"true" で個別に作っていた proxied のレコードは要らない。
annotationFilter を false だけにし、ExternalDNS が作った proxied の CNAME(l・tk・ts・w・x・y)は
policy: sync で消えてワイルドカード(Cloudflare 経由)に戻る。
README と decisions.md を新しい方針(直接つなぐものの一覧、Cloudflare を通すときの注意)に書き直した。


Claude-Session: https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
5ym added a commit to danything/lgtm that referenced this pull request Oct 22, 2026
gitops が Cloudflare を通すのを基本にした(*.doany.io を proxied に、danything/gitops#501 / #502)ので、
Cloudflare を通すための個別の注釈は要らない。ExternalDNS はもう "true" を拾わず、外しても経路は変わらない
(ワイルドカードで Cloudflare 経由のまま)。


Claude-Session: https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
5ym added a commit to danything/xool that referenced this pull request Oct 22, 2026
gitops が Cloudflare を通すのを基本にした(*.doany.io を proxied に、danything/gitops#501 / #502)ので、
Cloudflare を通すための個別の注釈は要らない。ExternalDNS はもう "true" を拾わず、外しても経路は変わらない
(ワイルドカードで Cloudflare 経由のまま)。


Claude-Session: https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
5ym added a commit to danything/yuzuriha that referenced this pull request Oct 22, 2026
gitops が Cloudflare を通すのを基本にした(*.doany.io を proxied に、danything/gitops#501 / #502)ので、
Cloudflare を通すための個別の注釈は要らない。ExternalDNS はもう "true" を拾わず、外しても経路は変わらない
(ワイルドカードで Cloudflare 経由のまま)。


Claude-Session: https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant