diff --git a/.rubocop_todo/gitlab/bounded_contexts.yml b/.rubocop_todo/gitlab/bounded_contexts.yml
index d1b7aaee140bacb5fcd762afa66d8006d91f4b7d..cc342052df3560a7d729a9b7dd0f3aabceed799e 100644
--- a/.rubocop_todo/gitlab/bounded_contexts.yml
+++ b/.rubocop_todo/gitlab/bounded_contexts.yml
@@ -314,7 +314,6 @@ Gitlab/BoundedContexts:
     - 'app/graphql/resolvers/merge_request_resolver.rb'
     - 'app/graphql/resolvers/merge_requests_count_resolver.rb'
     - 'app/graphql/resolvers/merge_requests_resolver.rb'
-    - 'app/graphql/resolvers/metadata_resolver.rb'
     - 'app/graphql/resolvers/milestones_resolver.rb'
     - 'app/graphql/resolvers/namespace_projects_resolver.rb'
     - 'app/graphql/resolvers/namespace_resolver.rb'
@@ -539,7 +538,6 @@ Gitlab/BoundedContexts:
     - 'app/graphql/types/merge_request_state_event_enum.rb'
     - 'app/graphql/types/merge_request_type.rb'
     - 'app/graphql/types/merge_strategy_enum.rb'
-    - 'app/graphql/types/metadata_type.rb'
     - 'app/graphql/types/metrics/dashboards/annotation_type.rb'
     - 'app/graphql/types/milestone_sort_enum.rb'
     - 'app/graphql/types/milestone_state_enum.rb'
@@ -1066,8 +1064,6 @@ Gitlab/BoundedContexts:
     - 'app/models/incident_management/timeline_event_tag_link.rb'
     - 'app/models/individual_note_discussion.rb'
     - 'app/models/instance_configuration.rb'
-    - 'app/models/instance_metadata.rb'
-    - 'app/models/instance_metadata/kas.rb'
     - 'app/models/integration.rb'
     - 'app/models/internal_id.rb'
     - 'app/models/issuable_severity.rb'
@@ -1334,7 +1330,6 @@ Gitlab/BoundedContexts:
     - 'app/policies/identity_provider_policy.rb'
     - 'app/policies/incident_management/timeline_event_policy.rb'
     - 'app/policies/incident_management/timeline_event_tag_policy.rb'
-    - 'app/policies/instance_metadata_policy.rb'
     - 'app/policies/integration_policy.rb'
     - 'app/policies/issuable_policy.rb'
     - 'app/policies/issue_policy.rb'
diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml
index ddf04b8b670c3ec44e4812ec9b217a90680e4ba5..20c7209f750e94ed2421a854aaf6682f9df21323 100644
--- a/.rubocop_todo/gitlab/namespaced_class.yml
+++ b/.rubocop_todo/gitlab/namespaced_class.yml
@@ -183,7 +183,6 @@ Gitlab/NamespacedClass:
     - 'app/models/import_failure.rb'
     - 'app/models/individual_note_discussion.rb'
     - 'app/models/instance_configuration.rb'
-    - 'app/models/instance_metadata.rb'
     - 'app/models/integration.rb'
     - 'app/models/internal_id.rb'
     - 'app/models/issuable_severity.rb'
@@ -363,7 +362,6 @@ Gitlab/NamespacedClass:
     - 'app/policies/group_member_policy.rb'
     - 'app/policies/group_policy.rb'
     - 'app/policies/identity_provider_policy.rb'
-    - 'app/policies/instance_metadata_policy.rb'
     - 'app/policies/integration_policy.rb'
     - 'app/policies/issuable_policy.rb'
     - 'app/policies/issue_policy.rb'
diff --git a/.rubocop_todo/layout/class_structure.yml b/.rubocop_todo/layout/class_structure.yml
index 5de9fd8790d09c4e61d697ab514ab2935cd322fe..0da4cbc5a291a0a528449e14c17a9e65f410ce22 100644
--- a/.rubocop_todo/layout/class_structure.yml
+++ b/.rubocop_todo/layout/class_structure.yml
@@ -69,7 +69,6 @@ Layout/ClassStructure:
     - 'app/models/gpg_key.rb'
     - 'app/models/hooks/web_hook.rb'
     - 'app/models/identity.rb'
-    - 'app/models/instance_metadata/kas.rb'
     - 'app/models/integration.rb'
     - 'app/models/integrations/base_chat_notification.rb'
     - 'app/models/integrations/base_ci.rb'
diff --git a/.rubocop_todo/lint/unused_method_argument.yml b/.rubocop_todo/lint/unused_method_argument.yml
index 56117ad6d123b6f9012fe5e96a684bd7cd6c9b54..8079fb222478bf822dc9bb790ad43bebb7a8b996 100644
--- a/.rubocop_todo/lint/unused_method_argument.yml
+++ b/.rubocop_todo/lint/unused_method_argument.yml
@@ -30,7 +30,6 @@ Lint/UnusedMethodArgument:
     - 'app/graphql/resolvers/error_tracking/sentry_error_collection_resolver.rb'
     - 'app/graphql/resolvers/last_commit_resolver.rb'
     - 'app/graphql/resolvers/merge_request_resolver.rb'
-    - 'app/graphql/resolvers/metadata_resolver.rb'
     - 'app/graphql/resolvers/project_resolver.rb'
     - 'app/graphql/resolvers/projects/branch_rules_resolver.rb'
     - 'app/graphql/resolvers/projects/grafana_integration_resolver.rb'
diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml
index 60f71b5546902d1af597929b966ef3e918bee256..d26260c3561dcee47efcb5906f74950e43a8dd13 100644
--- a/.rubocop_todo/rspec/feature_category.yml
+++ b/.rubocop_todo/rspec/feature_category.yml
@@ -1527,7 +1527,6 @@ RSpec/FeatureCategory:
     - 'spec/graphql/resolvers/last_commit_resolver_spec.rb'
     - 'spec/graphql/resolvers/merge_request_pipelines_resolver_spec.rb'
     - 'spec/graphql/resolvers/merge_requests_count_resolver_spec.rb'
-    - 'spec/graphql/resolvers/metadata_resolver_spec.rb'
     - 'spec/graphql/resolvers/package_details_resolver_spec.rb'
     - 'spec/graphql/resolvers/package_pipelines_resolver_spec.rb'
     - 'spec/graphql/resolvers/packages_base_resolver_spec.rb'
@@ -1700,7 +1699,6 @@ RSpec/FeatureCategory:
     - 'spec/graphql/types/merge_requests/participant_type_spec.rb'
     - 'spec/graphql/types/merge_requests/reviewer_type_spec.rb'
     - 'spec/graphql/types/metadata/kas_type_spec.rb'
-    - 'spec/graphql/types/metadata_type_spec.rb'
     - 'spec/graphql/types/metrics/dashboards/annotation_type_spec.rb'
     - 'spec/graphql/types/milestone_stats_type_spec.rb'
     - 'spec/graphql/types/milestone_type_spec.rb'
@@ -3469,8 +3467,6 @@ RSpec/FeatureCategory:
     - 'spec/models/incident_management/timeline_event_tag_link_spec.rb'
     - 'spec/models/incident_management/timeline_event_tag_spec.rb'
     - 'spec/models/instance_configuration_spec.rb'
-    - 'spec/models/instance_metadata/kas_spec.rb'
-    - 'spec/models/instance_metadata_spec.rb'
     - 'spec/models/integrations/chat_message/alert_message_spec.rb'
     - 'spec/models/integrations/chat_message/merge_message_spec.rb'
     - 'spec/models/integrations/chat_message/note_message_spec.rb'
@@ -3647,7 +3643,6 @@ RSpec/FeatureCategory:
     - 'spec/policies/group_member_policy_spec.rb'
     - 'spec/policies/identity_provider_policy_spec.rb'
     - 'spec/policies/incident_management/timeline_event_policy_spec.rb'
-    - 'spec/policies/instance_metadata_policy_spec.rb'
     - 'spec/policies/integration_policy_spec.rb'
     - 'spec/policies/issuable_policy_spec.rb'
     - 'spec/policies/namespace/root_storage_statistics_policy_spec.rb'
diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml
index fd81e6e635bfa01b8d85ff216eff9bc3b93caa8c..d6063899230c50b9c746da477bce79f9d69fccee 100644
--- a/.rubocop_todo/rspec/named_subject.yml
+++ b/.rubocop_todo/rspec/named_subject.yml
@@ -2519,8 +2519,6 @@ RSpec/NamedSubject:
     - 'spec/models/import_failure_spec.rb'
     - 'spec/models/incident_management/project_incident_management_setting_spec.rb'
     - 'spec/models/instance_configuration_spec.rb'
-    - 'spec/models/instance_metadata/kas_spec.rb'
-    - 'spec/models/instance_metadata_spec.rb'
     - 'spec/models/integrations/apple_app_store_spec.rb'
     - 'spec/models/integrations/asana_spec.rb'
     - 'spec/models/integrations/assembla_spec.rb'
diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml
index 7eea5a86e683b62b2141934ed184f22555fc8fba..066e53a9c2fa0debfbe1a87371a86acf713019ea 100644
--- a/.rubocop_todo/style/class_and_module_children.yml
+++ b/.rubocop_todo/style/class_and_module_children.yml
@@ -248,7 +248,6 @@ Style/ClassAndModuleChildren:
     - 'app/models/error_tracking/error.rb'
     - 'app/models/error_tracking/error_event.rb'
     - 'app/models/group/crm_settings.rb'
-    - 'app/models/instance_metadata/kas.rb'
     - 'app/models/issue/email.rb'
     - 'app/models/issue/metrics.rb'
     - 'app/models/issues/csv_import.rb'
diff --git a/app/graphql/resolvers/app_config/instance_metadata_resolver.rb b/app/graphql/resolvers/app_config/instance_metadata_resolver.rb
new file mode 100644
index 0000000000000000000000000000000000000000..486cab94c7e1ab3fdf0ee796ccc9763531648dc7
--- /dev/null
+++ b/app/graphql/resolvers/app_config/instance_metadata_resolver.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module Resolvers
+  module AppConfig
+    class InstanceMetadataResolver < BaseResolver
+      type Types::AppConfig::InstanceMetadataType, null: false
+
+      def resolve(**_args)
+        ::AppConfig::InstanceMetadata.new
+      end
+    end
+  end
+end
diff --git a/app/graphql/resolvers/metadata_resolver.rb b/app/graphql/resolvers/metadata_resolver.rb
deleted file mode 100644
index 26bfa81038cd3591db26ec541c0a04f4cccf8bbe..0000000000000000000000000000000000000000
--- a/app/graphql/resolvers/metadata_resolver.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-module Resolvers
-  class MetadataResolver < BaseResolver
-    type Types::MetadataType, null: false
-
-    def resolve(**args)
-      ::InstanceMetadata.new
-    end
-  end
-end
diff --git a/app/graphql/types/app_config/instance_metadata_type.rb b/app/graphql/types/app_config/instance_metadata_type.rb
new file mode 100644
index 0000000000000000000000000000000000000000..d9450aa73e7364c8ab0bb50da4988a2d1387a3b7
--- /dev/null
+++ b/app/graphql/types/app_config/instance_metadata_type.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+module Types
+  module AppConfig
+    class InstanceMetadataType < ::Types::BaseObject
+      graphql_name 'Metadata'
+
+      authorize :read_instance_metadata
+
+      field :enterprise, GraphQL::Types::Boolean, null: false,
+        description: 'Enterprise edition.'
+      field :feature_flags, [::Types::AppConfig::GitlabInstanceFeatureFlagType], null: false,
+        description: 'Feature flags for the GitLab instance.',
+        alpha: { milestone: '17.4' },
+        resolver: ::Resolvers::AppConfig::GitlabInstanceFeatureFlagsResolver
+      field :kas, ::Types::AppConfig::KasType, null: false,
+        description: 'Metadata about KAS.'
+      field :revision, GraphQL::Types::String, null: false,
+        description: 'Revision.'
+      field :version, GraphQL::Types::String, null: false,
+        description: 'Version.'
+    end
+  end
+end
diff --git a/app/graphql/types/metadata_type.rb b/app/graphql/types/metadata_type.rb
deleted file mode 100644
index 949b196b944936af9a3235c3223492ee751ef54c..0000000000000000000000000000000000000000
--- a/app/graphql/types/metadata_type.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-# frozen_string_literal: true
-
-module Types
-  class MetadataType < ::Types::BaseObject
-    graphql_name 'Metadata'
-
-    authorize :read_instance_metadata
-
-    field :enterprise, GraphQL::Types::Boolean, null: false,
-      description: 'Enterprise edition.'
-    field :feature_flags, [::Types::AppConfig::GitlabInstanceFeatureFlagType], null: false,
-      description: 'Feature flags for the GitLab instance.',
-      alpha: { milestone: '17.4' },
-      resolver: ::Resolvers::AppConfig::GitlabInstanceFeatureFlagsResolver
-    field :kas, ::Types::AppConfig::KasType, null: false,
-      description: 'Metadata about KAS.'
-    field :revision, GraphQL::Types::String, null: false,
-      description: 'Revision.'
-    field :version, GraphQL::Types::String, null: false,
-      description: 'Version.'
-  end
-end
diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb
index 45a768b2502f8ee626346d5cea6522c99a5a6418..66d1aef35e34ce86b4c99fc65ef907c9e87b8179 100644
--- a/app/graphql/types/query_type.rb
+++ b/app/graphql/types/query_type.rb
@@ -94,9 +94,9 @@ class QueryType < ::Types::BaseObject
       description: 'Find a merge request.' do
       argument :id, ::Types::GlobalIDType[::MergeRequest], required: true, description: 'Global ID of the merge request.'
     end
-    field :metadata, Types::MetadataType,
+    field :metadata, Types::AppConfig::InstanceMetadataType,
       null: true,
-      resolver: Resolvers::MetadataResolver,
+      resolver: Resolvers::AppConfig::InstanceMetadataResolver,
       description: 'Metadata about GitLab.'
     field :milestone, ::Types::MilestoneType,
       null: true,
diff --git a/app/models/app_config/instance_metadata.rb b/app/models/app_config/instance_metadata.rb
new file mode 100644
index 0000000000000000000000000000000000000000..c909d6fb56d7fb3db5059f129375e123d4ab100f
--- /dev/null
+++ b/app/models/app_config/instance_metadata.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+module AppConfig
+  class InstanceMetadata
+    attr_reader :version, :revision, :kas, :enterprise
+
+    def initialize(version: Gitlab::VERSION, revision: Gitlab.revision, enterprise: Gitlab.ee?)
+      @version = version
+      @revision = revision
+      @kas = AppConfig::KasMetadata.new
+      @enterprise = enterprise
+    end
+  end
+end
diff --git a/app/models/app_config/kas_metadata.rb b/app/models/app_config/kas_metadata.rb
new file mode 100644
index 0000000000000000000000000000000000000000..0867cbd271a11e80e1a4c1bc03b7ca10d09d0543
--- /dev/null
+++ b/app/models/app_config/kas_metadata.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module AppConfig
+  class KasMetadata
+    attr_reader :enabled, :version, :external_url
+
+    def self.declarative_policy_class
+      "AppConfig::InstanceMetadataPolicy"
+    end
+
+    def initialize
+      @enabled = Gitlab::Kas.enabled?
+      @version = Gitlab::Kas.version if @enabled
+      @external_url = Gitlab::Kas.external_url if @enabled
+    end
+  end
+end
diff --git a/app/models/instance_metadata.rb b/app/models/instance_metadata.rb
deleted file mode 100644
index 47460c856713dfe7bf49b4f8617ea6e091dad5ef..0000000000000000000000000000000000000000
--- a/app/models/instance_metadata.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-# frozen_string_literal: true
-
-class InstanceMetadata
-  attr_reader :version, :revision, :kas, :enterprise
-
-  def initialize(version: Gitlab::VERSION, revision: Gitlab.revision, enterprise: Gitlab.ee?)
-    @version = version
-    @revision = revision
-    @kas = ::InstanceMetadata::Kas.new
-    @enterprise = enterprise
-  end
-end
diff --git a/app/models/instance_metadata/kas.rb b/app/models/instance_metadata/kas.rb
deleted file mode 100644
index 7d2d71120b5ce0cbf2ac6419cef4e65ea6c63465..0000000000000000000000000000000000000000
--- a/app/models/instance_metadata/kas.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# frozen_string_literal: true
-
-class InstanceMetadata::Kas
-  attr_reader :enabled, :version, :external_url
-
-  def initialize
-    @enabled = Gitlab::Kas.enabled?
-    @version = Gitlab::Kas.version if @enabled
-    @external_url = Gitlab::Kas.external_url if @enabled
-  end
-
-  def self.declarative_policy_class
-    "InstanceMetadataPolicy"
-  end
-end
diff --git a/app/policies/app_config/instance_metadata_policy.rb b/app/policies/app_config/instance_metadata_policy.rb
new file mode 100644
index 0000000000000000000000000000000000000000..48f921b8c4cc692009ec22c93a1eee53bc34d687
--- /dev/null
+++ b/app/policies/app_config/instance_metadata_policy.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+module AppConfig
+  class InstanceMetadataPolicy < BasePolicy
+    delegate { :global }
+  end
+end
diff --git a/app/policies/instance_metadata_policy.rb b/app/policies/instance_metadata_policy.rb
deleted file mode 100644
index 3386217044dbc6b8accc9ebf2a54bd402c95aaf4..0000000000000000000000000000000000000000
--- a/app/policies/instance_metadata_policy.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# frozen_string_literal: true
-
-class InstanceMetadataPolicy < BasePolicy
-  delegate { :global }
-end
diff --git a/spec/graphql/resolvers/metadata_resolver_spec.rb b/spec/graphql/resolvers/app_config/instance_metadata_resolver_spec.rb
similarity index 68%
rename from spec/graphql/resolvers/metadata_resolver_spec.rb
rename to spec/graphql/resolvers/app_config/instance_metadata_resolver_spec.rb
index 56875e185e7682b0cf2d5d9ae71e20bcaf1dc420..6f05a511a9041eef214793523b0d9a1f2b779068 100644
--- a/spec/graphql/resolvers/metadata_resolver_spec.rb
+++ b/spec/graphql/resolvers/app_config/instance_metadata_resolver_spec.rb
@@ -2,7 +2,7 @@
 
 require 'spec_helper'
 
-RSpec.describe Resolvers::MetadataResolver do
+RSpec.describe Resolvers::AppConfig::InstanceMetadataResolver, feature_category: :api do
   include GraphqlHelpers
 
   describe '#resolve' do
@@ -10,7 +10,7 @@
       expect(resolve(described_class)).to have_attributes(
         version: Gitlab::VERSION,
         revision: Gitlab.revision,
-        kas: kind_of(InstanceMetadata::Kas))
+        kas: kind_of(AppConfig::KasMetadata))
     end
   end
 end
diff --git a/spec/graphql/types/metadata_type_spec.rb b/spec/graphql/types/app_config/instance_metadata_type_spec.rb
similarity index 75%
rename from spec/graphql/types/metadata_type_spec.rb
rename to spec/graphql/types/app_config/instance_metadata_type_spec.rb
index a1efb0a03d5431fda9bc8510191a263a4f5e9e69..f78c7cf7e45d126e7d2fc18b2fea6ca4a6366fa3 100644
--- a/spec/graphql/types/metadata_type_spec.rb
+++ b/spec/graphql/types/app_config/instance_metadata_type_spec.rb
@@ -2,7 +2,7 @@
 
 require 'spec_helper'
 
-RSpec.describe GitlabSchema.types['Metadata'] do
+RSpec.describe GitlabSchema.types['Metadata'], feature_category: :api do
   specify { expect(described_class.graphql_name).to eq('Metadata') }
   specify { expect(described_class).to require_graphql_authorizations(:read_instance_metadata) }
 end
diff --git a/spec/graphql/types/query_type_spec.rb b/spec/graphql/types/query_type_spec.rb
index f77693648832acae443e9f9d2b361d7bf9c3ef9b..e941b980300099f8fa3eba0e96874e7c3622a374 100644
--- a/spec/graphql/types/query_type_spec.rb
+++ b/spec/graphql/types/query_type_spec.rb
@@ -57,8 +57,8 @@
     subject { described_class.fields['metadata'] }
 
     it 'returns metadata' do
-      is_expected.to have_graphql_type(Types::MetadataType)
-      is_expected.to have_graphql_resolver(Resolvers::MetadataResolver)
+      is_expected.to have_graphql_type(Types::AppConfig::InstanceMetadataType)
+      is_expected.to have_graphql_resolver(Resolvers::AppConfig::InstanceMetadataResolver)
     end
   end
 
diff --git a/spec/models/app_config/instance_metadata_spec.rb b/spec/models/app_config/instance_metadata_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..c5ba68b7c493f66abcaadb5612128a202323e3e2
--- /dev/null
+++ b/spec/models/app_config/instance_metadata_spec.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+require 'fast_spec_helper'
+require_relative '../../../app/models/app_config/instance_metadata'
+require_relative '../../../app/models/app_config/kas_metadata'
+
+RSpec.describe AppConfig::InstanceMetadata, feature_category: :api do
+  it 'has the correct properties' do
+    expect(described_class.new).to have_attributes(
+      version: Gitlab::VERSION,
+      revision: Gitlab.revision,
+      kas: kind_of(AppConfig::KasMetadata),
+      enterprise: Gitlab.ee?
+    )
+  end
+end
diff --git a/spec/models/instance_metadata/kas_spec.rb b/spec/models/app_config/kas_metadata_spec.rb
similarity index 71%
rename from spec/models/instance_metadata/kas_spec.rb
rename to spec/models/app_config/kas_metadata_spec.rb
index f8cc34fa8d3801ece6e9ba97d24546fd71f83155..df1127d5f73bbf4e4dfa008bb1e552b6f6fb7617 100644
--- a/spec/models/instance_metadata/kas_spec.rb
+++ b/spec/models/app_config/kas_metadata_spec.rb
@@ -2,16 +2,16 @@
 
 require 'spec_helper'
 
-RSpec.describe ::InstanceMetadata::Kas do
+RSpec.describe AppConfig::KasMetadata, feature_category: :api do
   it 'has InstanceMetadataPolicy as declarative policy' do
-    expect(described_class.declarative_policy_class).to eq("InstanceMetadataPolicy")
+    expect(described_class.declarative_policy_class).to eq("AppConfig::InstanceMetadataPolicy")
   end
 
   context 'when KAS is enabled' do
     it 'has the correct properties' do
       allow(Gitlab::Kas).to receive(:enabled?).and_return(true)
 
-      expect(subject).to have_attributes(
+      expect(described_class.new).to have_attributes(
         enabled: Gitlab::Kas.enabled?,
         version: Gitlab::Kas.version,
         external_url: Gitlab::Kas.external_url
@@ -23,7 +23,7 @@
     it 'has the correct properties' do
       allow(Gitlab::Kas).to receive(:enabled?).and_return(false)
 
-      expect(subject).to have_attributes(
+      expect(described_class.new).to have_attributes(
         enabled: Gitlab::Kas.enabled?,
         version: nil,
         external_url: nil
diff --git a/spec/models/instance_metadata_spec.rb b/spec/models/instance_metadata_spec.rb
deleted file mode 100644
index 46fd165e0653785f3ac5f7f29e5ff8fee82e9af3..0000000000000000000000000000000000000000
--- a/spec/models/instance_metadata_spec.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-require 'fast_spec_helper'
-require_relative '../../app/models/instance_metadata'
-require_relative '../../app/models/instance_metadata/kas'
-
-RSpec.describe InstanceMetadata do
-  it 'has the correct properties' do
-    expect(subject).to have_attributes(
-      version: Gitlab::VERSION,
-      revision: Gitlab.revision,
-      kas: kind_of(::InstanceMetadata::Kas),
-      enterprise: Gitlab.ee?
-    )
-  end
-end
diff --git a/spec/policies/instance_metadata_policy_spec.rb b/spec/policies/app_config/instance_metadata_policy_spec.rb
similarity index 68%
rename from spec/policies/instance_metadata_policy_spec.rb
rename to spec/policies/app_config/instance_metadata_policy_spec.rb
index 2c8e18483e639c3a83e7da832924776e0ceaf412..4d47071ebac17928a834909e7d14543fe67d192a 100644
--- a/spec/policies/instance_metadata_policy_spec.rb
+++ b/spec/policies/app_config/instance_metadata_policy_spec.rb
@@ -2,8 +2,8 @@
 
 require 'spec_helper'
 
-RSpec.describe InstanceMetadataPolicy do
-  subject { described_class.new(user, InstanceMetadata.new) }
+RSpec.describe AppConfig::InstanceMetadataPolicy, feature_category: :api do
+  subject { described_class.new(user, AppConfig::InstanceMetadata.new) }
 
   context 'for any logged-in user' do
     let(:user) { create(:user) }
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml
index ef10f859f42eddf43064fe7ed43bf36af38a4ffd..a07b167d99edc142288382a048577e1e2ace5298 100644
--- a/spec/support/rspec_order_todo.yml
+++ b/spec/support/rspec_order_todo.yml
@@ -6119,8 +6119,6 @@
 - './spec/models/import_export_upload_spec.rb'
 - './spec/models/import_failure_spec.rb'
 - './spec/models/instance_configuration_spec.rb'
-- './spec/models/instance_metadata/kas_spec.rb'
-- './spec/models/instance_metadata_spec.rb'
 - './spec/models/integrations/asana_spec.rb'
 - './spec/models/integrations/assembla_spec.rb'
 - './spec/models/integrations/bamboo_spec.rb'