elastic / elasticsearch-specification

Elasticsearch full specification
Apache License 2.0
111 stars 68 forks source link

Fix `RoleDescriptor` field annotations for Serverless #2699

Closed n1v0lg closed 3 weeks ago

n1v0lg commented 3 weeks ago

I included these changes for SecurityPutRoleRequest but they also need to be part of the role descriptor model since that is referenced by e.g. the API key APIs.

github-actions[bot] commented 3 weeks ago

Following you can find the validation results for the APIs you have changed.

API Status Request Response
security.activate_user_profile :green_circle: 9/9 9/9
security.authenticate :green_circle: 30/30 30/30
security.bulk_delete_role :orange_circle: Missing type Missing type
security.bulk_put_role :green_circle: 1/1 1/1
security.bulk_update_api_keys :orange_circle: Missing type Missing type
security.change_password :green_circle: 9/9 9/9
security.clear_api_key_cache :green_circle: 13/13 13/13
security.clear_cached_privileges :green_circle: 3/3 3/3
security.clear_cached_realms :green_circle: 1/1 1/1
security.clear_cached_roles :green_circle: 2/2 2/2
security.clear_cached_service_tokens :green_circle: 4/4 4/4
security.create_api_key :red_circle: 67/69 60/60
security.create_cross_cluster_api_key :orange_circle: Missing type Missing type
security.create_service_token :green_circle: 3/3 3/3
security.delete_privileges :green_circle: 6/6 6/6
security.delete_role_mapping :green_circle: 9/9 9/9
security.delete_role :green_circle: 8/8 8/8
security.delete_service_token :white_circle: Missing test Missing test
security.delete_user :green_circle: 9/9 9/9
security.disable_user_profile :green_circle: 1/1 1/1
security.disable_user :green_circle: 3/3 3/3
security.enable_user_profile :green_circle: 1/1 1/1
security.enable_user :green_circle: 4/4 4/4
security.enroll_kibana :white_circle: Missing test Missing test
security.enroll_node :white_circle: Missing test Missing test
security.get_api_key :red_circle: 38/38 15/38
security.get_builtin_privileges :red_circle: 2/2 1/2
security.get_privileges :green_circle: 12/12 12/12
security.get_role_mapping :red_circle: 18/18 10/18
security.get_role :red_circle: 24/24 21/24
security.get_service_accounts :white_circle: Missing test Missing test
security.get_service_credentials :green_circle: 1/1 1/1
security.get_settings :orange_circle: Missing type Missing type
security.get_token :green_circle: 25/25 24/24
security.get_user_privileges :red_circle: 8/8 7/8
security.get_user_profile :green_circle: 8/8 8/8
security.get_user :green_circle: 25/25 25/25
security.grant_api_key :green_circle: 7/7 7/7
security.has_privileges_user_profile :green_circle: 3/3 3/3
security.has_privileges :green_circle: 24/24 24/24
security.invalidate_api_key :green_circle: 12/12 12/12
security.invalidate_token :green_circle: 11/11 11/11
security.oidc_authenticate :orange_circle: Missing type Missing type
security.oidc_logout :orange_circle: Missing type Missing type
security.oidc_prepare_authentication :orange_circle: Missing type Missing type
security.put_privileges :green_circle: 10/10 10/10
security.put_role_mapping :red_circle: 2/11 11/11
security.put_role :red_circle: 38/40 39/39
security.put_user :green_circle: 49/49 48/48
security.query_api_keys :red_circle: 14/14 1/14
security.query_role :green_circle: 3/3 3/3
security.query_user :orange_circle: Missing type Missing type
security.saml_authenticate :white_circle: Missing test Missing test
security.saml_complete_logout :white_circle: Missing test Missing test
security.saml_invalidate :white_circle: Missing test Missing test
security.saml_logout :white_circle: Missing test Missing test
security.saml_prepare_authentication :white_circle: Missing test Missing test
security.saml_service_provider_metadata :white_circle: Missing test Missing test
security.suggest_user_profiles :green_circle: 1/1 1/1
security.update_api_key :green_circle: 5/5 5/5
security.update_cross_cluster_api_key :orange_circle: Missing type Missing type
security.update_settings :orange_circle: Missing type Missing type
security.update_user_profile_data :green_circle: 1/1 1/1

You can validate these APIs yourself by using the make validate target.

github-actions[bot] commented 3 weeks ago

Following you can find the validation results for the APIs you have changed.

API Status Request Response
security.activate_user_profile :green_circle: 9/9 9/9
security.authenticate :green_circle: 30/30 30/30
security.bulk_delete_role :orange_circle: Missing type Missing type
security.bulk_put_role :green_circle: 1/1 1/1
security.bulk_update_api_keys :orange_circle: Missing type Missing type
security.change_password :green_circle: 9/9 9/9
security.clear_api_key_cache :green_circle: 13/13 13/13
security.clear_cached_privileges :green_circle: 3/3 3/3
security.clear_cached_realms :green_circle: 1/1 1/1
security.clear_cached_roles :green_circle: 2/2 2/2
security.clear_cached_service_tokens :green_circle: 4/4 4/4
security.create_api_key :red_circle: 67/69 60/60
security.create_cross_cluster_api_key :orange_circle: Missing type Missing type
security.create_service_token :green_circle: 3/3 3/3
security.delete_privileges :green_circle: 6/6 6/6
security.delete_role_mapping :green_circle: 9/9 9/9
security.delete_role :green_circle: 8/8 8/8
security.delete_service_token :white_circle: Missing test Missing test
security.delete_user :green_circle: 9/9 9/9
security.disable_user_profile :green_circle: 1/1 1/1
security.disable_user :green_circle: 3/3 3/3
security.enable_user_profile :green_circle: 1/1 1/1
security.enable_user :green_circle: 4/4 4/4
security.enroll_kibana :white_circle: Missing test Missing test
security.enroll_node :white_circle: Missing test Missing test
security.get_api_key :red_circle: 38/38 15/38
security.get_builtin_privileges :red_circle: 2/2 1/2
security.get_privileges :green_circle: 12/12 12/12
security.get_role_mapping :red_circle: 18/18 10/18
security.get_role :red_circle: 24/24 21/24
security.get_service_accounts :white_circle: Missing test Missing test
security.get_service_credentials :green_circle: 1/1 1/1
security.get_settings :orange_circle: Missing type Missing type
security.get_token :green_circle: 25/25 24/24
security.get_user_privileges :red_circle: 8/8 7/8
security.get_user_profile :green_circle: 8/8 8/8
security.get_user :green_circle: 25/25 25/25
security.grant_api_key :green_circle: 7/7 7/7
security.has_privileges_user_profile :green_circle: 3/3 3/3
security.has_privileges :green_circle: 24/24 24/24
security.invalidate_api_key :green_circle: 12/12 12/12
security.invalidate_token :green_circle: 11/11 11/11
security.oidc_authenticate :orange_circle: Missing type Missing type
security.oidc_logout :orange_circle: Missing type Missing type
security.oidc_prepare_authentication :orange_circle: Missing type Missing type
security.put_privileges :green_circle: 10/10 10/10
security.put_role_mapping :red_circle: 2/11 11/11
security.put_role :red_circle: 38/40 39/39
security.put_user :green_circle: 49/49 48/48
security.query_api_keys :red_circle: 14/14 1/14
security.query_role :green_circle: 3/3 3/3
security.query_user :orange_circle: Missing type Missing type
security.saml_authenticate :white_circle: Missing test Missing test
security.saml_complete_logout :white_circle: Missing test Missing test
security.saml_invalidate :white_circle: Missing test Missing test
security.saml_logout :white_circle: Missing test Missing test
security.saml_prepare_authentication :white_circle: Missing test Missing test
security.saml_service_provider_metadata :white_circle: Missing test Missing test
security.suggest_user_profiles :green_circle: 1/1 1/1
security.update_api_key :green_circle: 5/5 5/5
security.update_cross_cluster_api_key :orange_circle: Missing type Missing type
security.update_settings :orange_circle: Missing type Missing type
security.update_user_profile_data :green_circle: 1/1 1/1

You can validate these APIs yourself by using the make validate target.

github-actions[bot] commented 3 weeks ago

Following you can find the validation results for the APIs you have changed.

API Status Request Response
security.activate_user_profile :green_circle: 9/9 9/9
security.authenticate :green_circle: 30/30 30/30
security.bulk_delete_role :orange_circle: Missing type Missing type
security.bulk_put_role :green_circle: 1/1 1/1
security.bulk_update_api_keys :orange_circle: Missing type Missing type
security.change_password :green_circle: 9/9 9/9
security.clear_api_key_cache :green_circle: 13/13 13/13
security.clear_cached_privileges :green_circle: 3/3 3/3
security.clear_cached_realms :green_circle: 1/1 1/1
security.clear_cached_roles :green_circle: 2/2 2/2
security.clear_cached_service_tokens :green_circle: 4/4 4/4
security.create_api_key :red_circle: 67/69 60/60
security.create_cross_cluster_api_key :orange_circle: Missing type Missing type
security.create_service_token :green_circle: 3/3 3/3
security.delete_privileges :green_circle: 6/6 6/6
security.delete_role_mapping :green_circle: 9/9 9/9
security.delete_role :green_circle: 8/8 8/8
security.delete_service_token :white_circle: Missing test Missing test
security.delete_user :green_circle: 9/9 9/9
security.disable_user_profile :green_circle: 1/1 1/1
security.disable_user :green_circle: 3/3 3/3
security.enable_user_profile :green_circle: 1/1 1/1
security.enable_user :green_circle: 4/4 4/4
security.enroll_kibana :white_circle: Missing test Missing test
security.enroll_node :white_circle: Missing test Missing test
security.get_api_key :red_circle: 38/38 15/38
security.get_builtin_privileges :red_circle: 2/2 1/2
security.get_privileges :green_circle: 12/12 12/12
security.get_role_mapping :red_circle: 18/18 10/18
security.get_role :red_circle: 24/24 21/24
security.get_service_accounts :white_circle: Missing test Missing test
security.get_service_credentials :green_circle: 1/1 1/1
security.get_settings :orange_circle: Missing type Missing type
security.get_token :green_circle: 25/25 24/24
security.get_user_privileges :red_circle: 8/8 7/8
security.get_user_profile :green_circle: 8/8 8/8
security.get_user :green_circle: 25/25 25/25
security.grant_api_key :green_circle: 7/7 7/7
security.has_privileges_user_profile :green_circle: 3/3 3/3
security.has_privileges :green_circle: 24/24 24/24
security.invalidate_api_key :green_circle: 12/12 12/12
security.invalidate_token :green_circle: 11/11 11/11
security.oidc_authenticate :orange_circle: Missing type Missing type
security.oidc_logout :orange_circle: Missing type Missing type
security.oidc_prepare_authentication :orange_circle: Missing type Missing type
security.put_privileges :green_circle: 10/10 10/10
security.put_role_mapping :red_circle: 2/11 11/11
security.put_role :red_circle: 38/40 39/39
security.put_user :green_circle: 49/49 48/48
security.query_api_keys :red_circle: 14/14 1/14
security.query_role :green_circle: 3/3 3/3
security.query_user :orange_circle: Missing type Missing type
security.saml_authenticate :white_circle: Missing test Missing test
security.saml_complete_logout :white_circle: Missing test Missing test
security.saml_invalidate :white_circle: Missing test Missing test
security.saml_logout :white_circle: Missing test Missing test
security.saml_prepare_authentication :white_circle: Missing test Missing test
security.saml_service_provider_metadata :white_circle: Missing test Missing test
security.suggest_user_profiles :green_circle: 1/1 1/1
security.update_api_key :green_circle: 5/5 5/5
security.update_cross_cluster_api_key :orange_circle: Missing type Missing type
security.update_settings :orange_circle: Missing type Missing type
security.update_user_profile_data :green_circle: 1/1 1/1

You can validate these APIs yourself by using the make validate target.

pquentin commented 3 weeks ago

Note that you don't need to click on the "Update branch" button whenever the branch is out-of-date, especially as today is a busy day regarding merges.

github-actions[bot] commented 3 weeks ago

Following you can find the validation results for the APIs you have changed.

API Status Request Response
security.activate_user_profile :green_circle: 9/9 9/9
security.authenticate :green_circle: 30/30 30/30
security.bulk_delete_role :green_circle: 1/1 1/1
security.bulk_put_role :green_circle: 1/1 1/1
security.bulk_update_api_keys :orange_circle: Missing type Missing type
security.change_password :green_circle: 9/9 9/9
security.clear_api_key_cache :green_circle: 13/13 13/13
security.clear_cached_privileges :green_circle: 3/3 3/3
security.clear_cached_realms :green_circle: 1/1 1/1
security.clear_cached_roles :green_circle: 2/2 2/2
security.clear_cached_service_tokens :green_circle: 4/4 4/4
security.create_api_key :red_circle: 67/69 60/60
security.create_cross_cluster_api_key :orange_circle: Missing type Missing type
security.create_service_token :green_circle: 3/3 3/3
security.delete_privileges :green_circle: 6/6 6/6
security.delete_role_mapping :green_circle: 9/9 9/9
security.delete_role :green_circle: 8/8 8/8
security.delete_service_token :white_circle: Missing test Missing test
security.delete_user :green_circle: 9/9 9/9
security.disable_user_profile :green_circle: 1/1 1/1
security.disable_user :green_circle: 3/3 3/3
security.enable_user_profile :green_circle: 1/1 1/1
security.enable_user :green_circle: 4/4 4/4
security.enroll_kibana :white_circle: Missing test Missing test
security.enroll_node :white_circle: Missing test Missing test
security.get_api_key :red_circle: 38/38 15/38
security.get_builtin_privileges :red_circle: 2/2 1/2
security.get_privileges :green_circle: 12/12 12/12
security.get_role_mapping :red_circle: 18/18 10/18
security.get_role :red_circle: 24/24 21/24
security.get_service_accounts :white_circle: Missing test Missing test
security.get_service_credentials :green_circle: 1/1 1/1
security.get_settings :orange_circle: Missing type Missing type
security.get_token :green_circle: 25/25 24/24
security.get_user_privileges :red_circle: 8/8 7/8
security.get_user_profile :green_circle: 8/8 8/8
security.get_user :green_circle: 25/25 25/25
security.grant_api_key :green_circle: 7/7 7/7
security.has_privileges_user_profile :green_circle: 3/3 3/3
security.has_privileges :green_circle: 24/24 24/24
security.invalidate_api_key :green_circle: 12/12 12/12
security.invalidate_token :green_circle: 11/11 11/11
security.oidc_authenticate :orange_circle: Missing type Missing type
security.oidc_logout :orange_circle: Missing type Missing type
security.oidc_prepare_authentication :orange_circle: Missing type Missing type
security.put_privileges :green_circle: 10/10 10/10
security.put_role_mapping :red_circle: 2/11 11/11
security.put_role :red_circle: 39/40 39/39
security.put_user :green_circle: 49/49 48/48
security.query_api_keys :red_circle: 14/14 1/14
security.query_role :green_circle: 2/2 2/2
security.query_user :green_circle: 4/4 4/4
security.saml_authenticate :white_circle: Missing test Missing test
security.saml_complete_logout :white_circle: Missing test Missing test
security.saml_invalidate :white_circle: Missing test Missing test
security.saml_logout :white_circle: Missing test Missing test
security.saml_prepare_authentication :white_circle: Missing test Missing test
security.saml_service_provider_metadata :white_circle: Missing test Missing test
security.suggest_user_profiles :green_circle: 1/1 1/1
security.update_api_key :green_circle: 5/5 5/5
security.update_cross_cluster_api_key :orange_circle: Missing type Missing type
security.update_settings :orange_circle: Missing type Missing type
security.update_user_profile_data :green_circle: 1/1 1/1

You can validate these APIs yourself by using the make validate target.

n1v0lg commented 3 weeks ago

Note: RoleDescriptor is missing remote_indices and remote_cluster field definitions -- I will add these in a follow up PR.

github-actions[bot] commented 3 weeks ago

The backport to 8.15 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-8.15 8.15
# Navigate to the new working tree
cd .worktrees/backport-8.15
# Create a new branch
git switch --create backport-2699-to-8.15
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 2e232e572908af3abe551ab1700950912ee7b646
# Push it to GitHub
git push --set-upstream origin backport-2699-to-8.15
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-8.15

Then, create a pull request where the base branch is 8.15 and the compare/head branch is backport-2699-to-8.15.

pquentin commented 3 weeks ago

Backport: