From 4441a8c8e4165ac33eca71b1390be65045381430 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 15 Feb 2024 15:06:56 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/capybara/testid_finders.yml | 15 - .../style/inline_disable_annotation.yml | 1 - .../javascripts/diffs/store/mutations.js | 2 + .../components/kubernetes_agent_info.vue | 3 +- .../components/kubernetes_status_bar.vue | 4 +- .../javascripts/environments/constants.js | 7 +- .../components/kubernetes_overview.vue | 155 ++++++ .../environment_details/index.vue | 28 +- .../helpers/k8s_integration_helper.js | 14 + .../javascripts/environments/mount_show.js | 2 + .../graphql_shared/possible_types.json | 3 + .../init_invite_groups_modal.js | 1 + .../init_invite_members_modal.js | 1 + app/assets/stylesheets/pages/notes.scss | 6 +- .../projects/environments_controller.rb | 4 +- app/models/application_setting.rb | 2 + app/models/ci/job_artifact.rb | 7 +- app/models/ci/pipeline.rb | 2 +- .../projects/environments/show.html.haml | 2 +- .../types/feature_flag_created.yml | 1 + .../types/feature_flag_deleted.yml | 1 + .../types/feature_flag_updated.yml | 1 + .../types/manually_trigger_housekeeping.yml | 1 + ...re_model_registry_access_level_updated.yml | 1 + ...ing_use_ci_job_artifacts_routing_table.yml | 9 + config/gitlab_loose_foreign_keys.yml | 8 +- ...system_jira_service_close_issue_weekly.yml | 2 +- ...em_jira_service_cross_reference_weekly.yml | 2 +- ...5_ecosystem_total_unique_counts_weekly.yml | 2 +- ...lack_service_issue_notification_weekly.yml | 2 +- ...slack_service_push_notification_weekly.yml | 2 +- ...service_deployment_notification_weekly.yml | 2 +- ..._service_wiki_page_notification_weekly.yml | 2 +- ...vice_merge_request_notification_weekly.yml | 2 +- ...slack_service_note_notification_weekly.yml | 2 +- ...k_service_tag_push_notification_weekly.yml | 2 +- ..._confidential_note_notification_weekly.yml | 2 +- ...confidential_issue_notification_weekly.yml | 2 +- ...plates_gitlab_slack_application_active.yml | 2 +- ...confidential_issue_notification_weekly.yml | 2 +- ..._confidential_note_notification_weekly.yml | 2 +- ...ack_app_deployment_notification_weekly.yml | 2 +- ...or_slack_app_issue_notification_weekly.yml | 2 +- ..._app_merge_request_notification_weekly.yml | 2 +- ...for_slack_app_note_notification_weekly.yml | 2 +- ...for_slack_app_push_notification_weekly.yml | 2 +- ...slack_app_tag_push_notification_weekly.yml | 2 +- ...lack_app_wiki_page_notification_weekly.yml | 2 +- ...5729_groups_inheriting_campfire_active.yml | 2 +- ...0210216175756_templates_discord_active.yml | 2 +- ...0210216175758_instances_discord_active.yml | 2 +- ...0210216175837_projects_flowdock_active.yml | 2 +- .../20210216175912_groups_hipchat_active.yml | 2 +- .../20210216175934_groups_jenkins_active.yml | 2 +- ...939_projects_inheriting_jenkins_active.yml | 2 +- .../20210216175946_templates_jira_active.yml | 2 +- ...0216180157_groups_unify_circuit_active.yml | 2 +- ...216182623_groups_inheriting_ewm_active.yml | 2 +- ...834_projects_inheriting_clickup_active.yml | 2 +- ...roups_inheriting_diffblue_cover_active.yml | 2 +- .../20210204124908_mattermost_enabled.yml | 2 +- db/docs/p_ci_job_artifacts.yml | 1 + ...12223930_add_arkose_client_api_settings.rb | 23 + db/schema_migrations/20240212223930 | 1 + db/structure.sql | 4 + doc/api/graphql/reference/index.md | 99 ++-- .../cells/application-deployment.md | 470 +----------------- .../cells/deployment-architecture.md | 158 +----- doc/architecture/blueprints/cells/index.md | 10 +- .../cells/infrastructure/deployments.md | 417 ++++++++++++++++ .../blueprints/cells/infrastructure/index.md | 318 ++++++++++++ .../blueprints/cells/iterations/cells-1.0.md | 2 +- .../cells/rejected/deployment-architecture.md | 158 ++++++ .../deployment-before-cells.drawio.png | Bin .../deployment-development-cells.drawio.png | Bin .../deployment-hybrid-cells.drawio.png | Bin .../deployment-initial-cells.drawio.png | Bin .../deployment-target-cells.drawio.png | Bin .../blueprints/cells/routing-service.md | 2 +- ...hed_background_migration_job_spec.template | 2 +- locale/gitlab.pot | 12 + package.json | 2 +- .../projects/environments_controller_spec.rb | 18 + spec/db/schema_spec.rb | 1 + .../projects/environments/environment_spec.rb | 4 + .../user_sees_feature_flag_list_spec.rb | 4 +- spec/features/projects/fork_spec.rb | 2 +- .../integrations/user_activates_jira_spec.rb | 2 +- .../user_views_designs_with_svg_xss_spec.rb | 2 +- .../projects/jobs/permissions_spec.rb | 2 +- .../projects/jobs/user_browses_job_spec.rb | 6 +- .../projects/jobs/user_browses_jobs_spec.rb | 28 +- ...triggers_manual_job_with_variables_spec.rb | 8 +- spec/features/projects/jobs_spec.rb | 36 +- ..._member_cannot_leave_group_project_spec.rb | 2 +- .../members/groups_with_access_list_spec.rb | 2 +- ...r_adds_member_with_expiration_date_spec.rb | 2 +- .../features/projects/members/sorting_spec.rb | 2 +- spec/features/projects/packages_spec.rb | 4 +- .../projects/pipeline_schedules_spec.rb | 30 +- .../components/kubernetes_overview_spec.js | 200 ++++++++ .../environment_details/index_spec.js | 42 +- .../helpers/k8s_integration_helper_spec.js | 46 +- .../kubernetes_status_bar_spec.js | 6 +- ...hed_background_migration_generator_spec.rb | 5 +- .../my_batched_migration_spec.txt | 2 +- spec/lib/gitlab/database/sharding_key_spec.rb | 3 +- spec/models/ci/job_artifact_spec.rb | 22 + .../ci/unlock_artifacts_service_spec.rb | 13 +- yarn.lock | 8 +- 110 files changed, 1707 insertions(+), 825 deletions(-) create mode 100644 app/assets/javascripts/environments/environment_details/components/kubernetes_overview.vue create mode 100644 config/feature_flags/gitlab_com_derisk/ci_partitioning_use_ci_job_artifacts_routing_table.yml create mode 100644 db/migrate/20240212223930_add_arkose_client_api_settings.rb create mode 100644 db/schema_migrations/20240212223930 create mode 100644 doc/architecture/blueprints/cells/infrastructure/deployments.md create mode 100644 doc/architecture/blueprints/cells/infrastructure/index.md create mode 100644 doc/architecture/blueprints/cells/rejected/deployment-architecture.md rename doc/architecture/blueprints/cells/{ => rejected}/diagrams/deployment-before-cells.drawio.png (100%) rename doc/architecture/blueprints/cells/{ => rejected}/diagrams/deployment-development-cells.drawio.png (100%) rename doc/architecture/blueprints/cells/{ => rejected}/diagrams/deployment-hybrid-cells.drawio.png (100%) rename doc/architecture/blueprints/cells/{ => rejected}/diagrams/deployment-initial-cells.drawio.png (100%) rename doc/architecture/blueprints/cells/{ => rejected}/diagrams/deployment-target-cells.drawio.png (100%) create mode 100644 spec/frontend/environments/environment_details/components/kubernetes_overview_spec.js diff --git a/.rubocop_todo/capybara/testid_finders.yml b/.rubocop_todo/capybara/testid_finders.yml index c674b7f46b1..558b21c7d35 100644 --- a/.rubocop_todo/capybara/testid_finders.yml +++ b/.rubocop_todo/capybara/testid_finders.yml @@ -17,21 +17,6 @@ Capybara/TestidFinders: - 'spec/features/projects/compare_spec.rb' - 'spec/features/projects/environments/environment_spec.rb' - 'spec/features/projects/environments/environments_spec.rb' - - 'spec/features/projects/feature_flags/user_sees_feature_flag_list_spec.rb' - - 'spec/features/projects/fork_spec.rb' - - 'spec/features/projects/integrations/user_activates_jira_spec.rb' - - 'spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb' - - 'spec/features/projects/jobs/permissions_spec.rb' - - 'spec/features/projects/jobs/user_browses_job_spec.rb' - - 'spec/features/projects/jobs/user_browses_jobs_spec.rb' - - 'spec/features/projects/jobs/user_triggers_manual_job_with_variables_spec.rb' - - 'spec/features/projects/jobs_spec.rb' - - 'spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb' - - 'spec/features/projects/members/groups_with_access_list_spec.rb' - - 'spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb' - - 'spec/features/projects/members/sorting_spec.rb' - - 'spec/features/projects/packages_spec.rb' - - 'spec/features/projects/pipeline_schedules_spec.rb' - 'spec/features/projects/pipelines/pipeline_spec.rb' - 'spec/features/projects/pipelines/pipelines_spec.rb' - 'spec/features/projects/releases/user_creates_release_spec.rb' diff --git a/.rubocop_todo/style/inline_disable_annotation.yml b/.rubocop_todo/style/inline_disable_annotation.yml index 4bf891cd5c3..c464f13d704 100644 --- a/.rubocop_todo/style/inline_disable_annotation.yml +++ b/.rubocop_todo/style/inline_disable_annotation.yml @@ -2833,7 +2833,6 @@ Style/InlineDisableAnnotation: - 'spec/lib/banzai/filter/image_link_filter_spec.rb' - 'spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb' - 'spec/lib/container_registry/gitlab_api_client_spec.rb' - - 'spec/lib/generators/batched_background_migration/batched_background_migration_generator_spec.rb' - 'spec/lib/gitlab/alert_management/payload/base_spec.rb' - 'spec/lib/gitlab/audit/target_spec.rb' - 'spec/lib/gitlab/audit/type/definition_spec.rb' diff --git a/app/assets/javascripts/diffs/store/mutations.js b/app/assets/javascripts/diffs/store/mutations.js index 370073f1033..2cc2e13648f 100644 --- a/app/assets/javascripts/diffs/store/mutations.js +++ b/app/assets/javascripts/diffs/store/mutations.js @@ -210,6 +210,8 @@ export default { if (diffLines.length && positionType !== FILE_DIFF_POSITION_TYPE) { const line = diffLines.find(isTargetLine); + // skip if none of the discussion positions matched a diff position + if (!line) return; const discussions = addDiscussion(line.discussions || []); Object.assign(line, { discussions, diff --git a/app/assets/javascripts/environments/components/kubernetes_agent_info.vue b/app/assets/javascripts/environments/components/kubernetes_agent_info.vue index 03bde8d64ac..a2c7daf0797 100644 --- a/app/assets/javascripts/environments/components/kubernetes_agent_info.vue +++ b/app/assets/javascripts/environments/components/kubernetes_agent_info.vue @@ -46,7 +46,7 @@ export default { > - + - {{ $options.i18n.neverConnectedText }} diff --git a/app/assets/javascripts/environments/components/kubernetes_status_bar.vue b/app/assets/javascripts/environments/components/kubernetes_status_bar.vue index b41d1773851..2cf37ccca27 100644 --- a/app/assets/javascripts/environments/components/kubernetes_status_bar.vue +++ b/app/assets/javascripts/environments/components/kubernetes_status_bar.vue @@ -2,6 +2,8 @@ import { GlLoadingIcon, GlBadge, GlPopover, GlSprintf, GlLink } from '@gitlab/ui'; import { s__ } from '~/locale'; import { + CLUSTER_HEALTH_SUCCESS, + CLUSTER_HEALTH_ERROR, HEALTH_BADGES, SYNC_STATUS_BADGES, STATUS_TRUE, @@ -28,7 +30,7 @@ export default { type: String, default: '', validator(val) { - return ['error', 'success', ''].includes(val); + return [CLUSTER_HEALTH_ERROR, CLUSTER_HEALTH_SUCCESS, ''].includes(val); }, }, configuration: { diff --git a/app/assets/javascripts/environments/constants.js b/app/assets/javascripts/environments/constants.js index 64873a6ac68..28f0bde547e 100644 --- a/app/assets/javascripts/environments/constants.js +++ b/app/assets/javascripts/environments/constants.js @@ -94,13 +94,16 @@ export const SERVICES_LIMIT_PER_PAGE = 10; export const CLUSTER_STATUS_HEALTHY_TEXT = s__('Environment|Healthy'); export const CLUSTER_STATUS_UNHEALTHY_TEXT = s__('Environment|Unhealthy'); +export const CLUSTER_HEALTH_SUCCESS = 'success'; +export const CLUSTER_HEALTH_ERROR = 'error'; + export const HEALTH_BADGES = { - success: { + [CLUSTER_HEALTH_SUCCESS]: { variant: 'success', text: CLUSTER_STATUS_HEALTHY_TEXT, icon: 'status-success', }, - error: { + [CLUSTER_HEALTH_ERROR]: { variant: 'danger', text: CLUSTER_STATUS_UNHEALTHY_TEXT, icon: 'status-alert', diff --git a/app/assets/javascripts/environments/environment_details/components/kubernetes_overview.vue b/app/assets/javascripts/environments/environment_details/components/kubernetes_overview.vue new file mode 100644 index 00000000000..e7d6d639679 --- /dev/null +++ b/app/assets/javascripts/environments/environment_details/components/kubernetes_overview.vue @@ -0,0 +1,155 @@ + + diff --git a/app/assets/javascripts/environments/environment_details/index.vue b/app/assets/javascripts/environments/environment_details/index.vue index e22a51389ee..690942349d6 100644 --- a/app/assets/javascripts/environments/environment_details/index.vue +++ b/app/assets/javascripts/environments/environment_details/index.vue @@ -3,12 +3,14 @@ import { GlTabs, GlTab } from '@gitlab/ui'; import { s__ } from '~/locale'; import DeploymentHistory from './components/deployment_history.vue'; +import KubernetesOverview from './components/kubernetes_overview.vue'; export default { components: { GlTabs, GlTab, DeploymentHistory, + KubernetesOverview, }, props: { projectFullPath: { @@ -30,19 +32,43 @@ export default { default: null, }, }, + data() { + return { + currentTabIndex: 0, + }; + }, i18n: { deploymentHistory: s__('Environments|Deployment history'), + kubernetesOverview: s__('Environments|Kubernetes overview'), }, params: { deployments: 'deployment-history', + kubernetes: 'kubernetes-overview', + }, + methods: { + linkClass(index) { + return index === this.currentTabIndex ? 'gl-inset-border-b-2-theme-accent' : ''; + }, }, };