Feat(Q): Identity provider info and FE for AmazonQ admin

What does this MR do and why?

This MR sets up the FE for the Amazon Q admin settings. It also adds the IdentityProviderPayloadFactory which is used to pull information needed to register an Amazon identity provider.

Screenshots or screen recordings

When not connected When connected
Screenshot_2024-12-11_at_2.18.15_AM Screenshot_2024-12-11_at_2.24.42_AM

How to set up and validate locally

Prerequisites:

  1. You'll need to make sure you have an Ultimate license and AI features setup on your GDK. See these instructions.
  2. For now, you'll need to ensure that CLOUD_CONNECTOR_SELF_SIGN_TOKENS=1 is set.

Instructions for these changes:

  1. Enable the feature flag amazon_q_integration with Feature.enable(:amazon_q_integration) in a rails console
  2. Visit Admin > Settings > General and look for GitLab Duo with Amazon Q section. Click View configuration setup.
  3. Review that the page loaded with no errors.

To test this view for when Amazon is connected:

  1. Start a rails console with rails c.

  2. Update the Ai::Settings.instance record with something like (2 is just an arbitrary user ID):

    Ai::Setting.instance.update(amazon_q_role_arn: 'test-arn', amazon_q_service_account_user_id: 2, amazon_q_ready: true)

Please note: It's expected that the FE buttons don't work right now. This is behind a feature flag and the functionality will be included in a future MR. See parent MR for more context.

Edited by Paul Slaughter

Merge request reports

Loading