diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml
index 3a39cb6d4ca3ed63c8fae03acccff90b870ff9f1..6745ca104a9fe38bb23d2df492ba77371dbc45b8 100644
--- a/.rubocop_todo/rspec/context_wording.yml
+++ b/.rubocop_todo/rspec/context_wording.yml
@@ -2209,7 +2209,6 @@ RSpec/ContextWording:
     - 'spec/presenters/search_service_presenter_spec.rb'
     - 'spec/presenters/user_presenter_spec.rb'
     - 'spec/presenters/web_hook_log_presenter_spec.rb'
-    - 'spec/requests/admin/clusters/integrations_controller_spec.rb'
     - 'spec/requests/admin/integrations_controller_spec.rb'
     - 'spec/requests/api/access_requests_spec.rb'
     - 'spec/requests/api/admin/ci/variables_spec.rb'
@@ -2370,7 +2369,6 @@ RSpec/ContextWording:
     - 'spec/requests/dashboard/projects_controller_spec.rb'
     - 'spec/requests/dashboard_controller_spec.rb'
     - 'spec/requests/git_http_spec.rb'
-    - 'spec/requests/groups/clusters/integrations_controller_spec.rb'
     - 'spec/requests/groups/crm/contacts_controller_spec.rb'
     - 'spec/requests/groups/crm/organizations_controller_spec.rb'
     - 'spec/requests/groups/milestones_controller_spec.rb'
@@ -2385,7 +2383,6 @@ RSpec/ContextWording:
     - 'spec/requests/mailgun/webhooks_controller_spec.rb'
     - 'spec/requests/oauth_tokens_spec.rb'
     - 'spec/requests/openid_connect_spec.rb'
-    - 'spec/requests/projects/clusters/integrations_controller_spec.rb'
     - 'spec/requests/projects/commits_controller_spec.rb'
     - 'spec/requests/projects/google_cloud/configuration_controller_spec.rb'
     - 'spec/requests/projects/google_cloud/databases_controller_spec.rb'
diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml
index 4cb7ee60ad5c05c7e3d71455010f98efba6f4703..e1b8fd50f4ea66fbc5c66f3b1752483fa3877169 100644
--- a/.rubocop_todo/rspec/feature_category.yml
+++ b/.rubocop_todo/rspec/feature_category.yml
@@ -4754,7 +4754,6 @@ RSpec/FeatureCategory:
     - 'spec/requests/api/graphql/mutations/merge_requests/set_labels_spec.rb'
     - 'spec/requests/api/resource_state_events_spec.rb'
     - 'spec/requests/api/task_completion_status_spec.rb'
-    - 'spec/requests/groups/clusters/integrations_controller_spec.rb'
     - 'spec/routing/admin_routing_spec.rb'
     - 'spec/routing/environments_spec.rb'
     - 'spec/routing/git_http_routing_spec.rb'
diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml
index 61b5456eff850d0ec024631ad84cc390cce10bd9..f05a2c6185906fabe0cdcf9006eb31994cf1f21a 100644
--- a/.rubocop_todo/style/class_and_module_children.yml
+++ b/.rubocop_todo/style/class_and_module_children.yml
@@ -8,7 +8,6 @@ Style/ClassAndModuleChildren:
     - 'app/controllers/admin/application_settings/appearances_controller.rb'
     - 'app/controllers/admin/application_settings_controller.rb'
     - 'app/controllers/admin/applications_controller.rb'
-    - 'app/controllers/admin/clusters/integrations_controller.rb'
     - 'app/controllers/admin/clusters_controller.rb'
     - 'app/controllers/admin/cohorts_controller.rb'
     - 'app/controllers/admin/dashboard_controller.rb'
@@ -62,7 +61,6 @@ Style/ClassAndModuleChildren:
     - 'app/controllers/groups/autocomplete_sources_controller.rb'
     - 'app/controllers/groups/avatars_controller.rb'
     - 'app/controllers/groups/boards_controller.rb'
-    - 'app/controllers/groups/clusters/integrations_controller.rb'
     - 'app/controllers/groups/clusters_controller.rb'
     - 'app/controllers/groups/crm/contacts_controller.rb'
     - 'app/controllers/groups/crm/organizations_controller.rb'
@@ -131,7 +129,6 @@ Style/ClassAndModuleChildren:
     - 'app/controllers/projects/ci/lints_controller.rb'
     - 'app/controllers/projects/ci/pipeline_editor_controller.rb'
     - 'app/controllers/projects/cluster_agents_controller.rb'
-    - 'app/controllers/projects/clusters/integrations_controller.rb'
     - 'app/controllers/projects/clusters_controller.rb'
     - 'app/controllers/projects/commit_controller.rb'
     - 'app/controllers/projects/commits_controller.rb'
diff --git a/app/controllers/admin/clusters/integrations_controller.rb b/app/controllers/admin/clusters/integrations_controller.rb
deleted file mode 100644
index d163ae7368d0ff9fc35a43bd0eee30015bb87edd..0000000000000000000000000000000000000000
--- a/app/controllers/admin/clusters/integrations_controller.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-class Admin::Clusters::IntegrationsController < Clusters::IntegrationsController
-  include EnforcesAdminAuthentication
-
-  private
-
-  def clusterable
-    @clusterable ||= InstanceClusterablePresenter.fabricate(Clusters::Instance.new, current_user: current_user)
-  end
-end
diff --git a/app/controllers/clusters/integrations_controller.rb b/app/controllers/clusters/integrations_controller.rb
deleted file mode 100644
index 17884a55242049dbdd1701fd3526cdf6614b6f67..0000000000000000000000000000000000000000
--- a/app/controllers/clusters/integrations_controller.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-# frozen_string_literal: true
-
-module Clusters
-  class IntegrationsController < ::Clusters::BaseController
-    before_action :cluster
-    before_action :authorize_admin_cluster!, only: [:create_or_update]
-
-    def create_or_update
-      service_response = Clusters::Integrations::CreateService
-        .new(container: clusterable, cluster: cluster, current_user: current_user, params: cluster_integration_params)
-        .execute
-
-      if service_response.success?
-        redirect_to cluster.show_path(params: { tab: 'integrations' }), notice: service_response.message
-      else
-        redirect_to cluster.show_path(params: { tab: 'integrations' }), alert: service_response.message
-      end
-    end
-
-    private
-
-    def clusterable
-      raise NotImplementedError
-    end
-
-    def cluster_integration_params
-      params.permit(integration: [:enabled, :application_type]).require(:integration)
-    end
-
-    def cluster
-      @cluster ||= clusterable.clusters.find(params[:cluster_id]).present(current_user: current_user)
-    end
-  end
-end
diff --git a/app/controllers/groups/clusters/integrations_controller.rb b/app/controllers/groups/clusters/integrations_controller.rb
deleted file mode 100644
index 4ab8c021ee2b04b5f4b26e7b782547be87181ecd..0000000000000000000000000000000000000000
--- a/app/controllers/groups/clusters/integrations_controller.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class Groups::Clusters::IntegrationsController < Clusters::IntegrationsController
-  include ControllerWithCrossProjectAccessCheck
-
-  prepend_before_action :group
-  requires_cross_project_access
-
-  private
-
-  def clusterable
-    @clusterable ||= ClusterablePresenter.fabricate(group, current_user: current_user)
-  end
-
-  def group
-    @group ||= find_routable!(Group, params[:group_id] || params[:id], request.fullpath)
-  end
-end
diff --git a/app/controllers/projects/clusters/integrations_controller.rb b/app/controllers/projects/clusters/integrations_controller.rb
deleted file mode 100644
index 77314d194691b896eb0fced2b3d68074cb33fea7..0000000000000000000000000000000000000000
--- a/app/controllers/projects/clusters/integrations_controller.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# frozen_string_literal: true
-
-class Projects::Clusters::IntegrationsController < ::Clusters::IntegrationsController
-  prepend_before_action :project
-
-  private
-
-  def clusterable
-    @clusterable ||= ClusterablePresenter.fabricate(project, current_user: current_user)
-  end
-
-  def project
-    @project ||= find_routable!(Project, File.join(params[:namespace_id], params[:project_id]), request.fullpath)
-  end
-end
diff --git a/spec/requests/admin/clusters/integrations_controller_spec.rb b/spec/requests/admin/clusters/integrations_controller_spec.rb
deleted file mode 100644
index d5e3f03627a8d722bf11aaf61406fa2a6aebb088..0000000000000000000000000000000000000000
--- a/spec/requests/admin/clusters/integrations_controller_spec.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Admin::Clusters::IntegrationsController, :enable_admin_mode, feature_category: :integrations do
-  include AccessMatchersForController
-
-  shared_examples 'a secure endpoint' do
-    context 'it is allowed for admins only' do
-      it { expect { subject }.to be_allowed_for(:admin) }
-      it { expect { subject }.to be_denied_for(:user) }
-      it { expect { subject }.to be_denied_for(:external) }
-    end
-  end
-
-  describe 'POST create_or_update' do
-    let(:cluster) { create(:cluster, :instance, :provided_by_gcp) }
-    let(:user) { create(:admin) }
-
-    it_behaves_like '#create_or_update action' do
-      let(:path) { create_or_update_admin_cluster_integration_path(cluster) }
-      let(:redirect_path) { admin_cluster_path(cluster, params: { tab: 'integrations' }) }
-    end
-  end
-end
diff --git a/spec/requests/groups/clusters/integrations_controller_spec.rb b/spec/requests/groups/clusters/integrations_controller_spec.rb
deleted file mode 100644
index 0b9148e917b0c15d3288ef7d2d2d77ce6ef8a4ee..0000000000000000000000000000000000000000
--- a/spec/requests/groups/clusters/integrations_controller_spec.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Groups::Clusters::IntegrationsController, features: :integrations do
-  include AccessMatchersForController
-
-  shared_examples 'a secure endpoint' do
-    it 'is allowed for admin when admin mode enabled', :enable_admin_mode do
-      expect { subject }.to be_allowed_for(:admin)
-    end
-
-    it 'is denied for admin when admin mode disabled' do
-      expect { subject }.to be_denied_for(:admin)
-    end
-
-    context 'it is allowed for group maintainers' do
-      it { expect { subject }.to be_allowed_for(:owner).of(group) }
-      it { expect { subject }.to be_allowed_for(:maintainer).of(group) }
-      it { expect { subject }.to be_denied_for(:developer).of(group) }
-      it { expect { subject }.to be_denied_for(:reporter).of(group) }
-      it { expect { subject }.to be_denied_for(:guest).of(group) }
-      it { expect { subject }.to be_denied_for(:user) }
-      it { expect { subject }.to be_denied_for(:external) }
-    end
-  end
-
-  describe 'POST create_or_update' do
-    let_it_be(:group) { create(:group) }
-    let_it_be(:user) { create(:user) }
-    let_it_be(:member) { create(:group_member, user: user, group: group) }
-
-    let(:cluster) { create(:cluster, :group, :provided_by_gcp, groups: [group]) }
-
-    it_behaves_like '#create_or_update action' do
-      let(:path) { create_or_update_group_cluster_integration_path(group, cluster) }
-      let(:redirect_path) { group_cluster_path(group, cluster, params: { tab: 'integrations' }) }
-    end
-  end
-end
diff --git a/spec/requests/projects/clusters/integrations_controller_spec.rb b/spec/requests/projects/clusters/integrations_controller_spec.rb
deleted file mode 100644
index 505b63e1ff6ebc7aa447de5c68959f5eb2d84636..0000000000000000000000000000000000000000
--- a/spec/requests/projects/clusters/integrations_controller_spec.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Projects::Clusters::IntegrationsController, feature_category: :integrations do
-  include AccessMatchersForController
-
-  shared_examples 'a secure endpoint' do
-    it 'is allowed for admin when admin mode enabled', :enable_admin_mode do
-      expect { subject }.to be_allowed_for(:admin)
-    end
-
-    it 'is denied for admin when admin mode disabled' do
-      expect { subject }.to be_denied_for(:admin)
-    end
-
-    context 'it is allowed for project maintainers' do
-      it { expect { subject }.to be_allowed_for(:owner).of(project) }
-      it { expect { subject }.to be_allowed_for(:maintainer).of(project) }
-      it { expect { subject }.to be_denied_for(:developer).of(project) }
-      it { expect { subject }.to be_denied_for(:reporter).of(project) }
-      it { expect { subject }.to be_denied_for(:guest).of(project) }
-      it { expect { subject }.to be_denied_for(:user) }
-      it { expect { subject }.to be_denied_for(:external) }
-    end
-  end
-
-  describe 'POST create_or_update' do
-    let(:cluster) { create(:cluster, :project, :provided_by_gcp) }
-    let(:project) { cluster.project }
-    let(:user) { project.first_owner }
-
-    it_behaves_like '#create_or_update action' do
-      let(:path) { create_or_update_project_cluster_integration_path(project, cluster) }
-      let(:redirect_path) { project_cluster_path(project, cluster, params: { tab: 'integrations' }) }
-    end
-  end
-end
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml
index aad757ee47d3c412b50be1ea6caddee4669fe2fe..aefd9dccb3b84e03ecf49fda7c7df5d3606ad66d 100644
--- a/spec/support/rspec_order_todo.yml
+++ b/spec/support/rspec_order_todo.yml
@@ -7554,7 +7554,6 @@
 - './spec/requests/admin/background_migrations_controller_spec.rb'
 - './spec/requests/admin/batched_jobs_controller_spec.rb'
 - './spec/requests/admin/broadcast_messages_controller_spec.rb'
-- './spec/requests/admin/clusters/integrations_controller_spec.rb'
 - './spec/requests/admin/impersonation_tokens_controller_spec.rb'
 - './spec/requests/admin/integrations_controller_spec.rb'
 - './spec/requests/admin/version_check_controller_spec.rb'
@@ -7975,7 +7974,6 @@
 - './spec/requests/dashboard/projects_controller_spec.rb'
 - './spec/requests/git_http_spec.rb'
 - './spec/requests/groups/autocomplete_sources_spec.rb'
-- './spec/requests/groups/clusters/integrations_controller_spec.rb'
 - './spec/requests/groups_controller_spec.rb'
 - './spec/requests/groups/crm/contacts_controller_spec.rb'
 - './spec/requests/groups/crm/organizations_controller_spec.rb'
@@ -8009,7 +8007,6 @@
 - './spec/requests/profiles/notifications_controller_spec.rb'
 - './spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb'
 - './spec/requests/projects/cluster_agents_controller_spec.rb'
-- './spec/requests/projects/clusters/integrations_controller_spec.rb'
 - './spec/requests/projects/commits_controller_spec.rb'
 - './spec/requests/projects_controller_spec.rb'
 - './spec/requests/projects/cycle_analytics_events_spec.rb'
diff --git a/spec/support/shared_examples/requests/clusters/integrations_controller_shared_examples.rb b/spec/support/shared_examples/requests/clusters/integrations_controller_shared_examples.rb
deleted file mode 100644
index 91fdcbd9b1d8b5db7e631551206110bdb9545a8e..0000000000000000000000000000000000000000
--- a/spec/support/shared_examples/requests/clusters/integrations_controller_shared_examples.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-# frozen_string_literal: true
-
-RSpec.shared_examples '#create_or_update action' do
-  let(:params) do
-    { integration: { application_type: 'prometheus', enabled: true } }
-  end
-
-  let(:path) { raise NotImplementedError }
-  let(:redirect_path) { raise NotImplementedError }
-
-  describe 'authorization' do
-    subject do
-      post path, params: params
-    end
-
-    it_behaves_like 'a secure endpoint'
-  end
-
-  describe 'functionality' do
-    before do
-      sign_in(user)
-    end
-
-    it 'redirects on success' do
-      post path, params: params
-
-      expect(response).to have_gitlab_http_status(:redirect)
-      expect(response).to redirect_to(redirect_path)
-      expect(flash[:notice]).to be_present
-    end
-
-    it 'redirects on error' do
-      error = ServiceResponse.error(message: 'failed')
-
-      expect_next_instance_of(Clusters::Integrations::CreateService) do |service|
-        expect(service).to receive(:execute).and_return(error)
-      end
-
-      post path, params: params
-
-      expect(response).to have_gitlab_http_status(:redirect)
-      expect(response).to redirect_to(redirect_path)
-      expect(flash[:alert]).to eq(error.message)
-    end
-  end
-end
diff --git a/spec/tooling/danger/project_helper_spec.rb b/spec/tooling/danger/project_helper_spec.rb
index 1fbae423c52d33ef12ab4a01e6f752ff70ad5243..1d3b349ac5893ca800e1ebcad06ad5c6d6071e2f 100644
--- a/spec/tooling/danger/project_helper_spec.rb
+++ b/spec/tooling/danger/project_helper_spec.rb
@@ -216,7 +216,6 @@
       'app/serializers/jira_connect/app_data_serializer.rb' | [:import_integrate_be, :backend]
       'lib/api/github/entities.rb' | [:import_integrate_be, :backend]
       'lib/api/v3/github.rb' | [:import_integrate_be, :backend]
-      'app/controllers/clusters/integrations_controller.rb' | [:backend]
       'app/services/clusters/integrations/prometheus_health_check_service.rb' | [:backend]
       'app/graphql/types/alert_management/integration_type.rb' | [:backend]