Skip to content

Conversation

@OscarLlamas6
Copy link
Contributor

Add UserIdentities REST storage and dynamic provider to enable centralized RBAC and audit logging through Milo API server. This implementation mirrors the existing Sessions architecture, proxying requests to auth-provider-zitadel with user impersonation via X-Remote-* headers.

Changes:

  • Add REST storage backend for UserIdentities resource
  • Implement DynamicProvider with mTLS and impersonation support
  • Register UserIdentities in identity storage provider
  • Add CLI flags and configuration for provider connection
  • Update deployment manifests with UserIdentities env vars
  • Add README documentation for virtual API architecture

This ensures UserIdentities follows the same architectural pattern as Sessions, providing consistent RBAC enforcement and audit trail across all identity APIs.

Add UserIdentities REST storage and dynamic provider to enable centralized
RBAC and audit logging through Milo API server. This implementation mirrors
the existing Sessions architecture, proxying requests to auth-provider-zitadel
with user impersonation via X-Remote-* headers.

Changes:
- Add REST storage backend for UserIdentities resource
- Implement DynamicProvider with mTLS and impersonation support
- Register UserIdentities in identity storage provider
- Add CLI flags and configuration for provider connection
- Update deployment manifests with UserIdentities env vars
- Add README documentation for virtual API architecture

This ensures UserIdentities follows the same architectural pattern as Sessions,
providing consistent RBAC enforcement and audit trail across all identity APIs.
@joggrbot
Copy link
Contributor

joggrbot bot commented Jan 7, 2026

📝 Documentation Analysis

All docs are up to date! 🎉


✅ Latest commit analyzed: 1a13ad0 | Powered by Joggr

@OscarLlamas6 OscarLlamas6 self-assigned this Jan 7, 2026
JoseSzycho
JoseSzycho previously approved these changes Jan 8, 2026
Copy link
Contributor

@JoseSzycho JoseSzycho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@OscarLlamas6 OscarLlamas6 marked this pull request as ready for review January 8, 2026 16:16
scotwells
scotwells previously approved these changes Jan 8, 2026
JoseSzycho and others added 2 commits January 8, 2026 20:36
…eProvider

Fix crash caused by registering two separate StorageProviders for the same
API group (identity.miloapis.com/v1alpha1). Now both Sessions and UserIdentities
backends are initialized within a single StorageProvider, preventing the
duplicate root path conflict.
This resolves the CrashLoopBackOff issue in staging where the API server
was exiting with code 1 due to conflicting WebService registrations.
@OscarLlamas6 OscarLlamas6 dismissed stale reviews from JoseSzycho and scotwells via b0c83a8 January 8, 2026 23:41
@JoseSzycho
Copy link
Contributor

Tested on staging, API is working correctly.

@OscarLlamas6 OscarLlamas6 requested a review from scotwells January 9, 2026 14:37
Copy link
Contributor

@scotwells scotwells left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@OscarLlamas6 can you take an action item to get automated tests in place for this?

@OscarLlamas6 OscarLlamas6 merged commit af18ad0 into main Jan 9, 2026
6 checks passed
@OscarLlamas6 OscarLlamas6 deleted the feat/add-useridentities-dynamic-rest-api branch January 9, 2026 15:41
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.

4 participants