GraphQL surface: registry type, field, and activate/disable/enable mutations (monolith/S10 Steps 4-6)

Part of epic &22458 (Activation and deactivation, monolith/S10). Covers plan Steps 4, 5, and 6.

Scope

Step 4: GraphQL registry type and organization field

  • Types::ArtifactRegistry::RegistryType (graphql_name 'ArtifactRegistry') with non-null handle, status, createdAt, all experiment; no registry-URL or UUID field.
  • Resolvers::ArtifactRegistry::RegistryResolver extending the S03 BaseResolver, service-authenticated, returning early with no mapping row.
  • artifactRegistry field mounted on the organization type, null: true.

Step 5: Activate mutation

  • Mutations::ArtifactRegistry::Activate extending ::Mutations::BaseMutation + S03 error concern. Arguments: organization and handle only (billing anchor derived server-side). Authorizes update_organization; refusals populate payload errors.

Step 6: Disable and enable mutations

  • Mutations::ArtifactRegistry::Disable and ::Enable, each authorizing update_organization, calling its condition endpoint with no body, invalidating the cache, returning the registry.
  • Depends on the S02 amendment's #disable_namespace/#enable_namespace.

All experiment and dark behind artifact_registry_ui.

Edited by 🤖 GitLab Bot 🤖