Skip to content

feat(infisical): メールを smtp-relay(Graph の sendMail)経由で送る - #535

Merged
5ym merged 1 commit into
mainfrom
smtp-relay-switch
Oct 24, 2026
Merged

5ym merged 1 commit into
mainfrom
smtp-relay-switch

Conversation

@5ym

@5ym 5ym commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Infisical のメールを smtp.office365.com(Basic 認証)から、クラスタの中の中継 smtp-relay.smtp-relay.svc:587 に切り替える。

  • Exchange の RBAC(Application Mail.Send、スコープは info@doany.io だけ)は済み。Test-ServicePrincipalAuthorization で InScope=True
  • クライアントシークレットは Infisical の /infisical/infisical-smtp と /yosegaki/yosegaki-secrets に入れ済み
  • Infisical は machine config の inlineManifests なので、マージ後に render.sh → apply-config → upgrade-k8s で当てる
  • smtp-relay の README を実際の手順に直す

🤖 Generated with Claude Code

https://claude.ai/code/session_01NN4TmSXHrMP8dkTbtkjfz1

Exchange Online の SMTP AUTH の Basic 認証をやめる。ユーザー名は <テナント ID>@<smtp-relay のクライアント ID>、
パスワードは Infisical の /infisical/infisical-smtp に入れたクライアントシークレット。中継は TLS を話さないので SMTP_REQUIRE_TLS=false。
smtp-relay の README を実際にやった手順(Pulumi + Exchange の PowerShell + 画面でシークレット)に直す。

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

claude Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

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


レビュー結果

大きな問題は見つかりませんでした。差分は values.yaml の SMTP 設定、README 2 本で、コードやテストはありません。

確認した点

  • SMTP_HOST は smtp-relay.smtp-relay.svc、SMTP_PORT は 587、SMTP_REQUIRE_TLS は "false" です。README の「送る側の設定」と一致しています。
  • apps/smtp-relay/network-policy.yaml は infisical namespace からの ingress を許可済みです。この PR で NetworkPolicy を足す必要はありません。
  • ユーザー名に入れたテナント ID とクライアント ID は識別子で、シークレットではありません。パスワードは従来どおり secretKeyRef で渡しており、リポジトリに秘密は入っていません。
  • pulumi/entra-smtp.ts は存在し、README からの参照先と合っています。

要確認(軽微)

  • values.yaml のコメントは「パスワードだけ Infisical 自身にある(smtp-secret.yaml)ので optional」のままです。/infisical/infisical-smtp の SMTP_PASSWORD を新しいクライアントシークレットに差し替え済みか、マージ前に確認してください。PR 本文には入れ済みとあります。
    • 差し替え前の旧 Basic パスワードが残ったまま upgrade-k8s を当てると、メールが送れなくなります。
  • Infisical は平文の SMTP AUTH で中継に認証します。SMTP_REQUIRE_TLS=false で STARTTLS を要求しない設定にはなっています。中継側が TLS なしの AUTH を受け付ける設定かどうかは deployment.yaml を確認していません。マージ後に Infisical のテストメールかパスワードリセットメールで疎通を確かめてください。
  • 公開リポジトリでなければ問題ありませんが、README に Entra のオブジェクト ID を直書きしています。識別子でありシークレットではないので、指摘は参考程度です。

運用面

  • ロックアウト復旧は SMTP 経由のログイン画面に頼ります(bootstrap/infisical/README.md:11)。切り替えに失敗するとその復旧経路が止まります。upgrade-k8s のあと、先にメールが届くことを確認してから作業を終えてください。
  • README 側の PowerShell 手順は、latest ではなく lts-ubuntu-22.04 を使う理由まで書かれていて良いです。
    | ブランチ: smtp-relay-switch

@5ym
5ym merged commit 6173f10 into main Oct 24, 2026
2 checks passed
@5ym
5ym deleted the smtp-relay-switch branch October 24, 2026 04:42
5ym added a commit to danything/blog that referenced this pull request Oct 24, 2026
Exchange Online の SMTP AUTH の Basic 認証をやめる(danything/gitops#535)。
パスワードは /yosegaki/yosegaki-secrets の smtp-password(smtp-relay のクライアントシークレットに差し替え済み)。


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