Skip to content

Introduce user access authorizations

Shinya Maeda requested to merge introduce-user-access-authorizations into master

NOTE: This MR is built on top of Namespace CiAccess Cluster Authorizations (!116894 - merged).

What does this MR do and why?

This MR introduces a new authorization model for user_access keyword. This is necessary to persist the data in the next MR.

See https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/blob/master/doc/kubernetes_user_access.md for the feature spec details.

Related to Persist GitLab agent's user access configuratio... (#389430 - closed)

Migration details

!116901 (comment 1350018742)

Up
main: == [advisory_lock_connection] object_id: 274600, pg_backend_pid: 45926
main: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: migrating ==
main: -- create_table(:agent_user_access_project_authorizations)
main:    -> 0.0538s
main: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: migrated (0.2375s)

main: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: migrating ====
main: -- create_table(:agent_user_access_group_authorizations)
main:    -> 0.0290s
main: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: migrated (0.0588s)
main: == [advisory_lock_connection] object_id: 274600, pg_backend_pid: 45926

ci: == [advisory_lock_connection] object_id: 274920, pg_backend_pid: 45928
ci: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: migrating ==
ci: -- create_table(:agent_user_access_project_authorizations)
ci:    -> 0.0317s
I, [2023-04-12T10:26:20.979743 #45750]  INFO -- : Database: 'ci', Table: 'agent_user_access_project_authorizations': Lock Writes
ci: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: migrated (0.0610s)

ci: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: migrating ====
ci: -- create_table(:agent_user_access_group_authorizations)
ci:    -> 0.0067s
I, [2023-04-12T10:26:20.999586 #45750]  INFO -- : Database: 'ci', Table: 'agent_user_access_group_authorizations': Lock Writes
ci: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: migrated (0.0174s)
ci: == [advisory_lock_connection] object_id: 274920, pg_backend_pid: 45928
Down
main: == [advisory_lock_connection] object_id: 274240, pg_backend_pid: 49628
main: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: reverting ====
main: -- drop_table(:agent_user_access_group_authorizations)
main:    -> 0.0040s
main: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: reverted (0.0099s)
main: == [advisory_lock_connection] object_id: 274240, pg_backend_pid: 49628

main: == [advisory_lock_connection] object_id: 274240, pg_backend_pid: 51629
main: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: reverting ==
main: -- drop_table(:agent_user_access_project_authorizations)
main:    -> 0.0057s
main: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: reverted (0.0125s)
main: == [advisory_lock_connection] object_id: 274240, pg_backend_pid: 51629

ci: == [advisory_lock_connection] object_id: 274240, pg_backend_pid: 50499
ci: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: reverting ====
ci: -- drop_table(:agent_user_access_group_authorizations)
ci:    -> 0.0041s
ci: == 20230406150354 CreateAgentUserAccessGroupAuthorizationsTable: reverted (0.0233s)
ci: == [advisory_lock_connection] object_id: 274240, pg_backend_pid: 50499

ci: == [advisory_lock_connection] object_id: 274260, pg_backend_pid: 51198
ci: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: reverting ==
ci: -- drop_table(:agent_user_access_project_authorizations)
ci:    -> 0.0033s
ci: == 20230406150254 CreateAgentUserAccessProjectAuthorizationsTable: reverted (0.0181s)
ci: == [advisory_lock_connection] object_id: 274260, pg_backend_pid: 51198

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Shinya Maeda

Merge request reports

Loading