Skip to content

infra(keycloak): Phase 1 Sprint 1 — keycloak 独立 Gradle project 雛形(SPI 用)(S1Infra-3) #320

Description

@win2cot

Phase 1 Sprint 1 Infra-3: keycloak 独立 Gradle project 雛形(SPI 用)

概要

keycloak/ 配下に Keycloak 用の 独立 Gradle project を作成し、ADR-0006(改訂)の User Storage SPI を実装する雛形を構築する。ビルドした JAR は 共有 platform Keycloak Custom Image(#321) に同梱され、platform の共有 Keycloak runtime(#322)で動く(全プロジェクト SPI を同梱する共有ビルド、当面 tasks のみ)。

詳細仕様: docs/adr/0006(改訂)/ infrastructure-plan §3.3。

背景

  • monorepo 構造(Setup 0 完了)で keycloak/ subdir は確保済
  • ADR-0006 改訂: SPI は tasks usersread-only profile federate + email のみ writable(資格・MFA は Keycloak 自前ストア、氏名・住所等は read-only)
  • 本 Issue では SPI 実装の雛形(class skeleton + Gradle build + test 雛形)に集中

やること

  • keycloak/build.gradle.kts(独立 Gradle project)作成
  • keycloak/src/main/java/.../TasksWebApiUserStorageProvider.java 雛形:
    • UserStorageProvider + UserLookupProvider + UserQueryProvider(read)
    • email のみ writable な属性更新(Update-Email 経由)
    • UserRegistrationProvider は admin/障害時のみ(主経路は本システム API)
    • CredentialInputValidator実装しない(資格は Keycloak)
  • keycloak/src/main/resources/META-INF/services/... で SPI 登録
  • テスト雛形(Keycloak Test SPI / JUnit、compile + load 確認)
  • ./gradlew :keycloak:build で JAR 生成

受入条件

  • keycloak/build.gradle.kts 存在 + JAR ビルド成功
  • SPI 登録ファイル + read-only lookup/query + email-only writable の skeleton 存在(資格 interface は未実装)
  • root build から ./gradlew :keycloak:build が成功
  • テスト雛形 green

関連

備考

  • task-type: task-type:impl / 優先度: priority/p0 / area: area/keycloak + area/infra
  • claude-automation: 適用

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/infraAWS インフラ(ECS Fargate / RDS / Keycloak / IAM)変更area/keycloakkeycloak/ サブプロジェクト変更priority/p0Critical / Blocker。本番影響あり、または他作業がブロックされるtask-type:implコード実装が主体のタスク

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions