From bd290890b0cf22f836299269321f8e452e02f46b Mon Sep 17 00:00:00 2001
From: Hordur Freyr Yngvason <hfyngvason@gitlab.com>
Date: Fri, 29 Apr 2022 14:09:51 -0400
Subject: [PATCH] Remove Serverless from GitLab

See https://gitlab.com/gitlab-org/gitlab/-/issues/353901

Changelog: removed
---
 .rubocop_todo/layout/argument_alignment.yml   |   1 -
 .../lint/missing_cop_enable_directive.yml     |   1 -
 .rubocop_todo/rspec/verified_doubles.yml      |   1 -
 .../pages/projects/serverless/index.js        |   3 -
 .../serverless/components/area.vue            | 145 ----
 .../serverless/components/empty_state.vue     |  39 -
 .../serverless/components/environment_row.vue |  65 --
 .../components/function_details.vue           |  94 --
 .../serverless/components/function_row.vue    |  77 --
 .../serverless/components/functions.vue       | 139 ---
 .../components/missing_prometheus.vue         |  57 --
 .../serverless/components/pod_box.vue         |  36 -
 .../javascripts/serverless/components/url.vue |  28 -
 .../javascripts/serverless/constants.js       |  10 -
 .../javascripts/serverless/event_hub.js       |   3 -
 .../serverless/serverless_bundle.js           |  67 --
 .../javascripts/serverless/store/actions.js   | 131 ---
 .../javascripts/serverless/store/getters.js   |   7 -
 .../javascripts/serverless/store/index.js     |  18 -
 .../serverless/store/mutation_types.js        |  11 -
 .../javascripts/serverless/store/mutations.js |  49 --
 .../javascripts/serverless/store/state.js     |  22 -
 app/assets/javascripts/serverless/utils.js    |  20 -
 .../serverless/functions_controller.rb        |  80 --
 .../projects/serverless/functions_finder.rb   | 153 ----
 .../serverless/functions/index.html.haml      |  17 -
 .../serverless/functions/show.html.haml       |  19 -
 .../ops/deprecated_serverless.yml             |   8 -
 config/routes/project.rb                      |   9 -
 data/removals/15_0/15-0-serverless.yml        |  17 +
 doc/update/removals.md                        |  15 +
 doc/user/clusters/applications.md             |  15 -
 doc/user/infrastructure/clusters/index.md     |   1 -
 doc/user/project/clusters/serverless/aws.md   | 504 +----------
 .../img/function-details-loaded_v14_0.png     | Bin 21864 -> 0 bytes
 .../serverless/img/function-endpoint.png      | Bin 14641 -> 0 bytes
 .../serverless/img/function-execution.png     | Bin 73788 -> 0 bytes
 .../serverless/img/function-list_v12_7.png    | Bin 18551 -> 0 bytes
 .../serverless/img/sam-api-endpoint.png       | Bin 29991 -> 0 bytes
 .../serverless/img/sam-complete-raw.png       | Bin 38847 -> 0 bytes
 .../serverless/img/serverless-page_v14_0.png  | Bin 18188 -> 0 bytes
 doc/user/project/clusters/serverless/index.md | 816 +-----------------
 .../ci/templates/Serverless.gitlab-ci.yml     |  35 -
 .../projects/menus/infrastructure_menu.rb     |  14 -
 locale/gitlab.pot                             |  78 --
 .../serverless/functions_controller_spec.rb   | 341 --------
 spec/features/monitor_sidebar_link_spec.rb    |   5 -
 .../projects/serverless/functions_spec.rb     |  88 --
 .../serverless/functions_finder_spec.rb       | 185 ----
 .../__snapshots__/empty_state_spec.js.snap    |  22 -
 .../serverless/components/area_spec.js        | 121 ---
 .../serverless/components/empty_state_spec.js |  25 -
 .../components/environment_row_spec.js        |  68 --
 .../components/function_details_spec.js       | 100 ---
 .../components/function_row_spec.js           |  34 -
 .../serverless/components/functions_spec.js   |  86 --
 .../components/missing_prometheus_spec.js     |  38 -
 .../serverless/components/pod_box_spec.js     |  22 -
 .../serverless/components/url_spec.js         |  26 -
 spec/frontend/serverless/mock_data.js         | 145 ----
 .../frontend/serverless/store/actions_spec.js |  80 --
 .../frontend/serverless/store/getters_spec.js |  43 -
 .../serverless/store/mutations_spec.js        |  86 --
 spec/frontend/serverless/utils.js             |  17 -
 .../menus/infrastructure_menu_spec.rb         |  36 +-
 .../navbar_structure_context.rb               |   1 -
 .../nav/sidebar/_project.html.haml_spec.rb    |  18 -
 67 files changed, 46 insertions(+), 4346 deletions(-)
 delete mode 100644 app/assets/javascripts/pages/projects/serverless/index.js
 delete mode 100644 app/assets/javascripts/serverless/components/area.vue
 delete mode 100644 app/assets/javascripts/serverless/components/empty_state.vue
 delete mode 100644 app/assets/javascripts/serverless/components/environment_row.vue
 delete mode 100644 app/assets/javascripts/serverless/components/function_details.vue
 delete mode 100644 app/assets/javascripts/serverless/components/function_row.vue
 delete mode 100644 app/assets/javascripts/serverless/components/functions.vue
 delete mode 100644 app/assets/javascripts/serverless/components/missing_prometheus.vue
 delete mode 100644 app/assets/javascripts/serverless/components/pod_box.vue
 delete mode 100644 app/assets/javascripts/serverless/components/url.vue
 delete mode 100644 app/assets/javascripts/serverless/constants.js
 delete mode 100644 app/assets/javascripts/serverless/event_hub.js
 delete mode 100644 app/assets/javascripts/serverless/serverless_bundle.js
 delete mode 100644 app/assets/javascripts/serverless/store/actions.js
 delete mode 100644 app/assets/javascripts/serverless/store/getters.js
 delete mode 100644 app/assets/javascripts/serverless/store/index.js
 delete mode 100644 app/assets/javascripts/serverless/store/mutation_types.js
 delete mode 100644 app/assets/javascripts/serverless/store/mutations.js
 delete mode 100644 app/assets/javascripts/serverless/store/state.js
 delete mode 100644 app/assets/javascripts/serverless/utils.js
 delete mode 100644 app/controllers/projects/serverless/functions_controller.rb
 delete mode 100644 app/finders/projects/serverless/functions_finder.rb
 delete mode 100644 app/views/projects/serverless/functions/index.html.haml
 delete mode 100644 app/views/projects/serverless/functions/show.html.haml
 delete mode 100644 config/feature_flags/ops/deprecated_serverless.yml
 create mode 100644 data/removals/15_0/15-0-serverless.yml
 delete mode 100644 doc/user/project/clusters/serverless/img/function-details-loaded_v14_0.png
 delete mode 100644 doc/user/project/clusters/serverless/img/function-endpoint.png
 delete mode 100644 doc/user/project/clusters/serverless/img/function-execution.png
 delete mode 100644 doc/user/project/clusters/serverless/img/function-list_v12_7.png
 delete mode 100644 doc/user/project/clusters/serverless/img/sam-api-endpoint.png
 delete mode 100644 doc/user/project/clusters/serverless/img/sam-complete-raw.png
 delete mode 100644 doc/user/project/clusters/serverless/img/serverless-page_v14_0.png
 delete mode 100644 lib/gitlab/ci/templates/Serverless.gitlab-ci.yml
 delete mode 100644 spec/controllers/projects/serverless/functions_controller_spec.rb
 delete mode 100644 spec/features/projects/serverless/functions_spec.rb
 delete mode 100644 spec/finders/projects/serverless/functions_finder_spec.rb
 delete mode 100644 spec/frontend/serverless/components/__snapshots__/empty_state_spec.js.snap
 delete mode 100644 spec/frontend/serverless/components/area_spec.js
 delete mode 100644 spec/frontend/serverless/components/empty_state_spec.js
 delete mode 100644 spec/frontend/serverless/components/environment_row_spec.js
 delete mode 100644 spec/frontend/serverless/components/function_details_spec.js
 delete mode 100644 spec/frontend/serverless/components/function_row_spec.js
 delete mode 100644 spec/frontend/serverless/components/functions_spec.js
 delete mode 100644 spec/frontend/serverless/components/missing_prometheus_spec.js
 delete mode 100644 spec/frontend/serverless/components/pod_box_spec.js
 delete mode 100644 spec/frontend/serverless/components/url_spec.js
 delete mode 100644 spec/frontend/serverless/mock_data.js
 delete mode 100644 spec/frontend/serverless/store/actions_spec.js
 delete mode 100644 spec/frontend/serverless/store/getters_spec.js
 delete mode 100644 spec/frontend/serverless/store/mutations_spec.js
 delete mode 100644 spec/frontend/serverless/utils.js

diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml
index acb8e8157cc23..d8d79d9fa9077 100644
--- a/.rubocop_todo/layout/argument_alignment.yml
+++ b/.rubocop_todo/layout/argument_alignment.yml
@@ -688,7 +688,6 @@ Layout/ArgumentAlignment:
     - 'spec/finders/keys_finder_spec.rb'
     - 'spec/finders/merge_requests_finder_spec.rb'
     - 'spec/finders/personal_access_tokens_finder_spec.rb'
-    - 'spec/finders/projects/serverless/functions_finder_spec.rb'
     - 'spec/frontend/fixtures/issues.rb'
     - 'spec/frontend/fixtures/merge_requests.rb'
     - 'spec/frontend/fixtures/merge_requests_diffs.rb'
diff --git a/.rubocop_todo/lint/missing_cop_enable_directive.yml b/.rubocop_todo/lint/missing_cop_enable_directive.yml
index a8edf6c85dc0e..589f98c9e024a 100644
--- a/.rubocop_todo/lint/missing_cop_enable_directive.yml
+++ b/.rubocop_todo/lint/missing_cop_enable_directive.yml
@@ -6,7 +6,6 @@ Lint/MissingCopEnableDirective:
   Exclude:
     - 'app/controllers/admin/users_controller.rb'
     - 'app/controllers/projects/forks_controller.rb'
-    - 'app/finders/projects/serverless/functions_finder.rb'
     - 'app/graphql/resolvers/group_issues_resolver.rb'
     - 'app/graphql/resolvers/issues_resolver.rb'
     - 'app/graphql/resolvers/project_members_resolver.rb'
diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml
index aed96909fe33f..e272fbc555cd5 100644
--- a/.rubocop_todo/rspec/verified_doubles.yml
+++ b/.rubocop_todo/rspec/verified_doubles.yml
@@ -332,7 +332,6 @@ RSpec/VerifiedDoubles:
     - spec/features/projects/integrations/user_activates_jira_spec.rb
     - spec/finders/ci/auth_job_finder_spec.rb
     - spec/finders/merge_requests/oldest_per_commit_finder_spec.rb
-    - spec/finders/projects/serverless/functions_finder_spec.rb
     - spec/finders/repositories/changelog_commits_finder_spec.rb
     - spec/finders/repositories/changelog_tag_finder_spec.rb
     - spec/graphql/features/authorization_spec.rb
diff --git a/app/assets/javascripts/pages/projects/serverless/index.js b/app/assets/javascripts/pages/projects/serverless/index.js
deleted file mode 100644
index 9ae81b327b177..0000000000000
--- a/app/assets/javascripts/pages/projects/serverless/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import ServerlessBundle from '~/serverless/serverless_bundle';
-
-new ServerlessBundle(); // eslint-disable-line no-new
diff --git a/app/assets/javascripts/serverless/components/area.vue b/app/assets/javascripts/serverless/components/area.vue
deleted file mode 100644
index 0b158ff3e95ed..0000000000000
--- a/app/assets/javascripts/serverless/components/area.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-<script>
-import { GlAreaChart } from '@gitlab/ui/dist/charts';
-import dateFormat from 'dateformat';
-import { debounceByAnimationFrame } from '~/lib/utils/common_utils';
-import { __ } from '~/locale';
-import { X_INTERVAL } from '../constants';
-import { validateGraphData } from '../utils';
-
-let debouncedResize;
-
-export default {
-  components: {
-    GlAreaChart,
-  },
-  inheritAttrs: false,
-  props: {
-    graphData: {
-      type: Object,
-      required: true,
-      validator: validateGraphData,
-    },
-    containerWidth: {
-      type: Number,
-      required: true,
-    },
-  },
-  data() {
-    return {
-      tooltipPopoverTitle: '',
-      tooltipPopoverContent: '',
-      width: this.containerWidth,
-    };
-  },
-  computed: {
-    chartData() {
-      return this.graphData.queries.reduce((accumulator, query) => {
-        accumulator[query.unit] = query.result.reduce((acc, res) => acc.concat(res.values), []);
-        return accumulator;
-      }, {});
-    },
-    extractTimeData() {
-      return this.chartData.requests.map((data) => data.time);
-    },
-    generateSeries() {
-      return {
-        name: __('Invocations'),
-        type: 'line',
-        data: this.chartData.requests.map((data) => [data.time, data.value]),
-        symbolSize: 0,
-      };
-    },
-    getInterval() {
-      const { result } = this.graphData.queries[0];
-
-      if (result.length === 0) {
-        return 1;
-      }
-
-      const split = result[0].values.reduce(
-        (acc, pair) => (pair.value > acc ? pair.value : acc),
-        1,
-      );
-
-      return split < X_INTERVAL ? split : X_INTERVAL;
-    },
-    chartOptions() {
-      return {
-        xAxis: {
-          name: 'time',
-          type: 'time',
-          axisLabel: {
-            formatter: (date) => dateFormat(date, 'h:MM TT'),
-          },
-          data: this.extractTimeData,
-          nameTextStyle: {
-            padding: [18, 0, 0, 0],
-          },
-        },
-        yAxis: {
-          name: this.yAxisLabel,
-          nameTextStyle: {
-            padding: [0, 0, 36, 0],
-          },
-          splitNumber: this.getInterval,
-        },
-        legend: {
-          formatter: this.xAxisLabel,
-        },
-        series: this.generateSeries,
-      };
-    },
-    xAxisLabel() {
-      return this.graphData.queries.map((query) => query.label).join(', ');
-    },
-    yAxisLabel() {
-      const [query] = this.graphData.queries;
-      return `${this.graphData.y_label} (${query.unit})`;
-    },
-  },
-  watch: {
-    containerWidth: 'onResize',
-  },
-  beforeDestroy() {
-    window.removeEventListener('resize', debouncedResize);
-  },
-  created() {
-    debouncedResize = debounceByAnimationFrame(this.onResize);
-    window.addEventListener('resize', debouncedResize);
-  },
-  methods: {
-    formatTooltipText(params) {
-      const [seriesData] = params.seriesData;
-      this.tooltipPopoverTitle = dateFormat(params.value, 'dd mmm yyyy, h:MMTT');
-      this.tooltipPopoverContent = `${this.yAxisLabel}: ${seriesData.value[1]}`;
-    },
-    onResize() {
-      const { width } = this.$refs.areaChart.$el.getBoundingClientRect();
-      this.width = width;
-    },
-  },
-};
-</script>
-
-<template>
-  <div class="prometheus-graph">
-    <div class="prometheus-graph-header">
-      <h5 ref="graphTitle" class="prometheus-graph-title">{{ graphData.title }}</h5>
-      <div ref="graphWidgets" class="prometheus-graph-widgets">
-        <slot></slot>
-      </div>
-    </div>
-    <gl-area-chart
-      ref="areaChart"
-      v-bind="$attrs"
-      :data="[] /* eslint-disable-line @gitlab/vue-no-new-non-primitive-in-template */"
-      :option="chartOptions"
-      :format-tooltip-text="formatTooltipText"
-      :width="width"
-      :include-legend-avg-max="false"
-    >
-      <template #tooltip-title>{{ tooltipPopoverTitle }}</template>
-      <template #tooltip-content>{{ tooltipPopoverContent }}</template>
-    </gl-area-chart>
-  </div>
-</template>
diff --git a/app/assets/javascripts/serverless/components/empty_state.vue b/app/assets/javascripts/serverless/components/empty_state.vue
deleted file mode 100644
index 6d1cea519c437..0000000000000
--- a/app/assets/javascripts/serverless/components/empty_state.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-<script>
-import { GlEmptyState, GlLink, GlSprintf } from '@gitlab/ui';
-import { mapState } from 'vuex';
-import { s__ } from '~/locale';
-import { DEPRECATION_POST_LINK } from '../constants';
-
-export default {
-  components: {
-    GlEmptyState,
-    GlLink,
-    GlSprintf,
-  },
-  i18n: {
-    title: s__('Serverless|Getting started with serverless'),
-    description: s__(
-      'Serverless|Serverless was %{postLinkStart}deprecated%{postLinkEnd}. But if you opt to use it, you must install Knative in your Kubernetes cluster first. %{linkStart}Learn more.%{linkEnd}',
-    ),
-  },
-  deprecationPostLink: DEPRECATION_POST_LINK,
-  computed: {
-    ...mapState(['emptyImagePath', 'helpPath']),
-  },
-};
-</script>
-
-<template>
-  <gl-empty-state :svg-path="emptyImagePath" :title="$options.i18n.title">
-    <template #description>
-      <gl-sprintf :message="$options.i18n.description">
-        <template #postLink="{ content }">
-          <gl-link :href="$options.deprecationPostLink" target="_blank">{{ content }}</gl-link>
-        </template>
-        <template #link="{ content }">
-          <gl-link :href="helpPath">{{ content }}</gl-link>
-        </template>
-      </gl-sprintf>
-    </template>
-  </gl-empty-state>
-</template>
diff --git a/app/assets/javascripts/serverless/components/environment_row.vue b/app/assets/javascripts/serverless/components/environment_row.vue
deleted file mode 100644
index 01030172ea829..0000000000000
--- a/app/assets/javascripts/serverless/components/environment_row.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<script>
-import ItemCaret from '~/groups/components/item_caret.vue';
-import FunctionRow from './function_row.vue';
-
-export default {
-  components: {
-    ItemCaret,
-    FunctionRow,
-  },
-  props: {
-    env: {
-      type: Array,
-      required: true,
-    },
-    envName: {
-      type: String,
-      required: true,
-    },
-  },
-  data() {
-    return {
-      isOpen: true,
-    };
-  },
-  computed: {
-    envId() {
-      if (this.envName === '*') {
-        return 'env-global';
-      }
-
-      return `env-${this.envName}`;
-    },
-    isOpenClass() {
-      return {
-        'is-open': this.isOpen,
-      };
-    },
-  },
-  methods: {
-    toggleOpen() {
-      this.isOpen = !this.isOpen;
-    },
-  },
-};
-</script>
-
-<template>
-  <li :id="envId" :class="isOpenClass" class="group-row has-children">
-    <div
-      class="group-row-contents d-flex justify-content-end align-items-center py-2"
-      role="button"
-      @click.stop="toggleOpen"
-    >
-      <div class="folder-toggle-wrap d-flex align-items-center">
-        <item-caret :is-group-open="isOpen" />
-      </div>
-      <div class="group-text flex-grow title namespace-title gl-ml-3">
-        {{ envName }}
-      </div>
-    </div>
-    <ul v-if="isOpen" class="content-list group-list-tree">
-      <function-row v-for="(f, index) in env" :key="f.name" :index="index" :func="f" />
-    </ul>
-  </li>
-</template>
diff --git a/app/assets/javascripts/serverless/components/function_details.vue b/app/assets/javascripts/serverless/components/function_details.vue
deleted file mode 100644
index d2306c2d8bda2..0000000000000
--- a/app/assets/javascripts/serverless/components/function_details.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-<script>
-import { isString } from 'lodash';
-import { mapState, mapActions, mapGetters } from 'vuex';
-import AreaChart from './area.vue';
-import MissingPrometheus from './missing_prometheus.vue';
-import PodBox from './pod_box.vue';
-import Url from './url.vue';
-
-export default {
-  components: {
-    PodBox,
-    Url,
-    AreaChart,
-    MissingPrometheus,
-  },
-  props: {
-    func: {
-      type: Object,
-      required: true,
-    },
-    hasPrometheus: {
-      type: Boolean,
-      required: false,
-      default: false,
-    },
-  },
-  data() {
-    return {
-      elWidth: 0,
-    };
-  },
-  computed: {
-    name() {
-      return this.func.name;
-    },
-    description() {
-      return isString(this.func.description) ? this.func.description : '';
-    },
-    funcUrl() {
-      return this.func.url;
-    },
-    podCount() {
-      return Number(this.func.podcount) || 0;
-    },
-    ...mapState(['graphData', 'hasPrometheusData']),
-    ...mapGetters(['hasPrometheusMissingData']),
-  },
-  created() {
-    this.fetchMetrics({
-      metricsPath: this.func.metricsUrl,
-      hasPrometheus: this.hasPrometheus,
-    });
-  },
-  mounted() {
-    this.elWidth = this.$el.clientWidth;
-  },
-  methods: {
-    ...mapActions(['fetchMetrics']),
-  },
-};
-</script>
-
-<template>
-  <section id="serverless-function-details">
-    <h3 class="serverless-function-name">{{ name }}</h3>
-    <div class="gl-mb-3 serverless-function-description">
-      <div v-for="(line, index) in description.split('\n')" :key="index">{{ line }}</div>
-    </div>
-    <url :uri="funcUrl" />
-
-    <h4>{{ s__('ServerlessDetails|Kubernetes Pods') }}</h4>
-    <div v-if="podCount > 0">
-      <p>
-        <b v-if="podCount == 1">{{ podCount }} {{ s__('ServerlessDetails|pod in use') }}</b>
-        <b v-else>{{ podCount }} {{ s__('ServerlessDetails|pods in use') }}</b>
-      </p>
-      <pod-box :count="podCount" />
-      <p>
-        {{
-          s__('ServerlessDetails|Number of Kubernetes pods in use over time based on necessity.')
-        }}
-      </p>
-    </div>
-    <div v-else>
-      <p>{{ s__('ServerlessDetails|No pods loaded at this time.') }}</p>
-    </div>
-
-    <area-chart v-if="hasPrometheusData" :graph-data="graphData" :container-width="elWidth" />
-    <missing-prometheus
-      v-if="!hasPrometheus || hasPrometheusMissingData"
-      :missing-data="hasPrometheusMissingData"
-    />
-  </section>
-</template>
diff --git a/app/assets/javascripts/serverless/components/function_row.vue b/app/assets/javascripts/serverless/components/function_row.vue
deleted file mode 100644
index fab9c0a75e732..0000000000000
--- a/app/assets/javascripts/serverless/components/function_row.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-<script>
-import { isString } from 'lodash';
-import { visitUrl } from '~/lib/utils/url_utility';
-import Timeago from '~/vue_shared/components/time_ago_tooltip.vue';
-import Url from './url.vue';
-
-export default {
-  components: {
-    Timeago,
-    Url,
-  },
-  props: {
-    func: {
-      type: Object,
-      required: true,
-    },
-  },
-  computed: {
-    name() {
-      return this.func.name;
-    },
-    description() {
-      if (!isString(this.func.description)) {
-        return '';
-      }
-
-      const desc = this.func.description.split('\n');
-      if (desc.length > 1) {
-        return desc[1];
-      }
-
-      return desc[0];
-    },
-    detailUrl() {
-      return this.func.detail_url;
-    },
-    targetUrl() {
-      return this.func.url;
-    },
-    image() {
-      return this.func.image;
-    },
-    timestamp() {
-      return this.func.created_at;
-    },
-  },
-  methods: {
-    checkClass(element) {
-      if (element.closest('.no-expand') === null) {
-        return true;
-      }
-
-      return false;
-    },
-    openDetails(e) {
-      if (this.checkClass(e.target)) {
-        visitUrl(this.detailUrl);
-      }
-    },
-  },
-};
-</script>
-
-<template>
-  <li :id="name" class="group-row">
-    <div class="group-row-contents py-2" role="button" @click="openDetails">
-      <p class="float-right text-right">
-        <span>{{ image }}</span
-        ><br />
-        <timeago :time="timestamp" />
-      </p>
-      <b>{{ name }}</b>
-      <div v-for="line in description.split('\n')" :key="line">{{ line }}</div>
-      <url :uri="targetUrl" class="gl-mt-3 no-expand" />
-    </div>
-  </li>
-</template>
diff --git a/app/assets/javascripts/serverless/components/functions.vue b/app/assets/javascripts/serverless/components/functions.vue
deleted file mode 100644
index e9461aa3eadff..0000000000000
--- a/app/assets/javascripts/serverless/components/functions.vue
+++ /dev/null
@@ -1,139 +0,0 @@
-<script>
-import {
-  GlLink,
-  GlAlert,
-  GlSprintf,
-  GlLoadingIcon,
-  GlSafeHtmlDirective as SafeHtml,
-} from '@gitlab/ui';
-import { mapState, mapActions, mapGetters } from 'vuex';
-import { sprintf, s__ } from '~/locale';
-import { CHECKING_INSTALLED, DEPRECATION_POST_LINK } from '../constants';
-import EmptyState from './empty_state.vue';
-import EnvironmentRow from './environment_row.vue';
-
-export default {
-  components: {
-    EnvironmentRow,
-    EmptyState,
-    GlLink,
-    GlAlert,
-    GlSprintf,
-    GlLoadingIcon,
-  },
-  directives: {
-    SafeHtml,
-  },
-  deprecationPostLink: DEPRECATION_POST_LINK,
-  computed: {
-    ...mapState(['installed', 'isLoading', 'hasFunctionData', 'helpPath', 'statusPath']),
-    ...mapGetters(['getFunctions']),
-
-    checkingInstalled() {
-      return this.installed === CHECKING_INSTALLED;
-    },
-    isInstalled() {
-      return this.installed === true;
-    },
-    noServerlessConfigFile() {
-      return sprintf(
-        s__(
-          'Serverless|Your repository does not have a corresponding %{startTag}serverless.yml%{endTag} file.',
-        ),
-        { startTag: '<code>', endTag: '</code>' },
-        false,
-      );
-    },
-    noGitlabYamlConfigured() {
-      return sprintf(
-        s__('Serverless|Your %{startTag}.gitlab-ci.yml%{endTag} file is not properly configured.'),
-        { startTag: '<code>', endTag: '</code>' },
-        false,
-      );
-    },
-    mismatchedServerlessFunctions() {
-      return sprintf(
-        s__(
-          "Serverless|The functions listed in the %{startTag}serverless.yml%{endTag} file don't match the namespace of your cluster.",
-        ),
-        { startTag: '<code>', endTag: '</code>' },
-        false,
-      );
-    },
-  },
-  created() {
-    this.fetchFunctions({
-      functionsPath: this.statusPath,
-    });
-  },
-  methods: {
-    ...mapActions(['fetchFunctions']),
-  },
-};
-</script>
-
-<template>
-  <section id="serverless-functions" class="flex-grow">
-    <gl-alert class="gl-mt-6" variant="warning" :dismissible="false">
-      <gl-sprintf
-        :message="s__('Serverless|Serverless was %{linkStart}deprecated%{linkEnd} in GitLab 14.3.')"
-        ><template #link="{ content }"
-          ><gl-link :href="$options.deprecationPostLink" target="_blank">{{
-            content
-          }}</gl-link></template
-        ></gl-sprintf
-      >
-    </gl-alert>
-
-    <gl-loading-icon v-if="checkingInstalled" size="lg" class="gl-mt-3 gl-mb-3" />
-
-    <div v-else-if="isInstalled">
-      <div v-if="hasFunctionData">
-        <div class="groups-list-tree-container js-functions-wrapper">
-          <ul class="content-list group-list-tree">
-            <environment-row
-              v-for="(env, index) in getFunctions"
-              :key="index"
-              :env="env"
-              :env-name="index"
-            />
-          </ul>
-        </div>
-        <gl-loading-icon v-if="isLoading" size="lg" class="gl-mt-3 gl-mb-3 js-functions-loader" />
-      </div>
-      <div v-else class="empty-state js-empty-state">
-        <div class="text-content">
-          <h4 class="state-title text-center">{{ s__('Serverless|No functions available') }}</h4>
-          <p class="state-description">
-            {{
-              s__(
-                'Serverless|There is currently no function data available from Knative. This could be for a variety of reasons including:',
-              )
-            }}
-          </p>
-          <ul>
-            <li v-safe-html="noServerlessConfigFile"></li>
-            <li v-safe-html="noGitlabYamlConfigured"></li>
-            <li v-safe-html="mismatchedServerlessFunctions"></li>
-            <li>{{ s__('Serverless|The deploy job has not finished.') }}</li>
-          </ul>
-
-          <p>
-            {{
-              s__(
-                'Serverless|If you believe none of these apply, please check back later as the function data may be in the process of becoming available.',
-              )
-            }}
-          </p>
-          <div class="text-center">
-            <gl-link :href="helpPath" class="btn btn-success">{{
-              s__('Serverless|Learn more about Serverless')
-            }}</gl-link>
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <empty-state v-else />
-  </section>
-</template>
diff --git a/app/assets/javascripts/serverless/components/missing_prometheus.vue b/app/assets/javascripts/serverless/components/missing_prometheus.vue
deleted file mode 100644
index d9e6bb5009e38..0000000000000
--- a/app/assets/javascripts/serverless/components/missing_prometheus.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-<script>
-import { GlButton, GlLink } from '@gitlab/ui';
-import { mapState } from 'vuex';
-import { s__ } from '~/locale';
-
-export default {
-  components: {
-    GlButton,
-    GlLink,
-  },
-  props: {
-    missingData: {
-      type: Boolean,
-      required: true,
-    },
-  },
-  computed: {
-    ...mapState(['clustersPath', 'helpPath']),
-    missingStateClass() {
-      return this.missingData ? 'missing-prometheus-state' : 'empty-prometheus-state';
-    },
-    prometheusHelpPath() {
-      return `${this.helpPath}#prometheus-support`;
-    },
-    description() {
-      return this.missingData
-        ? s__(`ServerlessDetails|Invocation metrics loading or not available at this time.`)
-        : s__(
-            `ServerlessDetails|Function invocation metrics require the Prometheus cluster integration.`,
-          );
-    },
-  },
-};
-</script>
-
-<template>
-  <div class="row" :class="missingStateClass">
-    <div class="col-12">
-      <div class="text-content">
-        <h4 class="state-title text-left">{{ s__(`ServerlessDetails|Invocations`) }}</h4>
-        <p class="state-description">
-          {{ description }}
-          <gl-link :href="prometheusHelpPath">{{
-            s__(`ServerlessDetails|More information`)
-          }}</gl-link
-          >.
-        </p>
-
-        <div v-if="!missingData" class="text-left">
-          <gl-button :href="clustersPath" variant="success" category="primary">
-            {{ s__('ServerlessDetails|Configure cluster.') }}
-          </gl-button>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
diff --git a/app/assets/javascripts/serverless/components/pod_box.vue b/app/assets/javascripts/serverless/components/pod_box.vue
deleted file mode 100644
index 04d3641bce3d8..0000000000000
--- a/app/assets/javascripts/serverless/components/pod_box.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-<script>
-export default {
-  props: {
-    count: {
-      type: Number,
-      required: true,
-    },
-    color: {
-      type: String,
-      required: false,
-      default: 'green',
-    },
-  },
-  methods: {
-    boxOffset(i) {
-      return 20 * (i - 1);
-    },
-  },
-};
-</script>
-
-<template>
-  <svg :width="boxOffset(count + 1)" :height="20">
-    <rect
-      v-for="i in count"
-      :key="i"
-      width="15"
-      height="15"
-      rx="5"
-      ry="5"
-      :fill="color"
-      :x="boxOffset(i)"
-      y="0"
-    />
-  </svg>
-</template>
diff --git a/app/assets/javascripts/serverless/components/url.vue b/app/assets/javascripts/serverless/components/url.vue
deleted file mode 100644
index b105f49e47532..0000000000000
--- a/app/assets/javascripts/serverless/components/url.vue
+++ /dev/null
@@ -1,28 +0,0 @@
-<script>
-import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
-
-export default {
-  components: {
-    ClipboardButton,
-  },
-  props: {
-    uri: {
-      type: String,
-      required: true,
-    },
-  },
-};
-</script>
-
-<template>
-  <div class="clipboard-group">
-    <div class="gl-cursor-text label label-monospace monospace" data-testid="url-text-field">
-      {{ uri }}
-    </div>
-    <clipboard-button
-      :text="uri"
-      :title="s__('ServerlessURL|Copy URL')"
-      class="input-group-text js-clipboard-btn"
-    />
-  </div>
-</template>
diff --git a/app/assets/javascripts/serverless/constants.js b/app/assets/javascripts/serverless/constants.js
deleted file mode 100644
index 42c9ee983b465..0000000000000
--- a/app/assets/javascripts/serverless/constants.js
+++ /dev/null
@@ -1,10 +0,0 @@
-export const MAX_REQUESTS = 3; // max number of times to retry
-
-export const X_INTERVAL = 5; // Reflects the number of verticle bars on the x-axis
-
-export const CHECKING_INSTALLED = 'checking'; // The backend is still determining whether or not Knative is installed
-
-export const TIMEOUT = 'timeout';
-
-export const DEPRECATION_POST_LINK =
-  'https://about.gitlab.com/releases/2021/09/22/gitlab-14-3-released/#gitlab-serverless';
diff --git a/app/assets/javascripts/serverless/event_hub.js b/app/assets/javascripts/serverless/event_hub.js
deleted file mode 100644
index e31806ad199a1..0000000000000
--- a/app/assets/javascripts/serverless/event_hub.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import createEventHub from '~/helpers/event_hub_factory';
-
-export default createEventHub();
diff --git a/app/assets/javascripts/serverless/serverless_bundle.js b/app/assets/javascripts/serverless/serverless_bundle.js
deleted file mode 100644
index e8d87a40fc782..0000000000000
--- a/app/assets/javascripts/serverless/serverless_bundle.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import Vue from 'vue';
-import FunctionDetails from './components/function_details.vue';
-import Functions from './components/functions.vue';
-import { createStore } from './store';
-
-export default class Serverless {
-  constructor() {
-    if (document.querySelector('.js-serverless-function-details-page') != null) {
-      const entryPointData = document.querySelector('.js-serverless-function-details-page').dataset;
-      const store = createStore(entryPointData);
-
-      const {
-        serviceName,
-        serviceDescription,
-        serviceEnvironment,
-        serviceUrl,
-        serviceNamespace,
-        servicePodcount,
-        serviceMetricsUrl,
-        prometheus,
-      } = entryPointData;
-      const el = document.querySelector('#js-serverless-function-details');
-
-      const service = {
-        name: serviceName,
-        description: serviceDescription,
-        environment: serviceEnvironment,
-        url: serviceUrl,
-        namespace: serviceNamespace,
-        podcount: servicePodcount,
-        metricsUrl: serviceMetricsUrl,
-      };
-
-      this.functionDetails = new Vue({
-        el,
-        store,
-        render(createElement) {
-          return createElement(FunctionDetails, {
-            props: {
-              func: service,
-              hasPrometheus: prometheus !== undefined,
-            },
-          });
-        },
-      });
-    } else {
-      const entryPointData = document.querySelector('.js-serverless-functions-page').dataset;
-      const store = createStore(entryPointData);
-
-      const el = document.querySelector('#js-serverless-functions');
-      this.functions = new Vue({
-        el,
-        store,
-        render(createElement) {
-          return createElement(Functions);
-        },
-      });
-    }
-  }
-
-  destroy() {
-    this.destroyed = true;
-
-    this.functions.$destroy();
-    this.functionDetails.$destroy();
-  }
-}
diff --git a/app/assets/javascripts/serverless/store/actions.js b/app/assets/javascripts/serverless/store/actions.js
deleted file mode 100644
index 166cd796680e9..0000000000000
--- a/app/assets/javascripts/serverless/store/actions.js
+++ /dev/null
@@ -1,131 +0,0 @@
-import createFlash from '~/flash';
-import axios from '~/lib/utils/axios_utils';
-import { backOff } from '~/lib/utils/common_utils';
-import statusCodes from '~/lib/utils/http_status';
-import { __ } from '~/locale';
-import { MAX_REQUESTS, CHECKING_INSTALLED, TIMEOUT } from '../constants';
-import * as types from './mutation_types';
-
-export const requestFunctionsLoading = ({ commit }) => commit(types.REQUEST_FUNCTIONS_LOADING);
-export const receiveFunctionsSuccess = ({ commit }, data) =>
-  commit(types.RECEIVE_FUNCTIONS_SUCCESS, data);
-export const receiveFunctionsPartial = ({ commit }, data) =>
-  commit(types.RECEIVE_FUNCTIONS_PARTIAL, data);
-export const receiveFunctionsTimeout = ({ commit }, data) =>
-  commit(types.RECEIVE_FUNCTIONS_TIMEOUT, data);
-export const receiveFunctionsNoDataSuccess = ({ commit }, data) =>
-  commit(types.RECEIVE_FUNCTIONS_NODATA_SUCCESS, data);
-export const receiveFunctionsError = ({ commit }, error) =>
-  commit(types.RECEIVE_FUNCTIONS_ERROR, error);
-
-export const receiveMetricsSuccess = ({ commit }, data) =>
-  commit(types.RECEIVE_METRICS_SUCCESS, data);
-export const receiveMetricsNoPrometheus = ({ commit }) =>
-  commit(types.RECEIVE_METRICS_NO_PROMETHEUS);
-export const receiveMetricsNoDataSuccess = ({ commit }, data) =>
-  commit(types.RECEIVE_METRICS_NODATA_SUCCESS, data);
-export const receiveMetricsError = ({ commit }, error) =>
-  commit(types.RECEIVE_METRICS_ERROR, error);
-
-export const fetchFunctions = ({ dispatch }, { functionsPath }) => {
-  let retryCount = 0;
-
-  const functionsPartiallyFetched = (data) => {
-    if (data.functions !== null && data.functions.length) {
-      dispatch('receiveFunctionsPartial', data);
-    }
-  };
-
-  dispatch('requestFunctionsLoading');
-
-  backOff((next, stop) => {
-    axios
-      .get(functionsPath)
-      .then((response) => {
-        if (response.data.knative_installed === CHECKING_INSTALLED) {
-          retryCount += 1;
-          if (retryCount < MAX_REQUESTS) {
-            functionsPartiallyFetched(response.data);
-            next();
-          } else {
-            stop(TIMEOUT);
-          }
-        } else {
-          stop(response.data);
-        }
-      })
-      .catch(stop);
-  })
-    .then((data) => {
-      if (data === TIMEOUT) {
-        dispatch('receiveFunctionsTimeout');
-        createFlash({
-          message: __('Loading functions timed out. Please reload the page to try again.'),
-        });
-      } else if (data.functions !== null && data.functions.length) {
-        dispatch('receiveFunctionsSuccess', data);
-      } else {
-        dispatch('receiveFunctionsNoDataSuccess', data);
-      }
-    })
-    .catch((error) => {
-      dispatch('receiveFunctionsError', error);
-      createFlash({
-        message: error,
-      });
-    });
-};
-
-export const fetchMetrics = ({ dispatch }, { metricsPath, hasPrometheus }) => {
-  let retryCount = 0;
-
-  if (!hasPrometheus) {
-    dispatch('receiveMetricsNoPrometheus');
-    return;
-  }
-
-  backOff((next, stop) => {
-    axios
-      .get(metricsPath)
-      .then((response) => {
-        if (response.status === statusCodes.NO_CONTENT) {
-          retryCount += 1;
-          if (retryCount < MAX_REQUESTS) {
-            next();
-          } else {
-            dispatch('receiveMetricsNoDataSuccess');
-            stop(null);
-          }
-        } else {
-          stop(response.data);
-        }
-      })
-      .catch(stop);
-  })
-    .then((data) => {
-      if (data === null) {
-        return;
-      }
-
-      const updatedMetric = data.metrics;
-      const queries = data.metrics.queries.map((query) => ({
-        ...query,
-        result: query.result.map((result) => ({
-          ...result,
-          values: result.values.map(([timestamp, value]) => ({
-            time: new Date(timestamp * 1000).toISOString(),
-            value: Number(value),
-          })),
-        })),
-      }));
-
-      updatedMetric.queries = queries;
-      dispatch('receiveMetricsSuccess', updatedMetric);
-    })
-    .catch((error) => {
-      dispatch('receiveMetricsError', error);
-      createFlash({
-        message: error,
-      });
-    });
-};
diff --git a/app/assets/javascripts/serverless/store/getters.js b/app/assets/javascripts/serverless/store/getters.js
deleted file mode 100644
index da975c56e5dcc..0000000000000
--- a/app/assets/javascripts/serverless/store/getters.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { translate } from '../utils';
-
-export const hasPrometheusMissingData = (state) => state.hasPrometheus && !state.hasPrometheusData;
-
-// Convert the function list into a k/v grouping based on the environment scope
-
-export const getFunctions = (state) => translate(state.functions);
diff --git a/app/assets/javascripts/serverless/store/index.js b/app/assets/javascripts/serverless/store/index.js
deleted file mode 100644
index 6f32d85201e8c..0000000000000
--- a/app/assets/javascripts/serverless/store/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import Vue from 'vue';
-import Vuex from 'vuex';
-import * as actions from './actions';
-import * as getters from './getters';
-import mutations from './mutations';
-import createState from './state';
-
-Vue.use(Vuex);
-
-export const createStore = (entryPointData = {}) =>
-  new Vuex.Store({
-    actions,
-    getters,
-    mutations,
-    state: createState(entryPointData),
-  });
-
-export default createStore;
diff --git a/app/assets/javascripts/serverless/store/mutation_types.js b/app/assets/javascripts/serverless/store/mutation_types.js
deleted file mode 100644
index b8fa9ea1a013f..0000000000000
--- a/app/assets/javascripts/serverless/store/mutation_types.js
+++ /dev/null
@@ -1,11 +0,0 @@
-export const REQUEST_FUNCTIONS_LOADING = 'REQUEST_FUNCTIONS_LOADING';
-export const RECEIVE_FUNCTIONS_SUCCESS = 'RECEIVE_FUNCTIONS_SUCCESS';
-export const RECEIVE_FUNCTIONS_PARTIAL = 'RECEIVE_FUNCTIONS_PARTIAL';
-export const RECEIVE_FUNCTIONS_TIMEOUT = 'RECEIVE_FUNCTIONS_TIMEOUT';
-export const RECEIVE_FUNCTIONS_NODATA_SUCCESS = 'RECEIVE_FUNCTIONS_NODATA_SUCCESS';
-export const RECEIVE_FUNCTIONS_ERROR = 'RECEIVE_FUNCTIONS_ERROR';
-
-export const RECEIVE_METRICS_NO_PROMETHEUS = 'RECEIVE_METRICS_NO_PROMETHEUS';
-export const RECEIVE_METRICS_SUCCESS = 'RECEIVE_METRICS_SUCCESS';
-export const RECEIVE_METRICS_NODATA_SUCCESS = 'RECEIVE_METRICS_NODATA_SUCCESS';
-export const RECEIVE_METRICS_ERROR = 'RECEIVE_METRICS_ERROR';
diff --git a/app/assets/javascripts/serverless/store/mutations.js b/app/assets/javascripts/serverless/store/mutations.js
deleted file mode 100644
index 2685a5b11ffc8..0000000000000
--- a/app/assets/javascripts/serverless/store/mutations.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import * as types from './mutation_types';
-
-export default {
-  [types.REQUEST_FUNCTIONS_LOADING](state) {
-    state.isLoading = true;
-  },
-  [types.RECEIVE_FUNCTIONS_SUCCESS](state, data) {
-    state.functions = data.functions;
-    state.installed = data.knative_installed;
-    state.isLoading = false;
-    state.hasFunctionData = true;
-  },
-  [types.RECEIVE_FUNCTIONS_PARTIAL](state, data) {
-    state.functions = data.functions;
-    state.installed = true;
-    state.isLoading = true;
-    state.hasFunctionData = true;
-  },
-  [types.RECEIVE_FUNCTIONS_TIMEOUT](state) {
-    state.isLoading = false;
-  },
-  [types.RECEIVE_FUNCTIONS_NODATA_SUCCESS](state, data) {
-    state.isLoading = false;
-    state.installed = data.knative_installed;
-    state.hasFunctionData = false;
-  },
-  [types.RECEIVE_FUNCTIONS_ERROR](state, error) {
-    state.error = error;
-    state.hasFunctionData = false;
-    state.isLoading = false;
-  },
-  [types.RECEIVE_METRICS_SUCCESS](state, data) {
-    state.isLoading = false;
-    state.hasPrometheusData = true;
-    state.graphData = data;
-  },
-  [types.RECEIVE_METRICS_NODATA_SUCCESS](state) {
-    state.isLoading = false;
-    state.hasPrometheusData = false;
-  },
-  [types.RECEIVE_METRICS_ERROR](state, error) {
-    state.hasPrometheusData = false;
-    state.error = error;
-  },
-  [types.RECEIVE_METRICS_NO_PROMETHEUS](state) {
-    state.hasPrometheusData = false;
-    state.hasPrometheus = false;
-  },
-};
diff --git a/app/assets/javascripts/serverless/store/state.js b/app/assets/javascripts/serverless/store/state.js
deleted file mode 100644
index 353bfcf3fedfe..0000000000000
--- a/app/assets/javascripts/serverless/store/state.js
+++ /dev/null
@@ -1,22 +0,0 @@
-export default (
-  initialState = { clustersPath: null, helpPath: null, emptyImagePath: null, statusPath: null },
-) => ({
-  clustersPath: initialState.clustersPath,
-  error: null,
-  helpPath: initialState.helpPath,
-  installed: 'checking',
-  isLoading: true,
-
-  // functions
-  functions: [],
-  hasFunctionData: true,
-  statusPath: initialState.statusPath,
-
-  // function_details
-  hasPrometheus: true,
-  hasPrometheusData: false,
-  graphData: {},
-
-  // empty_state
-  emptyImagePath: initialState.emptyImagePath,
-});
diff --git a/app/assets/javascripts/serverless/utils.js b/app/assets/javascripts/serverless/utils.js
deleted file mode 100644
index e218a9aa3fd45..0000000000000
--- a/app/assets/javascripts/serverless/utils.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Validate that the object coming in has valid query details and results
-export const validateGraphData = (data) =>
-  data.queries &&
-  Array.isArray(data.queries) &&
-  data.queries.filter((query) => {
-    if (Array.isArray(query.result)) {
-      return query.result.filter((res) => Array.isArray(res.values)).length === query.result.length;
-    }
-
-    return false;
-  }).length === data.queries.length;
-
-export const translate = (functions) =>
-  functions.reduce(
-    (acc, func) =>
-      Object.assign(acc, {
-        [func.environment_scope]: (acc[func.environment_scope] || []).concat([func]),
-      }),
-    {},
-  );
diff --git a/app/controllers/projects/serverless/functions_controller.rb b/app/controllers/projects/serverless/functions_controller.rb
deleted file mode 100644
index d61694cf40fe4..0000000000000
--- a/app/controllers/projects/serverless/functions_controller.rb
+++ /dev/null
@@ -1,80 +0,0 @@
-# frozen_string_literal: true
-
-module Projects
-  module Serverless
-    class FunctionsController < Projects::ApplicationController
-      before_action :ensure_feature_enabled!
-      before_action :authorize_read_cluster!
-
-      feature_category :not_owned # rubocop:todo Gitlab/AvoidFeatureCategoryNotOwned
-      urgency :low
-
-      def index
-        respond_to do |format|
-          format.json do
-            functions = finder.execute.select do |function|
-              can?(@current_user, :read_cluster, function.cluster)
-            end
-
-            serialized_functions = serialize_function(functions)
-
-            render json: {
-              knative_installed: finder.knative_installed,
-              functions: serialized_functions
-            }.to_json
-          end
-
-          format.html do
-            render
-          end
-        end
-      end
-
-      def show
-        function = finder.service(params[:environment_id], params[:id])
-        return not_found unless function && can?(@current_user, :read_cluster, function.cluster)
-
-        @service = serialize_function(function)
-        return not_found if @service.nil?
-
-        @prometheus = finder.has_prometheus?(params[:environment_id])
-
-        respond_to do |format|
-          format.json do
-            render json: @service
-          end
-
-          format.html
-        end
-      end
-
-      def metrics
-        respond_to do |format|
-          format.json do
-            metrics = finder.invocation_metrics(params[:environment_id], params[:id])
-
-            if metrics.nil?
-              head :no_content
-            else
-              render json: metrics
-            end
-          end
-        end
-      end
-
-      private
-
-      def finder
-        Projects::Serverless::FunctionsFinder.new(project)
-      end
-
-      def serialize_function(function)
-        Projects::Serverless::ServiceSerializer.new(current_user: @current_user, project: project).represent(function)
-      end
-
-      def ensure_feature_enabled!
-        render_404 unless Feature.enabled?(:deprecated_serverless, project, default_enabled: :yaml, type: :ops)
-      end
-    end
-  end
-end
diff --git a/app/finders/projects/serverless/functions_finder.rb b/app/finders/projects/serverless/functions_finder.rb
deleted file mode 100644
index f8ccea6b820dd..0000000000000
--- a/app/finders/projects/serverless/functions_finder.rb
+++ /dev/null
@@ -1,153 +0,0 @@
-# frozen_string_literal: true
-
-module Projects
-  module Serverless
-    class FunctionsFinder
-      include Gitlab::Utils::StrongMemoize
-      include ReactiveCaching
-
-      attr_reader :project
-
-      self.reactive_cache_key = ->(finder) { finder.cache_key }
-      self.reactive_cache_work_type = :external_dependency
-      self.reactive_cache_worker_finder = ->(_id, *args) { from_cache(*args) }
-
-      MAX_CLUSTERS = 10
-
-      def initialize(project)
-        @project = project
-      end
-
-      def execute
-        knative_services.flatten.compact
-      end
-
-      def knative_installed
-        return knative_installed_from_cluster?(*cache_key) if available_environments.empty?
-
-        states = services_finders.map do |finder|
-          finder.knative_detected.tap do |state|
-            return state if state == ::Clusters::KnativeServicesFinder::KNATIVE_STATES['checking'] # rubocop:disable Cop/AvoidReturnFromBlocks
-          end
-        end
-
-        states.any? { |state| state == ::Clusters::KnativeServicesFinder::KNATIVE_STATES['installed'] }
-      end
-
-      def service(environment_scope, name)
-        knative_service(environment_scope, name)&.first
-      end
-
-      def invocation_metrics(environment_scope, name)
-        environment = finders_for_scope(environment_scope).first&.environment
-
-        if environment.present? && environment.prometheus_adapter&.can_query?
-          func = ::Serverless::Function.new(project, name, environment.deployment_namespace)
-          environment.prometheus_adapter.query(:knative_invocation, func)
-        end
-      end
-
-      def has_prometheus?(environment_scope)
-        finders_for_scope(environment_scope).any? do |finder|
-          finder.cluster.integration_prometheus_available?
-        end
-      end
-
-      def self.from_cache(project_id)
-        project = Project.find(project_id)
-
-        new(project)
-      end
-
-      def cache_key(*args)
-        [project.id]
-      end
-
-      def calculate_reactive_cache(*)
-        # rubocop: disable CodeReuse/ActiveRecord
-        project.all_clusters.enabled.take(MAX_CLUSTERS).any? do |cluster|
-          cluster.kubeclient.knative_client.discover
-        rescue Kubeclient::ResourceNotFoundError
-          next
-        end
-      end
-
-      private
-
-      def knative_installed_from_cluster?(*cache_key)
-        cached_data = with_reactive_cache_memoized(*cache_key) { |data| data }
-
-        return ::Clusters::KnativeServicesFinder::KNATIVE_STATES['checking'] if cached_data.nil?
-
-        cached_data ? true : false
-      end
-
-      def with_reactive_cache_memoized(*cache_key)
-        strong_memoize(:reactive_cache) do
-          with_reactive_cache(*cache_key) { |data| data }
-        end
-      end
-
-      def knative_service(environment_scope, name)
-        finders_for_scope(environment_scope).map do |finder|
-          services = finder
-            .services
-            .select { |svc| svc["metadata"]["name"] == name }
-
-          attributes = add_metadata(finder, services).first
-          next unless attributes
-
-          Gitlab::Serverless::Service.new(attributes)
-        end
-      end
-
-      def knative_services
-        services_finders.map do |finder|
-          attributes = add_metadata(finder, finder.services)
-
-          attributes&.map do |attributes|
-            Gitlab::Serverless::Service.new(attributes)
-          end
-        end
-      end
-
-      def add_metadata(finder, services)
-        return if services.nil?
-
-        add_pod_count = services.one?
-
-        services.each do |s|
-          s["environment_scope"] = finder.cluster.environment_scope
-          s["environment"] = finder.environment
-          s["cluster"] = finder.cluster
-
-          if add_pod_count
-            s["podcount"] = finder
-              .service_pod_details(s["metadata"]["name"])
-              .length
-          end
-        end
-      end
-
-      def services_finders
-        strong_memoize(:services_finders) do
-          available_environments.map(&:knative_services_finder).compact
-        end
-      end
-
-      def available_environments
-        @project.environments.available.preload_cluster
-      end
-
-      def finders_for_scope(environment_scope)
-        services_finders.select do |finder|
-          environment_scope == finder.cluster.environment_scope
-        end
-      end
-
-      def id
-        nil
-      end
-    end
-  end
-end
diff --git a/app/views/projects/serverless/functions/index.html.haml b/app/views/projects/serverless/functions/index.html.haml
deleted file mode 100644
index 03a1b0ee7bbb5..0000000000000
--- a/app/views/projects/serverless/functions/index.html.haml
+++ /dev/null
@@ -1,17 +0,0 @@
-- @content_class = "limit-container-width" unless fluid_layout
-- breadcrumb_title _('Serverless')
-- page_title _('Serverless')
-- status_path = project_serverless_functions_path(@project, format: :json)
-- clusters_path = project_clusters_path(@project)
-
-.serverless-functions-page.js-serverless-functions-page{ data: { status_path: status_path,
-  installed: @installed,
-  clusters_path: clusters_path,
-  help_path: help_page_path('user/project/clusters/serverless/index'),
-  empty_image_path: image_path('illustrations/empty-state/empty-serverless-lg.svg') } }
-
-.js-serverless-functions-notice
-  .flash-container
-
-.top-area.adjust.d-flex.justify-content-center.gl-border-none
-  .serverless-functions-table#js-serverless-functions
diff --git a/app/views/projects/serverless/functions/show.html.haml b/app/views/projects/serverless/functions/show.html.haml
deleted file mode 100644
index dd81d957e51ff..0000000000000
--- a/app/views/projects/serverless/functions/show.html.haml
+++ /dev/null
@@ -1,19 +0,0 @@
-- @content_class = "limit-container-width" unless fluid_layout
-- clusters_path = project_clusters_path(@project)
-- help_path = help_page_path('user/project/clusters/serverless/index')
-
-- add_to_breadcrumbs('Serverless', project_serverless_functions_path(@project))
-
-- page_title @service[:name]
-
-.serverless-function-details-page.js-serverless-function-details-page{ data: { service: @service.as_json,
-  prometheus: @prometheus,
-  clusters_path: clusters_path,
-  help_path: help_path } }
-
-.serverless-function-details#js-serverless-function-details
-
-.js-serverless-function-notice
-  .flash-container
-
-.function-holder.js-function-holder.input-group
diff --git a/config/feature_flags/ops/deprecated_serverless.yml b/config/feature_flags/ops/deprecated_serverless.yml
deleted file mode 100644
index 0982778f139e1..0000000000000
--- a/config/feature_flags/ops/deprecated_serverless.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: deprecated_serverless
-introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81493'
-rollout_issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/353901'
-milestone: '14.9'
-type: ops
-group: 'group::configure'
-default_enabled: true
diff --git a/config/routes/project.rb b/config/routes/project.rb
index 0ef891aa4c948..6b2a9700686e9 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -303,15 +303,6 @@
 
         concerns :clusterable
 
-        namespace :serverless do
-          scope :functions do
-            get '/:environment_id/:id', to: 'functions#show'
-            get '/:environment_id/:id/metrics', to: 'functions#metrics', as: :metrics
-          end
-
-          resources :functions, only: [:index]
-        end
-
         resources :terraform, only: [:index]
 
         resources :google_cloud, only: [:index]
diff --git a/data/removals/15_0/15-0-serverless.yml b/data/removals/15_0/15-0-serverless.yml
new file mode 100644
index 0000000000000..9f6a94037d857
--- /dev/null
+++ b/data/removals/15_0/15-0-serverless.yml
@@ -0,0 +1,17 @@
+- name: "GitLab Serverless"
+  announcement_milestone: "14.3"
+  announcement_date: "2021-09-22"
+  removal_milestone: "15.0"
+  removal_date: "2022-05-22"
+  breaking_change: true
+  reporter: nagyv-gitlab
+  body: |  # Do not modify this line, instead modify the lines below.
+    All functionality related to GitLab Serverless was deprecated in GitLab 14.3 and is scheduled for removal in GitLab 15.0. Users who need a replacement for this functionality are encouraged to explore using the following technologies with GitLab CI/CD:
+
+    - [Serverless Framework](https://www.serverless.com)
+    - [AWS Serverless Application Model](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/deploying-using-gitlab.html)
+
+    For additional context, or to provide feedback regarding this change, please reference our [deprecation issue](https://gitlab.com/groups/gitlab-org/configure/-/epics/6).
+# The following items are not published on the docs page, but may be used in the future.
+  stage: "Configure"
+  issue_url: https://gitlab.com/groups/gitlab-org/configure/-/epics/6
diff --git a/doc/update/removals.md b/doc/update/removals.md
index 266b6e9fa7b3e..17bdf9f340d65 100644
--- a/doc/update/removals.md
+++ b/doc/update/removals.md
@@ -61,6 +61,21 @@ The Container Registry supports [authentication](https://gitlab.com/gitlab-org/c
 
 Since it isn't used in the context of GitLab (the product), `htpasswd` authentication will be deprecated in GitLab 14.9 and removed in GitLab 15.0.
 
+### GitLab Serverless
+
+WARNING:
+This feature was changed or removed in 15.0
+as a [breaking change](https://docs.gitlab.com/ee/development/contributing/#breaking-changes).
+Before updating GitLab, review the details carefully to determine if you need to make any
+changes to your code, settings, or workflow.
+
+All functionality related to GitLab Serverless was deprecated in GitLab 14.3 and is scheduled for removal in GitLab 15.0. Users who need a replacement for this functionality are encouraged to explore using the following technologies with GitLab CI/CD:
+
+- [Serverless Framework](https://www.serverless.com)
+- [AWS Serverless Application Model](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/deploying-using-gitlab.html)
+
+For additional context, or to provide feedback regarding this change, please reference our [deprecation issue](https://gitlab.com/groups/gitlab-org/configure/-/epics/6).
+
 ### GraphQL permissions change for Package settings
 
 WARNING:
diff --git a/doc/user/clusters/applications.md b/doc/user/clusters/applications.md
index 73ee156dac148..277ce38aa3c20 100644
--- a/doc/user/clusters/applications.md
+++ b/doc/user/clusters/applications.md
@@ -658,27 +658,12 @@ Here is an example configuration for Knative:
 domain: 'my.wildcard.A.record.dns'
 ```
 
-If you plan to use GitLab Serverless capabilities, be sure to set an `A record`
-wildcard domain on your custom configuration.
-
 Support for installing the Knative managed application is provided by the
 GitLab Configure group. If you run into unknown issues,
 [open a new issue](https://gitlab.com/gitlab-org/gitlab/-/issues/new), and ping at
 least 2 people from the
 [Configure group](https://about.gitlab.com/handbook/product/categories/#configure-group).
 
-#### Knative Metrics
-
-GitLab provides [Invocation Metrics](../project/clusters/serverless/index.md#invocation-metrics)
-for your functions. To collect these metrics, you must have:
-
-1. Knative and Prometheus managed applications installed on your cluster.
-1. Manually applied the custom metrics on your cluster by running the following command:
-
-   ```shell
-   kubectl apply -f https://gitlab.com/gitlab-org/cluster-integration/cluster-applications/-/raw/02c8231e30ef5b6725e6ba368bc63863ceb3c07d/src/default-data/knative/istio-metrics.yaml
-   ```
-
 #### Uninstall Knative
 
 To uninstall Knative, you must first manually remove any custom metrics you have added
diff --git a/doc/user/infrastructure/clusters/index.md b/doc/user/infrastructure/clusters/index.md
index 114b40960919b..238d7004a6ffd 100644
--- a/doc/user/infrastructure/clusters/index.md
+++ b/doc/user/infrastructure/clusters/index.md
@@ -53,7 +53,6 @@ the GitLab agent model on the [agent's blueprint documentation](../../../archite
 - [Cluster cost management](../../clusters/cost_management.md)
 - [Cluster environments](../../clusters/environments.md)
 - [Advanced traffic control with Canary Ingress](../../project/canary_deployments.md#advanced-traffic-control-with-canary-ingress-deprecated)
-- [Serverless](../../project/clusters/serverless/index.md)
 - [Deploy Boards](../../project/deploy_boards.md)
 - [Pod logs](../../project/clusters/kubernetes_pod_logs.md)
 - [Clusters health](manage/clusters_health.md)
diff --git a/doc/user/project/clusters/serverless/aws.md b/doc/user/project/clusters/serverless/aws.md
index cf571abbf8ad5..93bc41dc24c46 100644
--- a/doc/user/project/clusters/serverless/aws.md
+++ b/doc/user/project/clusters/serverless/aws.md
@@ -2,506 +2,10 @@
 stage: Configure
 group: Configure
 info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+remove_date: '2022-08-22'
+redirect_to: '../../../../update/removals.md#gitlab-serverless'
 ---
 
-# Deploying AWS Lambda function using GitLab CI/CD **(FREE)**
+# Deploying AWS Lambda function using GitLab CI/CD (removed) **(FREE)**
 
-GitLab allows users to easily deploy AWS Lambda functions and create rich serverless applications.
-
-GitLab supports deployment of AWS Lambda functions through GitLab CI/CD using the following Serverless frameworks:
-
-- [Serverless Framework with AWS](#serverless-framework)
-- [AWS' Serverless Application Model (SAM)](#aws-serverless-application-model)
-
-## Serverless Framework
-
-The [Serverless Framework can deploy to AWS](https://www.serverless.com/framework/docs/providers/aws/).
-
-We have prepared an example with a step-by-step guide to create a simple function and deploy it on AWS.
-
-Additionally, in the [How To section](#how-to), you can read about different use cases like:
-
-- Running a function locally.
-- Working with secrets.
-- Setting up CORS.
-
-Alternatively, you can quickly [create a new project with a template](../../working_with_projects.md#create-a-project). The [`Serverless Framework/JS` template](https://gitlab.com/gitlab-org/project-templates/serverless-framework/) already includes all parts described below.
-
-### Example
-
-This example shows you how to:
-
-1. Create a basic AWS Lambda Node.js function.
-1. Link the function to an API Gateway `GET` endpoint.
-
-#### Steps
-
-The example consists of the following steps:
-
-1. Creating a Lambda handler function.
-1. Creating a `serverless.yml` file.
-1. Crafting the `.gitlab-ci.yml` file.
-1. Setting up your AWS credentials with your GitLab account.
-1. Deploying your function.
-1. Testing the deployed function.
-
-Lets take it step by step.
-
-#### Creating a Lambda handler function
-
-Your Lambda function is the primary handler of requests. In this case, create a very simple Node.js `hello` function:
-
-```javascript
-'use strict';
-
-module.exports.hello = async event => {
-  return {
-    statusCode: 200,
-    body: JSON.stringify(
-      {
-        message: 'Your function executed successfully!'
-      },
-      null,
-      2
-    ),
-  };
-};
-```
-
-Place this code in the file `src/handler.js`.
-
-`src` is the standard location for serverless functions, but is customizable should you desire that.
-
-In our case, `module.exports.hello` defines the `hello` handler to reference later in the `serverless.yml`.
-
-You can learn more about the [AWS Lambda Node.js function handler](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html) and all its various options in its documentation.
-
-#### Creating a `serverless.yml` file
-
-In the root of your project, create a `serverless.yml` file containing configuration specifics for the Serverless Framework.
-
-Put the following code in the file:
-
-```yaml
-service: gitlab-example
-provider:
-  name: aws
-  runtime: nodejs14.x
-
-functions:
-  hello:
-    handler: src/handler.hello
-    events:
-      - http: GET hello
-```
-
-Our function contains a handler and a event.
-
-The handler definition provisions the Lambda function using the source code located `src/handler.hello`.
-
-The `events` declaration creates an AWS API Gateway `GET` endpoint to receive external requests and hand them over to the Lambda function via a service integration.
-
-You can read more about the [available properties and additional configuration possibilities](https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml/) of the Serverless Framework.
-
-#### Crafting the `.gitlab-ci.yml` file
-
-In a `.gitlab-ci.yml` file in the root of your project, place the following code:
-
-```yaml
-image: node:latest
-
-stages:
-  - deploy
-
-production:
-  stage: deploy
-  before_script:
-    - npm config set prefix /usr/local
-    - npm install -g serverless
-  script:
-    - serverless deploy --stage production --verbose
-  environment: production
-```
-
-This example code does the following:
-
-1. Uses the `node:latest` image for all GitLab CI/CD builds
-1. The `deploy` stage:
-   - Installs the Serverless Framework.
-   - Deploys the serverless function to your AWS account using the AWS credentials
-     defined above.
-
-#### Setting up your AWS credentials with your GitLab account
-
-In order to interact with your AWS account, the GitLab CI/CD pipelines require both `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to be defined in your GitLab settings under **Settings > CI/CD > Variables**.
-For more information please see [Create a custom variable in the UI](../../../../ci/variables/index.md#custom-variables-validated-by-gitlab).
-
- The AWS credentials you provide must include IAM policies that provision correct
- access control to AWS Lambda, API Gateway, CloudFormation, and IAM resources.
-
-#### Deploying your function
-
-`git push` the changes to your GitLab repository and the GitLab build pipeline deploys your function.
-
-Your GitLab deploy stage log contains output containing your AWS Lambda endpoint URL,
-with log lines similar to this:
-
-```plaintext
-endpoints:
-  GET - https://u768nzby1j.execute-api.us-east-1.amazonaws.com/production/hello
-```
-
-#### Manually testing your function
-
-Running the following `curl` command should trigger your function.
-Your URL should be the one retrieved from the GitLab deploy stage log:
-
-```shell
-curl "https://u768nzby1j.execute-api.us-east-1.amazonaws.com/production/hello"
-```
-
-That should output:
-
-```json
-{
-  "message": "Your function executed successfully!"
-}
-```
-
-Hooray! You now have a AWS Lambda function deployed via GitLab CI/CD.
-
-Nice work!
-
-### How To
-
-In this section, we show you how to build on the basic example to:
-
-- Run the function locally.
-- Set up secret variables.
-- Set up CORS.
-
-#### Running function locally
-
-The `serverless-offline` plugin allows to run your code locally. To run your code locally:
-
-1. Add the following to your `serverless.yml`:
-
-   ```yaml
-   plugins:
-     - serverless-offline
-   ```
-
-1. Start the service by running the following command:
-
-   ```shell
-   serverless offline
-   ```
-
-Running the following `curl` command should trigger your function.
-
-```shell
-curl "http://localhost:3000/hello"
-```
-
-It should output:
-
-```json
-{
-  "message": "Your function executed successfully!"
-}
-```
-
-#### Secret variables
-
-Secrets are injected into your functions using environment variables.
-
-By defining variables in the provider section of the `serverless.yml`, you add them to
-the environment of the deployed function:
-
-```yaml
-provider:
-  # Other configuration omitted
-  # ...
-  environment:
-    A_VARIABLE: ${env:A_VARIABLE}
-```
-
-From there, you can reference them in your functions as well.
-Remember to add `A_VARIABLE` to your GitLab CI/CD variables under **Settings > CI/CD > Variables** to be picked up and deployed with your function.
-
-NOTE:
-Anyone with access to the AWS environment may be able to see the values of those
-variables persisted in the lambda definition.
-
-#### Setting up CORS
-
-If you want to set up a web page that makes calls to your function, like we have done in the [template](https://gitlab.com/gitlab-org/project-templates/serverless-framework/), you need to deal with the Cross-Origin Resource Sharing (CORS).
-
-The quick way to do that is to add the `cors: true` flag to the HTTP endpoint in your `serverless.yml`:
-
-```yaml
-functions:
-  hello:
-    handler: src/handler.hello
-    events:
-      - http:  # Rewrite this part to enable CORS
-          path: hello
-          method: get
-          cors: true  # <-- CORS here
-```
-
-You also need to return CORS specific headers in your function response:
-
-```javascript
-'use strict';
-
-module.exports.hello = async event => {
-  return {
-    statusCode: 200,
-    headers: {
-      // Uncomment the line below if you need access to cookies or authentication
-      // 'Access-Control-Allow-Credentials': true,
-      'Access-Control-Allow-Origin': '*'
-    },
-    body: JSON.stringify(
-      {
-        message: 'Your function executed successfully!'
-      },
-      null,
-      2
-    ),
-  };
-};
-```
-
-For more information, see the [Your CORS and API Gateway survival guide](https://www.serverless.com/blog/cors-api-gateway-survival-guide/)
-blog post written by the Serverless Framework team.
-
-#### Writing automated tests
-
-The [Serverless Framework](https://gitlab.com/gitlab-org/project-templates/serverless-framework/)
-example project shows how to use Jest, Axios, and `serverless-offline` plugin to do
-automated testing of both local and deployed serverless function.
-
-### Examples and template
-
-The example code is available:
-
-- As a [clonable repository](https://gitlab.com/gitlab-org/serverless/examples/serverless-framework-js).
-- In a version with [tests and secret variables](https://gitlab.com/gitlab-org/project-templates/serverless-framework/).
-
-You can also use a [template](../../working_with_projects.md#create-a-project)
-(based on the version with tests and secret variables) from within the GitLab UI (see
-the `Serverless Framework/JS` template).
-
-## AWS Serverless Application Model
-
-AWS Serverless Application Model is an open source framework for building serverless
-applications. It makes it easier to build and deploy serverless applications. For more
-details, please take a look at AWS documentation on [AWS Serverless Application Model](https://docs.aws.amazon.com/serverless-application-model/).
-
-### Deploying AWS Lambda function using AWS SAM and GitLab CI/CD
-
-GitLab allows developers to build and deploy serverless applications using the combination of:
-
-- [AWS Serverless Application Model (AWS SAM)](https://aws.amazon.com/serverless/sam/).
-- GitLab CI/CD.
-
-### Example
-
-This example shows you how to:
-
-- Install SAM CLI.
-- Create a sample SAM application including a Lambda function and API Gateway.
-- Build and deploy the application to your AWS account using GitLab CI/CD.
-
-### Steps
-
-The example consists of the following steps:
-
-1. Installing SAM CLI.
-1. Creating an AWS SAM application using SAM CLI.
-1. Crafting the `.gitlab-ci.yml` file.
-1. Setting up your AWS credentials with your GitLab account.
-1. Deploying your application.
-1. Testing the deployed function.
-
-### Installing SAM CLI
-
-AWS SAM provides a CLI called AWS SAM CLI to make it easier to create and manage
-applications.
-
-Some steps in this documentation use SAM CLI. Follow the instructions for
-[installing SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
-to install and configure SAM CLI.
-
-If you use [AWS Cloud9](https://aws.amazon.com/cloud9/) as your integrated development
-environment (IDE), the following are installed for you:
-
-- [AWS Command Line Interface](https://docs.aws.amazon.com/en_pv/cli/latest/userguide/cli-chap-install.html)
-- [SAM CLI](https://docs.aws.amazon.com/en_pv/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
-- [Docker](https://docs.docker.com/install/) and necessary Docker images.
-
-### Creating an AWS SAM application using SAM CLI
-
-To create a new AWS SAM application:
-
-1. Create a new GitLab project.
-1. `git clone` the project into your local environment.
-1. Change to the newly cloned project and create a new SAM app using the following command:
-
-   ```shell
-   sam init -r python3.8 -n gitlabpoc --app-template "hello-world"
-   ```
-
-1. `git push` the application back to the GitLab project.
-
-This creates a SAM app named `gitlabpoc` using the default configuration, a single
-Python 3.8 function invoked by an [Amazon API Gateway](https://aws.amazon.com/api-gateway/)
-endpoint. To see additional runtimes supported by SAM and options for `sam init`, run:
-
-```shell
-sam init -h
-```
-
-### Setting up your AWS credentials with your GitLab account
-
-In order to interact with your AWS account, the GitLab CI/CD pipelines require both
-`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to be set in the project's CI/CD variables.
-
-To set these:
-
-1. Navigate to the project's **Settings > CI/CD**.
-1. Expand the **Variables** section and create entries for `AWS_ACCESS_KEY_ID` and
-   `AWS_SECRET_ACCESS_KEY`.
-1. Mask the credentials so they do not show in logs using the **Masked** toggle.
-
-The AWS credentials you provide must include IAM policies that provision correct access
-control to AWS Lambda, API Gateway, CloudFormation, and IAM resources.
-
-### Crafting the `.gitlab-ci.yml` file
-
-In a [`.gitlab-ci.yml`](../../../../ci/yaml/index.md) file in the root of your project,
-add the following and replace `<S3_bucket_name>` with the name of the S3 bucket where you
-want to store your package:
-
-```yaml
-image: python:latest
-
-stages:
-  - deploy
-
-production:
-  stage: deploy
-  before_script:
-    - apt-get update
-    - apt-get install -y python3-pip
-    - pip3 install awscli --upgrade
-    - pip3 install aws-sam-cli --upgrade
-  script:
-    - sam build
-    - sam package --output-template-file packaged.yaml --s3-bucket <S3_bucket_name>
-    - sam deploy --template-file packaged.yaml --stack-name gitlabpoc  --s3-bucket <S3_bucket_name> --capabilities CAPABILITY_IAM --region us-east-1
-  environment: production
-```
-
-Let's examine the configuration file more closely:
-
-- `image` specifies the Docker image to use for this build. This is the latest Python
-  image since the sample application is written in Python.
-- AWS CLI and AWS SAM CLI are installed in the `before_script` section.
-- SAM build, package, and deploy commands are used to build, package, and deploy the
-  application.
-
-### Deploying your application
-
-Push changes to your GitLab repository and the GitLab build pipeline
-deploys your application. If your:
-
-- Build and deploy are successful, [test your deployed application](#testing-the-deployed-application).
-- Build fails, look at the build log to see why the build failed. Some common reasons
-  the build might fail are:
-
-  - Incompatible versions of software. For example, Python runtime version might be
-    different from the Python on the build machine. Address this by installing the
-    required versions of the software.
-  - You may not be able to access your AWS account from GitLab. Check the CI/CD variables
-    you set up with AWS credentials.
-  - You may not have permission to deploy a serverless application. Make sure you
-    provide all required permissions to deploy a serverless application.
-
-### Testing the deployed application
-
-To test the application you deployed, please go to the build log and follow the following steps:
-
-1. Click on "Show complete raw" on the upper right-hand corner:
-
-   ![SAM complete raw](img/sam-complete-raw.png)
-
-1. Look for HelloWorldApi – API Gateway endpoint similar to shown below:
-
-   ![SAM API endpoint](img/sam-api-endpoint.png)
-
-1. Use curl to test the API. For example:
-
-   ```shell
-   curl "https://py4rg7qtlg.execute-api.us-east-1.amazonaws.com/Prod/hello/"
-   ```
-
-Output should be:
-
-```json
-{"message": "hello world"}
-```
-
-### Testing Locally
-
-AWS SAM provides functionality to test your applications locally. You must have AWS SAM
-CLI installed locally for you to test locally.
-
-First, test the function.
-
-SAM provides a default event in `events/event.json` that includes a message body of:
-
-```plaintext
-{\"message\": \"hello world\"}
-```
-
-If you pass that event into the `HelloWorldFunction`, it should respond with the same
-body.
-
-Invoke the function by running:
-
-```shell
-sam local invoke HelloWorldFunction -e events/event.json
-```
-
-Output should be:
-
-```json
-{"message": "hello world"}
-```
-
-After you confirm that Lambda function is working as expected, test the API Gateway
-using following steps.
-
-Start the API locally by running:
-
-```shell
-sam local start-api
-```
-
-SAM again launches a Docker container, this time with a mocked Amazon API Gateway
-listening on `localhost:3000`.
-
-Call the `hello` API by running:
-
-```shell
-curl "http://127.0.0.1:3000/hello"
-```
-
-Output again should be:
-
-```json
-{"message": "hello world"}
-```
+This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/6) in GitLab 14.3 and [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267) in GitLab 15.0.
diff --git a/doc/user/project/clusters/serverless/img/function-details-loaded_v14_0.png b/doc/user/project/clusters/serverless/img/function-details-loaded_v14_0.png
deleted file mode 100644
index a19d236fc395af9a6599ae185f10ee029bc506eb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21864
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
DJnUYA

diff --git a/doc/user/project/clusters/serverless/img/function-endpoint.png b/doc/user/project/clusters/serverless/img/function-endpoint.png
deleted file mode 100644
index a38fe2cb6c2020a6c1b1fe0e78bb27bb009f3b3a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14641
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

diff --git a/doc/user/project/clusters/serverless/img/function-execution.png b/doc/user/project/clusters/serverless/img/function-execution.png
deleted file mode 100644
index f60dd277081c57d5d3b0528d20266b313877dacb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 73788
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
M>FVdQ&MBb@02#-_wEzGB

diff --git a/doc/user/project/clusters/serverless/img/function-list_v12_7.png b/doc/user/project/clusters/serverless/img/function-list_v12_7.png
deleted file mode 100644
index f2a27ce7b0fff6d770bf2490cc4c6aa57e852b1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18551
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
U)zYda3=9kmp00i_>zopr08M>?*8l(j

diff --git a/doc/user/project/clusters/serverless/img/sam-api-endpoint.png b/doc/user/project/clusters/serverless/img/sam-api-endpoint.png
deleted file mode 100644
index 3407b2684fdb8daa14e043cacae96f9f7e1dc2c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 29991
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
U7w1l4?*)l_y85}Sb4q9e0Ojo=G5`Po

diff --git a/doc/user/project/clusters/serverless/img/sam-complete-raw.png b/doc/user/project/clusters/serverless/img/sam-complete-raw.png
deleted file mode 100644
index 1130cd29d5644f50c0b244ac684c1c5f52b5b8ad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 38847
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

diff --git a/doc/user/project/clusters/serverless/img/serverless-page_v14_0.png b/doc/user/project/clusters/serverless/img/serverless-page_v14_0.png
deleted file mode 100644
index f88eb4bdcd205825941616c5fc88a97194f9027d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18188
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
ac|W+zbdIl3t#}a#QswFD=d#Wzp$PzEbl^Jx

diff --git a/doc/user/project/clusters/serverless/index.md b/doc/user/project/clusters/serverless/index.md
index 29164da307b00..432caa8476f85 100644
--- a/doc/user/project/clusters/serverless/index.md
+++ b/doc/user/project/clusters/serverless/index.md
@@ -2,818 +2,10 @@
 stage: Configure
 group: Configure
 info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+remove_date: '2022-08-22'
+redirect_to: '../../../../update/removals.md#gitlab-serverless'
 ---
 
-# Serverless (DEPRECATED) **(FREE)**
+# Serverless (removed) **(FREE)**
 
-> - Introduced in GitLab 11.5.
-> - [Deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/6) in GitLab 14.3.
-
-WARNING:
-Serverless is currently in [alpha](../../../../policy/alpha-beta-support.md#alpha-features).
-
-## Overview
-
-Serverless architectures offer Operators and Developers the ability write highly scalable applications without provisioning a single server.
-
-GitLab supports several ways deploy Serverless applications in both Kubernetes Environments and also major cloud Function as a Service (FaaS) environments.
-
-Currently we support:
-
-- [Knative](#knative): Build Knative applications with Knative and `gitlabktl` on GKE and EKS.
-- [AWS Lambda](aws.md): Create serverless applications via the Serverless Framework and GitLab CI/CD.
-
-## Knative
-
-Run serverless workloads on Kubernetes using [Knative](https://cloud.google.com/knative/).
-
-Knative extends Kubernetes to provide a set of middleware components that are useful to build
-modern, source-centric, container-based applications. Knative brings some significant benefits out
-of the box through its main components:
-
-- [Serving](https://github.com/knative/serving): Request-driven compute that can scale to zero.
-- [Eventing](https://github.com/knative/eventing): Management and delivery of events.
-
-For more information on Knative, visit the [Knative docs repository](https://github.com/knative/docs).
-
-With GitLab Serverless, you can deploy both FaaS and serverless applications.
-
-## Prerequisites
-
-To run Knative on GitLab, you need:
-
-1. **Existing GitLab project:** You need a GitLab project to associate all resources. The simplest way to get started:
-   - If you are planning on [deploying functions](#deploying-functions),
-     clone the [functions example project](https://gitlab.com/knative-examples/functions) to get
-     started.
-   - If you are planning on [deploying a serverless application](#deploying-serverless-applications),
-     clone the sample [Knative Ruby App](https://gitlab.com/knative-examples/knative-ruby-app) to get
-     started.
-1. **Kubernetes Cluster:** An RBAC-enabled Kubernetes cluster is required to deploy Knative.
-   The simplest way to get started is to add a cluster using the GitLab [GKE integration](../add_remove_clusters.md).
-   The set of minimum recommended cluster specifications to run Knative is 3 nodes, 6 vCPUs, and 22.50 GB memory.
-1. **GitLab Runner:** A runner is required to run the CI jobs that deploy serverless
-   applications or functions onto your cluster. You can install GitLab Runner
-   onto the [existing Kubernetes cluster](https://docs.gitlab.com/runner/install/kubernetes.html).
-1. **Domain Name:** Knative provides its own load balancer using Istio, and an
-   external IP address or hostname for all the applications served by Knative. Enter a
-   wildcard domain to serve your applications. Configure your DNS server to use the
-   external IP address or hostname for that domain.
-1. **`.gitlab-ci.yml`:** GitLab uses [Kaniko](https://github.com/GoogleContainerTools/kaniko)
-   to build the application. We also use [GitLab Knative tool](https://gitlab.com/gitlab-org/gitlabktl)
-   CLI to simplify the deployment of services and functions to Knative.
-1. **`serverless.yml`** (for [functions only](#deploying-functions)): When using serverless to deploy functions, the `serverless.yml` file
-   contains the information for all the functions being hosted in the repository as well as a reference
-   to the runtime being used.
-1. **`Dockerfile`** (for [applications only](#deploying-serverless-applications)): Knative requires a
-   `Dockerfile` in order to build your applications. It should be included at the root of your
-   project's repository and expose port `8080`. `Dockerfile` is not require if you plan to build serverless functions
-   using our [runtimes](https://gitlab.com/gitlab-org/serverless/runtimes).
-1. **Prometheus** (optional): The [Prometheus cluster integration](../../../clusters/integrations.md#prometheus-cluster-integration)
-   allows you to monitor the scale and traffic of your serverless function/application.
-1. **Logging** (optional): Configuring logging allows you to view and search request logs for your serverless function/application.
-   See [Configuring logging](#configuring-logging) for more information.
-
-## Configuring Knative
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/58941) in GitLab 12.0.
-
-1. Follow the steps to
-   [add a Kubernetes
-   cluster](../add_remove_clusters.md).
-
-1. Ensure GitLab can manage Knative:
-   - For a non-GitLab managed cluster, ensure that the service account for the token
-     provided can manage resources in the `serving.knative.dev` API group.
-   - For a GitLab managed cluster, if you added the cluster in [GitLab 12.1 or later](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30235),
-     then GitLab already has the required access and you can proceed to the next step.
-
-     Otherwise, you need to manually grant the GitLab service account the ability to manage
-     resources in the `serving.knative.dev` API group. Since every GitLab service account
-     has the `edit` cluster role, the simplest way to do this is with an
-     [aggregated ClusterRole](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles)
-     adding rules to the default `edit` cluster role: First, save the following YAML as
-     `knative-serving-only-role.yaml`:
-
-     ```yaml
-     apiVersion: rbac.authorization.k8s.io/v1
-     kind: ClusterRole
-     metadata:
-       name: knative-serving-only-role
-       labels:
-         rbac.authorization.k8s.io/aggregate-to-edit: "true"
-     rules:
-       - apiGroups:
-           - serving.knative.dev
-         resources:
-           - configurations
-           - configurationgenerations
-           - routes
-           - revisions
-           - revisionuids
-           - autoscalers
-           - services
-         verbs:
-           - get
-           - list
-           - create
-           - update
-           - delete
-           - patch
-           - watch
-     ```
-
-     Then run the following command:
-
-     ```shell
-     kubectl apply -f knative-serving-only-role.yaml
-     ```
-
-     Alternatively, permissions can be granted on a per-service account basis
-     using `Role`s and `RoleBinding`s (see the [Kubernetes RBAC
-     documentation](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
-     for more information).
-
-1. Follow the steps to deploy [functions](#deploying-functions)
-   or [serverless applications](#deploying-serverless-applications) onto your
-   cluster.
-
-1. **Optional:** For invocation metrics to show in GitLab, additional Istio metrics need to be configured in your cluster. For example, with Knative v0.9.0, you can use [this manifest](https://gitlab.com/gitlab-org/charts/knative/-/raw/v0.10.0/vendor/istio-metrics.yml).
-
-## Supported runtimes
-
-Serverless functions for GitLab can be run using:
-
-- [GitLab-managed](#gitlab-managed-runtimes) runtimes.
-- [OpenFaaS](#openfaas-runtimes) runtimes.
-
-If a runtime is not available for the required programming language, consider deploying a
-[serverless application](#deploying-serverless-applications).
-
-### GitLab-managed runtimes
-
-The following GitLab-managed [runtimes](https://gitlab.com/gitlab-org/serverless/runtimes)
-are available:
-
-- `go` (proof of concept)
-- `nodejs`
-- `ruby`
-
-You must provide a `Dockerfile` to run serverless functions if no runtime is specified.
-
-### OpenFaaS runtimes
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/29253) in GitLab 12.5.
-
-[OpenFaaS classic runtimes](https://github.com/openfaas/templates#templates-in-store) can be used with GitLab serverless.
-
-OpenFaas runtimes are available for the following languages:
-
-- C#
-- Go
-- NodeJS
-- PHP
-- Python
-- Ruby
-
-Runtimes are specified using the pattern: `openfaas/classic/<template_name>`. The following
-example shows how to define a function in `serverless.yml` using an OpenFaaS runtime:
-
-```yaml
-hello:
-  source: ./hello
-  runtime: openfaas/classic/ruby
-  description: "Ruby function using OpenFaaS classic runtime"
-```
-
-`handler` is not needed for OpenFaaS functions. The location of the handler is defined
-by the conventions of the runtime.
-
-See the [`ruby-openfaas-function`](https://gitlab.com/knative-examples/ruby-openfaas-function)
-project for an example of a function using an OpenFaaS runtime.
-
-## Deploying functions
-
-> Introduced in GitLab 11.6.
-
-You can find and import all the files referenced in this doc in the
-**[functions example project](https://gitlab.com/knative-examples/functions)**.
-
-Follow these steps to deploy a function using the Node.js runtime to your
-Knative instance (you can skip these steps if you've cloned the example
-project):
-
-1. Create a directory to house the function. In this example we will
-   create a directory called `echo` at the root of the project.
-
-1. Create the file to contain the function code. In this example, our file is called `echo.js` and is located inside the `echo` directory. If your project is:
-   - Public, continue to the next step.
-   - Private, you must [create a GitLab deploy token](../../deploy_tokens/index.md#creating-a-deploy-token) with `gitlab-deploy-token` as the name and the `read_registry` scope.
-
-1. `.gitlab-ci.yml`: this defines a pipeline used to deploy your functions.
-   It must be included at the root of your repository:
-
-   ```yaml
-   include:
-     - template: Serverless.gitlab-ci.yml
-
-   functions:build:
-     extends: .serverless:build:functions
-     environment: production
-
-   functions:deploy:
-     extends: .serverless:deploy:functions
-     environment: production
-   ```
-
-   This `.gitlab-ci.yml` creates jobs that invoke some predefined commands to
-   build and deploy your functions to your cluster.
-
-   `Serverless.gitlab-ci.yml` is a template that allows customization.
-   You can either import it with `include` parameter and use `extends` to
-   customize your jobs, or you can inline the entire template by choosing it
-   from **Apply a template** dropdown when editing the `.gitlab-ci.yml` file through
-   the user interface.
-
-1. `serverless.yml`: this file contains the metadata for your functions,
-   such as name, runtime, and environment.
-
-   It must be included at the root of your repository.
-   The following is a sample `echo` function which shows the required structure
-   for the file.
-
-   You can find the relevant files for this project in the [functions example project](https://gitlab.com/knative-examples/functions).
-
-   ```yaml
-   service: functions
-   description: "GitLab Serverless functions using Knative"
-
-   provider:
-     name: triggermesh
-     envs:
-       FOO: value
-     secrets:
-       - my-secrets
-
-   functions:
-     echo-js:
-       handler: echo-js
-       source: ./echo-js
-       runtime: gitlab/runtimes/nodejs
-       description: "node.js runtime function"
-       envs:
-         MY_FUNCTION: echo-js
-       secrets:
-         - my-secrets
-   ```
-
-Explanation of the fields used above:
-
-### `service`
-
-| Parameter | Description |
-|-----------|-------------|
-| `service` | Name for the Knative service which serves the function. |
-| `description` | A short description of the `service`. |
-
-### `provider`
-
-| Parameter | Description |
-|-----------|-------------|
-| `name` | Indicates which provider is used to execute the `serverless.yml` file. In this case, the TriggerMesh middleware. |
-| `envs` | Includes the environment variables to be passed as part of function execution for **all** functions in the file, where `FOO` is the variable name and `BAR` are the variable contents. You may replace this with your own variables. |
-| `secrets` | Includes the contents of the Kubernetes secret as environment variables accessible to be passed as part of function execution for **all** functions in the file. The secrets are expected in `INI` format. |
-
-### `functions`
-
-In the `serverless.yml` example above, the function name is `echo` and the
-subsequent lines contain the function attributes.
-
-| Parameter | Description |
-|-----------|-------------|
-| `handler` | The function's name. |
-| `source` | Directory with sources of a functions. |
-| `runtime` (optional)| The runtime to be used to execute the function. This can be a runtime alias (see [Runtime aliases](#runtime-aliases)), or it can be a full URL to a custom runtime repository. When the runtime is not specified, we assume that `Dockerfile` is present in the function directory specified by `source`. |
-| `description` | A short description of the function. |
-| `envs` | Sets an environment variable for the specific function only. |
-| `secrets` | Includes the contents of the Kubernetes secret as environment variables accessible to be passed as part of function execution for the specific function only. The secrets are expected in `INI` format. |
-
-### Deployment
-
-#### Runtime aliases
-
-The optional `runtime` parameter can refer to one of the following runtime aliases (also see [Supported runtimes](#supported-runtimes)):
-
-| Runtime alias | Maintained by |
-|-------------|---------------|
-| `gitlab/runtimes/go` | GitLab |
-| `gitlab/runtimes/nodejs` | GitLab |
-| `gitlab/runtimes/ruby` | GitLab |
-| `openfaas/classic/csharp` | OpenFaaS |
-| `openfaas/classic/go` | OpenFaaS |
-| `openfaas/classic/node` | OpenFaaS |
-| `openfaas/classic/php7` | OpenFaaS |
-| `openfaas/classic/python` | OpenFaaS |
-| `openfaas/classic/python3` | OpenFaaS |
-| `openfaas/classic/ruby` | OpenFaaS |
-
-After the `.gitlab-ci.yml` template has been added and the `serverless.yml` file
-has been created, pushing a commit to your project results in a CI pipeline
-being executed which deploys each function as a Knative service. After the
-deploy stage has finished, additional details for the function display
-under **Infrastructure > Serverless platform**.
-
-![serverless page](img/serverless-page_v14_0.png)
-
-This page contains all functions available for the project, the description for
-accessing the function, and, if available, the function's runtime information.
-The details are derived from the Knative installation inside each of the project's
-Kubernetes cluster. Click on each function to obtain detailed scale and invocation data.
-
-The function details can be retrieved directly from Knative on the cluster:
-
-```shell
-kubectl -n "$KUBE_NAMESPACE" get services.serving.knative.dev
-```
-
-The sample function can now be triggered from any HTTP client using a simple `POST` call:
-
-  1. Using curl (replace the URL on the last line with the URL of your application):
-
-     ```shell
-     curl \
-     --header "Content-Type: application/json" \
-     --request POST \
-     --data '{"GitLab":"FaaS"}' \
-     "http://functions-echo.functions-1.functions.example.com/"
-     ```
-
-  1. Using a web-based tool (such as Postman or Restlet)
-
-     ![function execution](img/function-execution.png)
-
-### Secrets
-
-To access your Kubernetes secrets from within your function, the secrets should be created under the namespace of your serverless deployment and specified in your `serverless.yml` file as above.
-You can create secrets in several ways. The following sections show some examples.
-
-#### CLI example
-
-```shell
-kubectl create secret generic my-secrets -n "$KUBE_NAMESPACE" --from-literal MY_SECRET=imverysecure
-```
-
-#### Part of deployment job
-
-You can extend your `.gitlab-ci.yml` to create the secrets during deployment using the [CI/CD variables](../../../../ci/variables/index.md)
-stored securely under your GitLab project.
-
-```yaml
-deploy:function:
-  stage: deploy
-  environment: production
-  extends: .serverless:deploy:functions
-  before_script:
-    - kubectl create secret generic my-secret
-        --from-literal MY_SECRET="$GITLAB_SECRET_VARIABLE"
-        --namespace "$KUBE_NAMESPACE"
-        --dry-run -o yaml | kubectl apply -f -
-```
-
-### Running functions locally
-
-Running a function locally is a good way to quickly verify behavior during development.
-
-Running functions locally requires:
-
-- Go 1.12 or newer installed.
-- Docker Engine installed and running.
-- `gitlabktl` installed using the Go package manager:
-
-  ```shell
-  GO111MODULE=on go get gitlab.com/gitlab-org/gitlabktl
-  ```
-
-To run a function locally:
-
-1. Navigate to the root of your GitLab serverless project.
-1. Build your function into a Docker image:
-
-   ```shell
-   gitlabktl serverless build
-   ```
-
-1. Run your function in Docker:
-
-   ```shell
-   docker run -itp 8080:8080 <your_function_name>
-   ```
-
-1. Invoke your function:
-
-   ```shell
-   curl "http://localhost:8080"
-   ```
-
-## Deploying Serverless applications
-
-> Introduced in GitLab 11.5.
-
-Serverless applications are an alternative to [serverless functions](#deploying-functions).
-They're useful in scenarios where an existing runtime does not meet the needs of
-an application, such as one written in a language that has no runtime available.
-Note though that serverless applications should be stateless.
-
-You can reference and import the sample [Knative Ruby App](https://gitlab.com/knative-examples/knative-ruby-app)
-to get started. Add the following `.gitlab-ci.yml` to the root of your repository
-(you may skip this step if you've previously cloned the previously mentioned,
-sample [Knative Ruby App](https://gitlab.com/knative-examples/knative-ruby-app)):
-
-```yaml
-include:
-  - template: Serverless.gitlab-ci.yml
-
-build:
-  extends: .serverless:build:image
-
-deploy:
-  extends: .serverless:deploy:image
-```
-
-`Serverless.gitlab-ci.yml` is a template that allows customization.
-You can either import it with `include` parameter and use `extends` to
-customize your jobs, or you can inline the entire template by choosing it
-from **Apply a template** dropdown when editing the `.gitlab-ci.yml` file through
-the user interface.
-
-A `serverless.yml` file is not required when deploying serverless applications.
-
-### Deploy the application with Knative
-
-With all the pieces in place, the next time a CI pipeline runs the Knative application deploys. Navigate to
-**CI/CD > Pipelines** and click the most recent pipeline.
-
-### Function details
-
-Go to the **Infrastructure > Serverless platform** page to see the final URL of your functions.
-
-![function_details](img/function-list_v12_7.png)
-
-### Invocation metrics
-
-On the same page as above, click on one of the function
-rows to bring up the function details page.
-
-![function_details](img/function-details-loaded_v14_0.png)
-
-The pod count gives you the number of pods running the serverless function instances on a given cluster.
-
-For the Knative function invocations to appear, the
-[Prometheus cluster integration must be enabled](../../../clusters/integrations.md#prometheus-cluster-integration).
-
-Once Prometheus is enabled, a message may appear indicating that the metrics data _is
-loading or is not available at this time._  It appears upon the first access of the
-page, but should go away after a few seconds. If the message does not disappear, then it
-is possible that GitLab is unable to connect to the Prometheus instance running on the
-cluster.
-
-## Configuring logging
-
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33330) in GitLab 12.5.
-
-### Prerequisites
-
-- A GitLab-managed cluster.
-- `kubectl` installed and working.
-
-Running `kubectl` commands on your cluster requires setting up access to the
-cluster first. For clusters created on:
-
-- GKE, see [GKE Cluster Access](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl)
-- Other platforms, see [Install and Set Up kubectl](https://kubernetes.io/docs/tasks/tools/).
-
-### Enable request log template
-
-Run the following command to enable request logs:
-
-```shell
-kubectl edit cm -n knative-serving config-observability
-```
-
-Copy the `logging.request-log-template` from the `data._example` field to the data field one level up in the hierarchy.
-
-### Enable request logs
-
-Run the following commands to install Elasticsearch, Kibana, and Filebeat into a `kube-logging` namespace and configure all nodes to forward logs using Filebeat:
-
-```shell
-kubectl apply -f https://gitlab.com/gitlab-org/serverless/configurations/knative/raw/v0.7.0/kube-logging-filebeat.yaml
-kubectl label nodes --all beta.kubernetes.io/filebeat-ready="true"
-```
-
-### Viewing request logs
-
-To view request logs:
-
-1. Run `kubectl proxy`.
-1. Navigate to [Kibana UI](http://localhost:8001/api/v1/namespaces/kube-logging/services/kibana/proxy/app/kibana).
-
-Or:
-
-1. Open the [Kibana UI](http://localhost:8001/api/v1/namespaces/kube-logging/services/kibana/proxy/app/kibana).
-1. Click on **Discover**, then select `filebeat-*` from the dropdown on the left.
-1. Enter `kubernetes.container.name:"queue-proxy" AND message:/httpRequest/` into the search box.
-
-## Enabling TLS for Knative services
-
-By default, a GitLab serverless deployment is served over `http`. To serve
-over `https`, you must manually obtain and install TLS certificates.
-
-The simplest way to accomplish this is to use Certbot to
-[manually obtain Let's Encrypt certificates](https://knative.dev/docs/serving/using-a-tls-cert/#using-certbot-to-manually-obtain-let-s-encrypt-certificates).
-Certbot is a free, open source software tool for automatically using Let's Encrypt
-certificates on manually-administered websites to enable HTTPS.
-
-The following instructions relate to installing and running Certbot on a Linux
-server that has Python 3 installed, and may not work on other operating systems
-or with other versions of Python.
-
-1. Install Certbot by running the
-   [`certbot-auto` wrapper script](https://eff-certbot.readthedocs.io/install.html#certbot-auto).
-   On the command line of your server, run the following commands:
-
-   ```shell
-   wget https://dl.eff.org/certbot-auto
-   sudo mv certbot-auto /usr/local/bin/certbot-auto
-   sudo chown root /usr/local/bin/certbot-auto
-   sudo chmod 0755 /usr/local/bin/certbot-auto
-   /usr/local/bin/certbot-auto --help
-   ```
-
-   To check the integrity of the `certbot-auto` script, run:
-
-   ```shell
-   wget -N https://dl.eff.org/certbot-auto.asc
-   gpg2 --keyserver ipv4.pool.sks-keyservers.net --recv-key A2CFB51FA275A7286234E7B24D17C995CD9775F2
-   gpg2 --trusted-key 4D17C995CD9775F2 --verify certbot-auto.asc /usr/local/bin/certbot-auto
-   ```
-
-   The output of the last command should look something like:
-
-   ```shell
-   gpg: Signature made Mon 10 Jun 2019 06:24:40 PM EDT
-   gpg:                using RSA key A2CFB51FA275A7286234E7B24D17C995CD9775F2
-   gpg: key 4D17C995CD9775F2 marked as ultimately trusted
-   gpg: checking the trustdb
-   gpg: marginals needed: 3  completes needed: 1  trust model: pgp
-   gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
-   gpg: next trustdb check due at 2027-11-22
-   gpg: Good signature from "Let's Encrypt Client Team <letsencrypt-client@eff.org>" [ultimate]
-   ```
-
-1. Run the following command to use Certbot to request a certificate
-   using DNS challenge during authorization:
-
-   ```shell
-   /usr/local/bin/certbot-auto certonly --manual --preferred-challenges dns -d '*.<namespace>.example.com'
-   ```
-
-   Where `<namespace>` is the namespace created by GitLab for your serverless project (composed of `<project_name>-<project_id>-<environment>`) and
-   `example.com` is the domain being used for your project. If you are unsure what the namespace of your project is, navigate
-   to the **Infrastructure > Serverless platform** page of your project and inspect
-   the endpoint provided for your function/app.
-
-   ![function_endpoint](img/function-endpoint.png)
-
-   In the above image, the namespace for the project is `node-function-11909507` and the domain is `knative.info`, thus
-   certificate request line would look like this:
-
-   ```shell
-   ./certbot-auto certonly --manual --preferred-challenges dns -d '*.node-function-11909507.knative.info'
-   ```
-
-   The Certbot tool walks you through the steps of validating that you own each domain that you specify by creating TXT records in those domains.
-   After this process is complete, the output should look something like this:
-
-   ```shell
-   IMPORTANT NOTES:
-   - Congratulations! Your certificate and chain have been saved at:
-     /etc/letsencrypt/live/namespace.example.com/fullchain.pem
-     Your key file has been saved at:
-     /etc/letsencrypt/live/namespace.example/privkey.pem
-     Your cert will expire on 2019-09-19. To obtain a new or tweaked
-     version of this certificate in the future, simply run certbot-auto
-     again. To non-interactively renew *all* of your certificates, run
-     "certbot-auto renew"
-   -----BEGIN PRIVATE KEY-----
-   - Your account credentials have been saved in your Certbot
-     configuration directory at /etc/letsencrypt. You should make a
-     secure backup of this folder now. This configuration directory will
-     also contain certificates and private keys obtained by Certbot so
-     making regular backups of this folder is ideal.
-   ```
-
-1. Create certificate and private key files. Using the contents of the files
-   returned by Certbot, create two files in order to create the
-   Kubernetes secret:
-
-   Run the following command to see the contents of `fullchain.pem`:
-
-   ```shell
-   sudo cat /etc/letsencrypt/live/node-function-11909507.knative.info/fullchain.pem
-   ```
-
-   Output should look like this:
-
-   ```shell
-   -----BEGIN CERTIFICATE-----
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b4ag==
-   -----END CERTIFICATE-----
-   -----BEGIN CERTIFICATE-----
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   K2fcb195768c39e9a94cec2c2e30Qg==
-   -----END CERTIFICATE-----
-   ```
-
-   Create a file with the name `cert.pem` with the contents of the entire output.
-
-   Once `cert.pem` is created, run the following command to see the contents of `privkey.pem`:
-
-   ```shell
-   sudo cat /etc/letsencrypt/live/namespace.example/privkey.pem
-   ```
-
-   Output should look like this:
-
-   ```shell
-   -----BEGIN PRIVATE KEY-----
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df
-   -----BEGIN CERTIFICATE-----
-   fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6
-   4f294d1eaca42b8692017b4262==
-   -----END PRIVATE KEY-----
-   ```
-
-   Create a new file with the name `cert.pk` with the contents of the entire output.
-
-1. Create a Kubernetes secret to hold your TLS certificate, `cert.pem`, and
-   the private key `cert.pk`:
-
-   NOTE:
-   Running `kubectl` commands on your cluster requires setting up access to the cluster first.
-   For clusters created on GKE, see
-   [GKE Cluster Access](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl).
-   For other platforms, [install `kubectl`](https://kubernetes.io/docs/tasks/tools/).
-
-   ```shell
-   kubectl create --namespace istio-system secret tls istio-ingressgateway-certs \
-   --key cert.pk \
-   --cert cert.pem
-   ```
-
-   Where `cert.pem` and `cert.pk` are your certificate and private key files. Note that the `istio-ingressgateway-certs` secret name is required.
-
-1. Configure Knative to use the new secret that you created for HTTPS
-   connections. Run the
-   following command to open the Knative shared `gateway` in edit mode:
-
-   ```shell
-   kubectl edit gateway knative-ingress-gateway --namespace knative-serving
-   ```
-
-   Update the gateway to include the following `tls:` section and configuration:
-
-   ```shell
-   tls:
-     mode: SIMPLE
-     privateKey: /etc/istio/ingressgateway-certs/tls.key
-     serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
-   ```
-
-   Example:
-
-   ```shell
-   apiVersion: networking.istio.io/v1alpha3
-   kind: Gateway
-   metadata:
-     # ... skipped ...
-   spec:
-     selector:
-       istio: ingressgateway
-     servers:
-       - hosts:
-           - "*"
-         port:
-           name: http
-           number: 80
-           protocol: HTTP
-       - hosts:
-           - "*"
-         port:
-           name: https
-           number: 443
-           protocol: HTTPS
-         tls:
-           mode: SIMPLE
-           privateKey: /etc/istio/ingressgateway-certs/tls.key
-           serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
-   ```
-
-   After your changes are running on your Knative cluster, you can begin using the HTTPS protocol for secure access your deployed Knative services.
-   In the event a mistake is made during this process and you need to update the cert, you must edit the gateway `knative-ingress-gateway`
-   to switch back to `PASSTHROUGH` mode. Once corrections are made, edit the file again so the gateway uses the new certificates.
-
-## Using an older version of `gitlabktl`
-
-There may be situations where you want to run an older version of `gitlabktl`. This
-requires setting an older version of the `gitlabktl` image in the `.gitlab-ci.yml` file.
-
-To set an older version, add `image:` to the `functions:deploy` block. For example:
-
-```yaml
-functions:deploy:
-  extends: .serverless:deploy:functions
-  environment: production
-  image: registry.gitlab.com/gitlab-org/gitlabktl:0.5.0
-```
-
-Different versions are available by changing the version tag at the end of the registry URL in the
-format `registry.gitlab.com/gitlab-org/gitlabktl:<version>`.
-
-For a full inventory of available `gitlabktl` versions, see the `gitlabktl` project's
-[container registry](https://gitlab.com/gitlab-org/gitlabktl/container_registry).
+This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/6) in GitLab 14.3 and [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267) in GitLab 15.0.
diff --git a/lib/gitlab/ci/templates/Serverless.gitlab-ci.yml b/lib/gitlab/ci/templates/Serverless.gitlab-ci.yml
deleted file mode 100644
index 5564843719195..0000000000000
--- a/lib/gitlab/ci/templates/Serverless.gitlab-ci.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# To contribute improvements to CI/CD templates, please follow the Development guide at:
-# https://docs.gitlab.com/ee/development/cicd/templates.html
-# This specific template is located at:
-# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Serverless.gitlab-ci.yml
-
-# GitLab Serverless template
-
-image: alpine:latest
-
-stages:
-  - build
-  - test
-  - deploy
-
-.serverless:build:image:
-  image: registry.gitlab.com/gitlab-org/gitlabktl:latest
-  stage: build
-  script: /usr/bin/gitlabktl app build
-
-.serverless:deploy:image:
-  image: registry.gitlab.com/gitlab-org/gitlabktl:latest
-  stage: deploy
-  environment: development
-  script: /usr/bin/gitlabktl app deploy
-
-.serverless:build:functions:
-  image: registry.gitlab.com/gitlab-org/gitlabktl:latest
-  stage: build
-  script: /usr/bin/gitlabktl serverless build
-
-.serverless:deploy:functions:
-  image: registry.gitlab.com/gitlab-org/gitlabktl:latest
-  stage: deploy
-  environment: development
-  script: /usr/bin/gitlabktl serverless deploy
diff --git a/lib/sidebars/projects/menus/infrastructure_menu.rb b/lib/sidebars/projects/menus/infrastructure_menu.rb
index 7bd9ac91efa1d..a98cc20d51a10 100644
--- a/lib/sidebars/projects/menus/infrastructure_menu.rb
+++ b/lib/sidebars/projects/menus/infrastructure_menu.rb
@@ -9,7 +9,6 @@ def configure_menu_items
           return false unless context.project.feature_available?(:operations, context.current_user)
 
           add_item(kubernetes_menu_item)
-          add_item(serverless_menu_item)
           add_item(terraform_menu_item)
           add_item(google_cloud_menu_item)
 
@@ -63,19 +62,6 @@ def kubernetes_hint_html_options
               auto_devops_help_path: help_page_path('topics/autodevops/index.md') } }
         end
 
-        def serverless_menu_item
-          unless Feature.enabled?(:deprecated_serverless, context.project, default_enabled: :yaml, type: :ops) && can?(context.current_user, :read_cluster, context.project)
-            return ::Sidebars::NilMenuItem.new(item_id: :serverless)
-          end
-
-          ::Sidebars::MenuItem.new(
-            title: _('Serverless platform'),
-            link: project_serverless_functions_path(context.project),
-            active_routes: { controller: :functions },
-            item_id: :serverless
-          )
-        end
-
         def terraform_menu_item
           unless can?(context.current_user, :read_terraform_state, context.project)
             return ::Sidebars::NilMenuItem.new(item_id: :terraform)
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 8a2f5120111aa..923d72b9f20e2 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -21221,9 +21221,6 @@ msgstr ""
 msgid "Invited"
 msgstr ""
 
-msgid "Invocations"
-msgstr ""
-
 msgid "IrkerService|Channels and users separated by whitespaces. %{recipients_docs_link}"
 msgstr ""
 
@@ -23157,9 +23154,6 @@ msgstr ""
 msgid "Loading files, directories, and submodules in the path %{path} for commit reference %{ref}"
 msgstr ""
 
-msgid "Loading functions timed out. Please reload the page to try again."
-msgstr ""
-
 msgid "Loading more"
 msgstr ""
 
@@ -34746,78 +34740,6 @@ msgstr ""
 msgid "Server version"
 msgstr ""
 
-msgid "Serverless"
-msgstr ""
-
-msgid "Serverless platform"
-msgstr ""
-
-msgid "ServerlessDetails|Configure cluster."
-msgstr ""
-
-msgid "ServerlessDetails|Function invocation metrics require the Prometheus cluster integration."
-msgstr ""
-
-msgid "ServerlessDetails|Invocation metrics loading or not available at this time."
-msgstr ""
-
-msgid "ServerlessDetails|Invocations"
-msgstr ""
-
-msgid "ServerlessDetails|Kubernetes Pods"
-msgstr ""
-
-msgid "ServerlessDetails|More information"
-msgstr ""
-
-msgid "ServerlessDetails|No pods loaded at this time."
-msgstr ""
-
-msgid "ServerlessDetails|Number of Kubernetes pods in use over time based on necessity."
-msgstr ""
-
-msgid "ServerlessDetails|pod in use"
-msgstr ""
-
-msgid "ServerlessDetails|pods in use"
-msgstr ""
-
-msgid "ServerlessURL|Copy URL"
-msgstr ""
-
-msgid "Serverless|Getting started with serverless"
-msgstr ""
-
-msgid "Serverless|If you believe none of these apply, please check back later as the function data may be in the process of becoming available."
-msgstr ""
-
-msgid "Serverless|Learn more about Serverless"
-msgstr ""
-
-msgid "Serverless|No functions available"
-msgstr ""
-
-msgid "Serverless|Serverless was %{linkStart}deprecated%{linkEnd} in GitLab 14.3."
-msgstr ""
-
-msgid "Serverless|Serverless was %{postLinkStart}deprecated%{postLinkEnd}. But if you opt to use it, you must install Knative in your Kubernetes cluster first. %{linkStart}Learn more.%{linkEnd}"
-msgstr ""
-
-msgid "Serverless|The deploy job has not finished."
-msgstr ""
-
-msgid "Serverless|The functions listed in the %{startTag}serverless.yml%{endTag} file don't match the namespace of your cluster."
-msgstr ""
-
-msgid "Serverless|There is currently no function data available from Knative. This could be for a variety of reasons including:"
-msgstr ""
-
-msgid "Serverless|Your %{startTag}.gitlab-ci.yml%{endTag} file is not properly configured."
-msgstr ""
-
-msgid "Serverless|Your repository does not have a corresponding %{startTag}serverless.yml%{endTag} file."
-msgstr ""
-
 msgid "Service"
 msgstr ""
 
diff --git a/spec/controllers/projects/serverless/functions_controller_spec.rb b/spec/controllers/projects/serverless/functions_controller_spec.rb
deleted file mode 100644
index f8cee09006cf2..0000000000000
--- a/spec/controllers/projects/serverless/functions_controller_spec.rb
+++ /dev/null
@@ -1,341 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Projects::Serverless::FunctionsController do
-  include KubernetesHelpers
-  include ReactiveCachingHelpers
-
-  let(:user) { create(:user) }
-  let(:project) { create(:project, :repository) }
-  let(:cluster) { create(:cluster, :project, :provided_by_gcp, projects: [project]) }
-  let(:service) { cluster.platform_kubernetes }
-  let(:environment) { create(:environment, project: project) }
-  let!(:deployment) { create(:deployment, :success, environment: environment, cluster: cluster) }
-  let(:knative_services_finder) { environment.knative_services_finder }
-  let(:function_description) { 'A serverless function' }
-  let(:function_name) { 'some-function-name' }
-  let(:knative_stub_options) do
-    { namespace: namespace.namespace, name: function_name, description: function_description }
-  end
-
-  let(:knative) { create(:clusters_applications_knative, :installed, cluster: cluster) }
-
-  let(:namespace) do
-    create(:cluster_kubernetes_namespace,
-      cluster: cluster,
-      cluster_project: cluster.cluster_project,
-      project: cluster.cluster_project.project,
-      environment: environment)
-  end
-
-  before do
-    project.add_maintainer(user)
-    sign_in(user)
-  end
-
-  def params(opts = {})
-    opts.reverse_merge(namespace_id: project.namespace.to_param,
-                       project_id: project.to_param)
-  end
-
-  shared_examples_for 'behind :deprecated_serverless feature flag' do
-    before do
-      stub_feature_flags(deprecated_serverless: false)
-    end
-
-    it 'returns 404' do
-      action
-      expect(response).to have_gitlab_http_status(:not_found)
-    end
-  end
-
-  describe 'GET #index' do
-    let(:expected_json) { { 'knative_installed' => knative_state, 'functions' => functions } }
-
-    it_behaves_like 'behind :deprecated_serverless feature flag' do
-      let(:action) { get :index, params: params({ format: :json }) }
-    end
-
-    context 'when cache is being read' do
-      let(:knative_state) { 'checking' }
-      let(:functions) { [] }
-
-      before do
-        get :index, params: params({ format: :json })
-      end
-
-      it 'returns checking' do
-        expect(json_response).to eq expected_json
-      end
-
-      it { expect(response).to have_gitlab_http_status(:ok) }
-    end
-
-    context 'when cache is ready' do
-      let(:knative_state) { true }
-
-      before do
-        allow(Clusters::KnativeServicesFinder)
-          .to receive(:new)
-          .and_return(knative_services_finder)
-        synchronous_reactive_cache(knative_services_finder)
-        stub_kubeclient_service_pods(
-          kube_response({ "kind" => "PodList", "items" => [] }),
-          namespace: namespace.namespace
-        )
-      end
-
-      context 'when no functions were found' do
-        let(:functions) { [] }
-
-        before do
-          stub_kubeclient_knative_services(
-            namespace: namespace.namespace,
-            response: kube_response({ "kind" => "ServiceList", "items" => [] })
-          )
-          get :index, params: params({ format: :json })
-        end
-
-        it 'returns checking' do
-          expect(json_response).to eq expected_json
-        end
-
-        it { expect(response).to have_gitlab_http_status(:ok) }
-      end
-
-      context 'when functions were found' do
-        let(:functions) { [{}, {}] }
-
-        before do
-          stub_kubeclient_knative_services(namespace: namespace.namespace, cluster_id: cluster.id, name: function_name)
-        end
-
-        it 'returns functions' do
-          get :index, params: params({ format: :json })
-          expect(json_response["functions"]).not_to be_empty
-        end
-
-        it 'filters out the functions whose cluster the user does not have permission to read' do
-          allow(controller).to receive(:can?).and_return(true)
-          expect(controller).to receive(:can?).with(user, :read_cluster, cluster).and_return(false)
-
-          get :index, params: params({ format: :json })
-
-          expect(json_response["functions"]).to be_empty
-        end
-
-        it 'returns a successful response status' do
-          get :index, params: params({ format: :json })
-          expect(response).to have_gitlab_http_status(:ok)
-        end
-
-        context 'when there is serverless domain for a cluster' do
-          let!(:serverless_domain_cluster) do
-            create(:serverless_domain_cluster, clusters_applications_knative_id: knative.id)
-          end
-
-          it 'returns JSON with function details with serverless domain URL' do
-            get :index, params: params({ format: :json })
-            expect(response).to have_gitlab_http_status(:ok)
-
-            expect(json_response["functions"]).not_to be_empty
-
-            expect(json_response["functions"]).to all(
-              include(
-                'url' => "https://#{function_name}-#{serverless_domain_cluster.uuid[0..1]}a1#{serverless_domain_cluster.uuid[2..-3]}f2#{serverless_domain_cluster.uuid[-2..]}#{"%x" % environment.id}-#{environment.slug}.#{serverless_domain_cluster.domain}"
-              )
-            )
-          end
-        end
-
-        context 'when there is no serverless domain for a cluster' do
-          it 'keeps function URL as it was' do
-            expect(::Serverless::Domain).not_to receive(:new)
-
-            get :index, params: params({ format: :json })
-            expect(response).to have_gitlab_http_status(:ok)
-          end
-        end
-      end
-    end
-  end
-
-  describe 'GET #show' do
-    it_behaves_like 'behind :deprecated_serverless feature flag' do
-      let(:action) { get :show, params: params({ format: :json, environment_id: "*", id: "foo" }) }
-    end
-
-    context 'with function that does not exist' do
-      it 'returns 404' do
-        get :show, params: params({ format: :json, environment_id: "*", id: "foo" })
-        expect(response).to have_gitlab_http_status(:not_found)
-      end
-    end
-
-    context 'with valid data', :use_clean_rails_memory_store_caching do
-      shared_examples 'GET #show with valid data' do
-        context 'when there is serverless domain for a cluster' do
-          let!(:serverless_domain_cluster) do
-            create(:serverless_domain_cluster, clusters_applications_knative_id: knative.id)
-          end
-
-          it 'returns JSON with function details with serverless domain URL' do
-            get :show, params: params({ format: :json, environment_id: "*", id: function_name })
-            expect(response).to have_gitlab_http_status(:ok)
-
-            expect(json_response).to include(
-              'url' => "https://#{function_name}-#{serverless_domain_cluster.uuid[0..1]}a1#{serverless_domain_cluster.uuid[2..-3]}f2#{serverless_domain_cluster.uuid[-2..]}#{"%x" % environment.id}-#{environment.slug}.#{serverless_domain_cluster.domain}"
-            )
-          end
-
-          it 'returns 404 when user does not have permission to read the cluster' do
-            allow(controller).to receive(:can?).and_return(true)
-            expect(controller).to receive(:can?).with(user, :read_cluster, cluster).and_return(false)
-
-            get :show, params: params({ format: :json, environment_id: "*", id: function_name })
-
-            expect(response).to have_gitlab_http_status(:not_found)
-          end
-        end
-
-        context 'when there is no serverless domain for a cluster' do
-          it 'keeps function URL as it was' do
-            get :show, params: params({ format: :json, environment_id: "*", id: function_name })
-            expect(response).to have_gitlab_http_status(:ok)
-
-            expect(json_response).to include(
-              'url' => "http://#{function_name}.#{namespace.namespace}.example.com"
-            )
-          end
-        end
-
-        it 'return json with function details' do
-          get :show, params: params({ format: :json, environment_id: "*", id: function_name })
-          expect(response).to have_gitlab_http_status(:ok)
-
-          expect(json_response).to include(
-            'name' => function_name,
-            'url' => "http://#{function_name}.#{namespace.namespace}.example.com",
-            'description' => function_description,
-            'podcount' => 0
-          )
-        end
-      end
-
-      context 'on Knative 0.5.0' do
-        before do
-          prepare_knative_stubs(knative_05_service(**knative_stub_options))
-        end
-
-        include_examples 'GET #show with valid data'
-      end
-
-      context 'on Knative 0.6.0' do
-        before do
-          prepare_knative_stubs(knative_06_service(**knative_stub_options))
-        end
-
-        include_examples 'GET #show with valid data'
-      end
-
-      context 'on Knative 0.7.0' do
-        before do
-          prepare_knative_stubs(knative_07_service(**knative_stub_options))
-        end
-
-        include_examples 'GET #show with valid data'
-      end
-
-      context 'on Knative 0.9.0' do
-        before do
-          prepare_knative_stubs(knative_09_service(**knative_stub_options))
-        end
-
-        include_examples 'GET #show with valid data'
-      end
-    end
-  end
-
-  describe 'GET #metrics' do
-    it_behaves_like 'behind :deprecated_serverless feature flag' do
-      let(:action) { get :metrics, params: params({ format: :json, environment_id: "*", id: "foo" }) }
-    end
-
-    context 'invalid data' do
-      it 'has a bad function name' do
-        get :metrics, params: params({ format: :json, environment_id: "*", id: "foo" })
-        expect(response).to have_gitlab_http_status(:no_content)
-      end
-    end
-  end
-
-  describe 'GET #index with data', :use_clean_rails_memory_store_caching do
-    shared_examples 'GET #index with data' do
-      it 'has data' do
-        get :index, params: params({ format: :json })
-
-        expect(response).to have_gitlab_http_status(:ok)
-
-        expect(json_response).to match({
-                                         'knative_installed' => 'checking',
-                                         'functions' => [
-                                           a_hash_including(
-                                             'name' => function_name,
-                                             'url' => "http://#{function_name}.#{namespace.namespace}.example.com",
-                                             'description' => function_description
-                                           )
-                                         ]
-                                       })
-      end
-
-      it 'has data in html' do
-        get :index, params: params
-
-        expect(response).to have_gitlab_http_status(:ok)
-      end
-    end
-
-    context 'on Knative 0.5.0' do
-      before do
-        prepare_knative_stubs(knative_05_service(**knative_stub_options))
-      end
-
-      include_examples 'GET #index with data'
-    end
-
-    context 'on Knative 0.6.0' do
-      before do
-        prepare_knative_stubs(knative_06_service(**knative_stub_options))
-      end
-
-      include_examples 'GET #index with data'
-    end
-
-    context 'on Knative 0.7.0' do
-      before do
-        prepare_knative_stubs(knative_07_service(**knative_stub_options))
-      end
-
-      include_examples 'GET #index with data'
-    end
-
-    context 'on Knative 0.9.0' do
-      before do
-        prepare_knative_stubs(knative_09_service(**knative_stub_options))
-      end
-
-      include_examples 'GET #index with data'
-    end
-  end
-
-  def prepare_knative_stubs(knative_service)
-    stub_kubeclient_service_pods
-    stub_reactive_cache(knative_services_finder,
-                        {
-                          services: [knative_service],
-                          pods: kube_knative_pods_body(cluster.project.name, namespace.namespace)["items"]
-                        },
-                        *knative_services_finder.cache_args)
-  end
-end
diff --git a/spec/features/monitor_sidebar_link_spec.rb b/spec/features/monitor_sidebar_link_spec.rb
index fcef0fa0eff39..3c59cd65cdbb7 100644
--- a/spec/features/monitor_sidebar_link_spec.rb
+++ b/spec/features/monitor_sidebar_link_spec.rb
@@ -45,7 +45,6 @@
       expect(page).not_to have_link('Alerts', href: project_alert_management_index_path(project))
       expect(page).not_to have_link('Error Tracking', href: project_error_tracking_index_path(project))
       expect(page).not_to have_link('Product Analytics', href: project_product_analytics_path(project))
-      expect(page).not_to have_link('Serverless', href: project_serverless_functions_path(project))
       expect(page).not_to have_link('Logs', href: project_logs_path(project))
       expect(page).not_to have_link('Kubernetes', href: project_clusters_path(project))
     end
@@ -79,7 +78,6 @@
       expect(page).not_to have_link('Alerts', href: project_alert_management_index_path(project))
       expect(page).not_to have_link('Error Tracking', href: project_error_tracking_index_path(project))
       expect(page).not_to have_link('Product Analytics', href: project_product_analytics_path(project))
-      expect(page).not_to have_link('Serverless', href: project_serverless_functions_path(project))
       expect(page).not_to have_link('Logs', href: project_logs_path(project))
       expect(page).not_to have_link('Kubernetes', href: project_clusters_path(project))
     end
@@ -98,7 +96,6 @@
       expect(page).to have_link('Product Analytics', href: project_product_analytics_path(project))
 
       expect(page).not_to have_link('Alerts', href: project_alert_management_index_path(project))
-      expect(page).not_to have_link('Serverless', href: project_serverless_functions_path(project))
       expect(page).not_to have_link('Logs', href: project_logs_path(project))
       expect(page).not_to have_link('Kubernetes', href: project_clusters_path(project))
     end
@@ -117,7 +114,6 @@
       expect(page).to have_link('Error Tracking', href: project_error_tracking_index_path(project))
       expect(page).to have_link('Product Analytics', href: project_product_analytics_path(project))
       expect(page).to have_link('Logs', href: project_logs_path(project))
-      expect(page).to have_link('Serverless', href: project_serverless_functions_path(project))
       expect(page).to have_link('Kubernetes', href: project_clusters_path(project))
     end
 
@@ -134,7 +130,6 @@
       expect(page).to have_link('Environments', href: project_environments_path(project))
       expect(page).to have_link('Error Tracking', href: project_error_tracking_index_path(project))
       expect(page).to have_link('Product Analytics', href: project_product_analytics_path(project))
-      expect(page).to have_link('Serverless', href: project_serverless_functions_path(project))
       expect(page).to have_link('Logs', href: project_logs_path(project))
       expect(page).to have_link('Kubernetes', href: project_clusters_path(project))
     end
diff --git a/spec/features/projects/serverless/functions_spec.rb b/spec/features/projects/serverless/functions_spec.rb
deleted file mode 100644
index db8c2a24f2fed..0000000000000
--- a/spec/features/projects/serverless/functions_spec.rb
+++ /dev/null
@@ -1,88 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'Functions', :js do
-  include KubernetesHelpers
-  include ReactiveCachingHelpers
-
-  let(:project) { create(:project, :repository) }
-  let(:user) { create(:user) }
-
-  before do
-    project.add_maintainer(user)
-    gitlab_sign_in(user)
-  end
-
-  shared_examples "it's missing knative installation" do
-    before do
-      functions_finder = Projects::Serverless::FunctionsFinder.new(project)
-      visit project_serverless_functions_path(project)
-      allow(Projects::Serverless::FunctionsFinder)
-        .to receive(:new)
-        .and_return(functions_finder)
-      synchronous_reactive_cache(functions_finder)
-    end
-
-    it 'sees an empty state require Knative installation' do
-      expect(page).to have_selector('.empty-state')
-    end
-  end
-
-  context 'when user does not have a cluster and visits the serverless page' do
-    it_behaves_like "it's missing knative installation"
-  end
-
-  context 'when the user does have a cluster and visits the serverless page' do
-    let(:cluster) { create(:cluster, :project, :provided_by_gcp) }
-
-    it_behaves_like "it's missing knative installation"
-  end
-
-  context 'when the user has a cluster and knative installed and visits the serverless page', :kubeclient do
-    let(:cluster) { create(:cluster, :project, :provided_by_gcp, projects: [project]) }
-    let(:service) { cluster.platform_kubernetes }
-    let(:environment) { create(:environment, project: project) }
-    let!(:deployment) { create(:deployment, :success, cluster: cluster, environment: environment) }
-    let(:knative_services_finder) { environment.knative_services_finder }
-    let(:namespace) do
-      create(:cluster_kubernetes_namespace,
-        cluster: cluster,
-        project: cluster.cluster_project.project,
-        environment: environment)
-    end
-
-    before do
-      allow(Clusters::KnativeServicesFinder)
-        .to receive(:new)
-        .and_return(knative_services_finder)
-      synchronous_reactive_cache(knative_services_finder)
-      stub_kubeclient_knative_services(stub_get_services_options)
-      stub_kubeclient_service_pods(nil, namespace: namespace.namespace)
-      visit project_serverless_functions_path(project)
-    end
-
-    context 'when there are no functions' do
-      let(:stub_get_services_options) do
-        {
-          namespace: namespace.namespace,
-          response: kube_response({ "kind" => "ServiceList", "items" => [] })
-        }
-      end
-
-      it 'sees an empty listing of serverless functions' do
-        expect(page).to have_selector('.empty-state')
-        expect(page).not_to have_selector('.content-list')
-      end
-    end
-
-    context 'when there are functions' do
-      let(:stub_get_services_options) { { namespace: namespace.namespace } }
-
-      it 'does not see an empty listing of serverless functions' do
-        expect(page).not_to have_selector('.empty-state')
-        expect(page).to have_selector('.content-list')
-      end
-    end
-  end
-end
diff --git a/spec/finders/projects/serverless/functions_finder_spec.rb b/spec/finders/projects/serverless/functions_finder_spec.rb
deleted file mode 100644
index 9b58da2e3983e..0000000000000
--- a/spec/finders/projects/serverless/functions_finder_spec.rb
+++ /dev/null
@@ -1,185 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Projects::Serverless::FunctionsFinder do
-  include KubernetesHelpers
-  include PrometheusHelpers
-  include ReactiveCachingHelpers
-
-  let(:user) { create(:user) }
-  let(:project) { create(:project, :repository) }
-  let(:cluster) { create(:cluster, :project, :provided_by_gcp, projects: [project]) }
-  let(:service) { cluster.platform_kubernetes }
-  let(:environment) { create(:environment, project: project) }
-  let!(:deployment) { create(:deployment, :success, environment: environment, cluster: cluster) }
-  let(:knative_services_finder) { environment.knative_services_finder }
-
-  let(:namespace) do
-    create(:cluster_kubernetes_namespace,
-      cluster: cluster,
-      project: project,
-      environment: environment)
-  end
-
-  before do
-    project.add_maintainer(user)
-  end
-
-  describe '#knative_installed' do
-    context 'when environment does not exist yet' do
-      shared_examples 'before first deployment' do
-        let(:service) { cluster.platform_kubernetes }
-        let(:deployment) { nil }
-
-        it 'returns true if Knative is installed on cluster' do
-          stub_kubeclient_discover_knative_found(service.api_url)
-          function_finder = described_class.new(project)
-          synchronous_reactive_cache(function_finder)
-
-          expect(function_finder.knative_installed).to be true
-        end
-
-        it 'returns false if Knative is not installed on cluster' do
-          stub_kubeclient_discover_knative_not_found(service.api_url)
-          function_finder = described_class.new(project)
-          synchronous_reactive_cache(function_finder)
-
-          expect(function_finder.knative_installed).to be false
-        end
-      end
-
-      context 'when project level cluster is present and enabled' do
-        it_behaves_like 'before first deployment' do
-          let(:cluster) { create(:cluster, :project, :provided_by_gcp, enabled: true) }
-          let(:project) { cluster.project }
-        end
-      end
-
-      context 'when group level cluster is present and enabled' do
-        it_behaves_like 'before first deployment' do
-          let(:cluster) { create(:cluster, :group, :provided_by_gcp, enabled: true) }
-          let(:project) { create(:project, group: cluster.groups.first) }
-        end
-      end
-
-      context 'when instance level cluster is present and enabled' do
-        it_behaves_like 'before first deployment' do
-          let(:project) { create(:project) }
-          let(:cluster) { create(:cluster, :instance, :provided_by_gcp, enabled: true) }
-        end
-      end
-
-      context 'when project level cluster is present, but disabled' do
-        let(:cluster) { create(:cluster, :project, :provided_by_gcp, enabled: false) }
-        let(:project) { cluster.project }
-        let(:service) { cluster.platform_kubernetes }
-        let(:deployment) { nil }
-
-        it 'returns false even if Knative is installed on cluster' do
-          stub_kubeclient_discover_knative_found(service.api_url)
-          function_finder = described_class.new(project)
-          synchronous_reactive_cache(function_finder)
-
-          expect(function_finder.knative_installed).to be false
-        end
-      end
-    end
-
-    context 'when reactive_caching is still fetching data' do
-      it 'returns "checking"' do
-        expect(described_class.new(project).knative_installed).to eq 'checking'
-      end
-    end
-
-    context 'when reactive_caching has finished' do
-      before do
-        allow(Clusters::KnativeServicesFinder)
-          .to receive(:new)
-          .and_return(knative_services_finder)
-        synchronous_reactive_cache(knative_services_finder)
-      end
-
-      context 'when knative is not installed' do
-        it 'returns false' do
-          stub_kubeclient_discover_knative_not_found(service.api_url)
-
-          expect(described_class.new(project).knative_installed).to eq false
-        end
-      end
-
-      context 'reactive_caching is finished and knative is installed' do
-        it 'returns true' do
-          stub_kubeclient_knative_services(namespace: namespace.namespace)
-          stub_kubeclient_service_pods(nil, namespace: namespace.namespace)
-
-          expect(described_class.new(project).knative_installed).to be true
-        end
-      end
-    end
-  end
-
-  describe 'retrieve data from knative' do
-    context 'does not have knative installed' do
-      it { expect(described_class.new(project).execute).to be_empty }
-    end
-
-    context 'has knative installed' do
-      let!(:knative) { create(:clusters_applications_knative, :installed, cluster: cluster) }
-      let(:finder) { described_class.new(project) }
-
-      it 'there are no functions' do
-        expect(finder.execute).to be_empty
-      end
-
-      it 'there are functions', :use_clean_rails_memory_store_caching do
-        stub_kubeclient_service_pods
-        stub_reactive_cache(knative_services_finder,
-          {
-            services: kube_knative_services_body(namespace: namespace.namespace, name: cluster.project.name)["items"],
-            pods: kube_knative_pods_body(cluster.project.name, namespace.namespace)["items"]
-          },
-          *knative_services_finder.cache_args)
-
-        expect(finder.execute).not_to be_empty
-      end
-
-      it 'has a function', :use_clean_rails_memory_store_caching do
-        stub_kubeclient_service_pods
-        stub_reactive_cache(knative_services_finder,
-          {
-            services: kube_knative_services_body(namespace: namespace.namespace, name: cluster.project.name)["items"],
-            pods: kube_knative_pods_body(cluster.project.name, namespace.namespace)["items"]
-          },
-          *knative_services_finder.cache_args)
-
-        result = finder.service(cluster.environment_scope, cluster.project.name)
-        expect(result).to be_present
-        expect(result.name).to be_eql(cluster.project.name)
-      end
-
-      it 'has metrics', :use_clean_rails_memory_store_caching do
-      end
-    end
-
-    context 'has prometheus' do
-      let(:prometheus_adapter) { double('prometheus_adapter', can_query?: true) }
-      let!(:knative) { create(:clusters_applications_knative, :installed, cluster: cluster) }
-      let!(:prometheus) { create(:clusters_integrations_prometheus, cluster: cluster) }
-      let(:finder) { described_class.new(project) }
-
-      before do
-        allow(Gitlab::Prometheus::Adapter).to receive(:new).and_return(double(prometheus_adapter: prometheus_adapter))
-        allow(prometheus_adapter).to receive(:query).and_return(prometheus_empty_body('matrix'))
-      end
-
-      it 'is available' do
-        expect(finder.has_prometheus?("*")).to be true
-      end
-
-      it 'has query data' do
-        expect(finder.invocation_metrics("*", cluster.project.name)).not_to be_nil
-      end
-    end
-  end
-end
diff --git a/spec/frontend/serverless/components/__snapshots__/empty_state_spec.js.snap b/spec/frontend/serverless/components/__snapshots__/empty_state_spec.js.snap
deleted file mode 100644
index 0f4dfdf8a75b8..0000000000000
--- a/spec/frontend/serverless/components/__snapshots__/empty_state_spec.js.snap
+++ /dev/null
@@ -1,22 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`EmptyStateComponent should render content 1`] = `
-"<section class=\\"gl-display-flex empty-state gl-text-center gl-flex-direction-column\\">
-  <div class=\\"gl-max-w-full\\">
-    <div class=\\"svg-250 svg-content\\"><img src=\\"/image.svg\\" alt=\\"\\" role=\\"img\\" class=\\"gl-max-w-full gl-dark-invert-keep-hue\\"></div>
-  </div>
-  <div class=\\"gl-max-w-full gl-m-auto\\">
-    <div class=\\"gl-mx-auto gl-my-0 gl-p-5\\">
-      <h1 class=\\"gl-font-size-h-display gl-line-height-36 h4\\">
-        Getting started with serverless
-      </h1>
-      <p class=\\"gl-mt-3\\">Serverless was <gl-link-stub target=\\"_blank\\" href=\\"https://about.gitlab.com/releases/2021/09/22/gitlab-14-3-released/#gitlab-serverless\\">deprecated</gl-link-stub>. But if you opt to use it, you must install Knative in your Kubernetes cluster first. <gl-link-stub href=\\"/help\\">Learn more.</gl-link-stub>
-      </p>
-      <div class=\\"gl-display-flex gl-flex-wrap gl-justify-content-center\\">
-        <!---->
-        <!---->
-      </div>
-    </div>
-  </div>
-</section>"
-`;
diff --git a/spec/frontend/serverless/components/area_spec.js b/spec/frontend/serverless/components/area_spec.js
deleted file mode 100644
index 05c9ee4430758..0000000000000
--- a/spec/frontend/serverless/components/area_spec.js
+++ /dev/null
@@ -1,121 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import Area from '~/serverless/components/area.vue';
-import { mockNormalizedMetrics } from '../mock_data';
-
-describe('Area component', () => {
-  const mockWidgets = 'mockWidgets';
-  const mockGraphData = mockNormalizedMetrics;
-  let areaChart;
-
-  beforeEach(() => {
-    areaChart = shallowMount(Area, {
-      propsData: {
-        graphData: mockGraphData,
-        containerWidth: 0,
-      },
-      slots: {
-        default: mockWidgets,
-      },
-    });
-  });
-
-  afterEach(() => {
-    areaChart.destroy();
-  });
-
-  it('renders chart title', () => {
-    expect(areaChart.find({ ref: 'graphTitle' }).text()).toBe(mockGraphData.title);
-  });
-
-  it('contains graph widgets from slot', () => {
-    expect(areaChart.find({ ref: 'graphWidgets' }).text()).toBe(mockWidgets);
-  });
-
-  describe('methods', () => {
-    describe('formatTooltipText', () => {
-      const mockDate = mockNormalizedMetrics.queries[0].result[0].values[0].time;
-      const generateSeriesData = (type) => ({
-        seriesData: [
-          {
-            componentSubType: type,
-            value: [mockDate, 4],
-          },
-        ],
-        value: mockDate,
-      });
-
-      describe('series is of line type', () => {
-        beforeEach(() => {
-          areaChart.vm.formatTooltipText(generateSeriesData('line'));
-        });
-
-        it('formats tooltip title', () => {
-          expect(areaChart.vm.tooltipPopoverTitle).toBe('28 Feb 2019, 11:11AM');
-        });
-
-        it('formats tooltip content', () => {
-          expect(areaChart.vm.tooltipPopoverContent).toBe('Invocations (requests): 4');
-        });
-      });
-
-      it('verify default interval value of 1', () => {
-        expect(areaChart.vm.getInterval).toBe(1);
-      });
-    });
-
-    describe('onResize', () => {
-      const mockWidth = 233;
-
-      beforeEach(() => {
-        jest.spyOn(Element.prototype, 'getBoundingClientRect').mockImplementation(() => ({
-          width: mockWidth,
-        }));
-        areaChart.vm.onResize();
-      });
-
-      it('sets area chart width', () => {
-        expect(areaChart.vm.width).toBe(mockWidth);
-      });
-    });
-  });
-
-  describe('computed', () => {
-    describe('chartData', () => {
-      it('utilizes all data points', () => {
-        expect(Object.keys(areaChart.vm.chartData)).toEqual(['requests']);
-        expect(areaChart.vm.chartData.requests.length).toBe(2);
-      });
-
-      it('creates valid data', () => {
-        const data = areaChart.vm.chartData.requests;
-
-        expect(
-          data.filter(
-            (datum) => new Date(datum.time).getTime() > 0 && typeof datum.value === 'number',
-          ).length,
-        ).toBe(data.length);
-      });
-    });
-
-    describe('generateSeries', () => {
-      it('utilizes correct time data', () => {
-        expect(areaChart.vm.generateSeries.data).toEqual([
-          ['2019-02-28T11:11:38.756Z', 0],
-          ['2019-02-28T11:12:38.756Z', 0],
-        ]);
-      });
-    });
-
-    describe('xAxisLabel', () => {
-      it('constructs a label for the chart x-axis', () => {
-        expect(areaChart.vm.xAxisLabel).toBe('invocations / minute');
-      });
-    });
-
-    describe('yAxisLabel', () => {
-      it('constructs a label for the chart y-axis', () => {
-        expect(areaChart.vm.yAxisLabel).toBe('Invocations (requests)');
-      });
-    });
-  });
-});
diff --git a/spec/frontend/serverless/components/empty_state_spec.js b/spec/frontend/serverless/components/empty_state_spec.js
deleted file mode 100644
index d63882c2a6d21..0000000000000
--- a/spec/frontend/serverless/components/empty_state_spec.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { GlEmptyState, GlSprintf } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import EmptyStateComponent from '~/serverless/components/empty_state.vue';
-import { createStore } from '~/serverless/store';
-
-describe('EmptyStateComponent', () => {
-  let wrapper;
-
-  beforeEach(() => {
-    const store = createStore({
-      clustersPath: '/clusters',
-      helpPath: '/help',
-      emptyImagePath: '/image.svg',
-    });
-    wrapper = shallowMount(EmptyStateComponent, { store, stubs: { GlEmptyState, GlSprintf } });
-  });
-
-  afterEach(() => {
-    wrapper.destroy();
-  });
-
-  it('should render content', () => {
-    expect(wrapper.html()).toMatchSnapshot();
-  });
-});
diff --git a/spec/frontend/serverless/components/environment_row_spec.js b/spec/frontend/serverless/components/environment_row_spec.js
deleted file mode 100644
index 944283136d049..0000000000000
--- a/spec/frontend/serverless/components/environment_row_spec.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import environmentRowComponent from '~/serverless/components/environment_row.vue';
-
-import { translate } from '~/serverless/utils';
-import { mockServerlessFunctions, mockServerlessFunctionsDiffEnv } from '../mock_data';
-
-const createComponent = (env, envName) =>
-  shallowMount(environmentRowComponent, {
-    propsData: { env, envName },
-  }).vm;
-
-describe('environment row component', () => {
-  describe('default global cluster case', () => {
-    let vm;
-
-    beforeEach(() => {
-      vm = createComponent(translate(mockServerlessFunctions.functions)['*'], '*');
-    });
-
-    afterEach(() => vm.$destroy());
-
-    it('has the correct envId', () => {
-      expect(vm.envId).toEqual('env-global');
-    });
-
-    it('is open by default', () => {
-      expect(vm.isOpenClass).toEqual({ 'is-open': true });
-    });
-
-    it('generates correct output', () => {
-      expect(vm.$el.id).toEqual('env-global');
-      expect(vm.$el.classList.contains('is-open')).toBe(true);
-      expect(vm.$el.querySelector('div.title').innerHTML.trim()).toEqual('*');
-    });
-
-    it('opens and closes correctly', () => {
-      expect(vm.isOpen).toBe(true);
-
-      vm.toggleOpen();
-
-      expect(vm.isOpen).toBe(false);
-    });
-  });
-
-  describe('default named cluster case', () => {
-    let vm;
-
-    beforeEach(() => {
-      vm = createComponent(translate(mockServerlessFunctionsDiffEnv.functions).test, 'test');
-    });
-
-    afterEach(() => vm.$destroy());
-
-    it('has the correct envId', () => {
-      expect(vm.envId).toEqual('env-test');
-    });
-
-    it('is open by default', () => {
-      expect(vm.isOpenClass).toEqual({ 'is-open': true });
-    });
-
-    it('generates correct output', () => {
-      expect(vm.$el.id).toEqual('env-test');
-      expect(vm.$el.classList.contains('is-open')).toBe(true);
-      expect(vm.$el.querySelector('div.title').innerHTML.trim()).toEqual('test');
-    });
-  });
-});
diff --git a/spec/frontend/serverless/components/function_details_spec.js b/spec/frontend/serverless/components/function_details_spec.js
deleted file mode 100644
index 0c9b249858953..0000000000000
--- a/spec/frontend/serverless/components/function_details_spec.js
+++ /dev/null
@@ -1,100 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import Vue from 'vue';
-import Vuex from 'vuex';
-
-import functionDetailsComponent from '~/serverless/components/function_details.vue';
-import { createStore } from '~/serverless/store';
-
-describe('functionDetailsComponent', () => {
-  let component;
-  let store;
-
-  beforeEach(() => {
-    Vue.use(Vuex);
-
-    store = createStore({ clustersPath: '/clusters', helpPath: '/help' });
-  });
-
-  afterEach(() => {
-    component.vm.$destroy();
-  });
-
-  describe('Verify base functionality', () => {
-    const serviceStub = {
-      name: 'test',
-      description: 'a description',
-      environment: '*',
-      url: 'http://service.com/test',
-      namespace: 'test-ns',
-      podcount: 0,
-      metricsUrl: '/metrics',
-    };
-
-    it('has a name, description, URL, and no pods loaded', () => {
-      component = shallowMount(functionDetailsComponent, {
-        store,
-        propsData: {
-          func: serviceStub,
-          hasPrometheus: false,
-        },
-      });
-
-      expect(
-        component.vm.$el.querySelector('.serverless-function-name').innerHTML.trim(),
-      ).toContain('test');
-
-      expect(
-        component.vm.$el.querySelector('.serverless-function-description').innerHTML.trim(),
-      ).toContain('a description');
-
-      expect(component.vm.$el.querySelector('p').innerHTML.trim()).toContain(
-        'No pods loaded at this time.',
-      );
-    });
-
-    it('has a pods loaded', () => {
-      serviceStub.podcount = 1;
-
-      component = shallowMount(functionDetailsComponent, {
-        store,
-        propsData: {
-          func: serviceStub,
-          hasPrometheus: false,
-        },
-      });
-
-      expect(component.vm.$el.querySelector('p').innerHTML.trim()).toContain('1 pod in use');
-    });
-
-    it('has multiple pods loaded', () => {
-      serviceStub.podcount = 3;
-
-      component = shallowMount(functionDetailsComponent, {
-        store,
-        propsData: {
-          func: serviceStub,
-          hasPrometheus: false,
-        },
-      });
-
-      expect(component.vm.$el.querySelector('p').innerHTML.trim()).toContain('3 pods in use');
-    });
-
-    it('can support a missing description', () => {
-      serviceStub.description = null;
-
-      component = shallowMount(functionDetailsComponent, {
-        store,
-        propsData: {
-          func: serviceStub,
-          hasPrometheus: false,
-        },
-      });
-
-      expect(
-        component.vm.$el.querySelector('.serverless-function-description').querySelector('div')
-          .innerHTML.length,
-      ).toEqual(0);
-    });
-  });
-});
diff --git a/spec/frontend/serverless/components/function_row_spec.js b/spec/frontend/serverless/components/function_row_spec.js
deleted file mode 100644
index 081edd33b3be8..0000000000000
--- a/spec/frontend/serverless/components/function_row_spec.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import functionRowComponent from '~/serverless/components/function_row.vue';
-import Timeago from '~/vue_shared/components/time_ago_tooltip.vue';
-
-import { mockServerlessFunction } from '../mock_data';
-
-describe('functionRowComponent', () => {
-  let wrapper;
-
-  const createComponent = (func) => {
-    wrapper = shallowMount(functionRowComponent, {
-      propsData: { func },
-    });
-  };
-
-  afterEach(() => {
-    wrapper.destroy();
-  });
-
-  it('Parses the function details correctly', () => {
-    createComponent(mockServerlessFunction);
-
-    expect(wrapper.find('b').text()).toBe(mockServerlessFunction.name);
-    expect(wrapper.find('span').text()).toBe(mockServerlessFunction.image);
-    expect(wrapper.find(Timeago).attributes('time')).not.toBe(null);
-  });
-
-  it('handles clicks correctly', () => {
-    createComponent(mockServerlessFunction);
-    const { vm } = wrapper;
-
-    expect(vm.checkClass(vm.$el.querySelector('p'))).toBe(true); // check somewhere inside the row
-  });
-});
diff --git a/spec/frontend/serverless/components/functions_spec.js b/spec/frontend/serverless/components/functions_spec.js
deleted file mode 100644
index 846fd63e918a4..0000000000000
--- a/spec/frontend/serverless/components/functions_spec.js
+++ /dev/null
@@ -1,86 +0,0 @@
-import { GlLoadingIcon, GlAlert, GlSprintf } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import Vue, { nextTick } from 'vue';
-import AxiosMockAdapter from 'axios-mock-adapter';
-import Vuex from 'vuex';
-import { TEST_HOST } from 'helpers/test_constants';
-import axios from '~/lib/utils/axios_utils';
-import EmptyState from '~/serverless/components/empty_state.vue';
-import EnvironmentRow from '~/serverless/components/environment_row.vue';
-import functionsComponent from '~/serverless/components/functions.vue';
-import { createStore } from '~/serverless/store';
-import { mockServerlessFunctions } from '../mock_data';
-
-describe('functionsComponent', () => {
-  const statusPath = `${TEST_HOST}/statusPath`;
-
-  let component;
-  let store;
-  let axiosMock;
-
-  beforeEach(() => {
-    axiosMock = new AxiosMockAdapter(axios);
-    axiosMock.onGet(statusPath).reply(200);
-
-    Vue.use(Vuex);
-
-    store = createStore({});
-    component = shallowMount(functionsComponent, { store, stubs: { GlSprintf } });
-  });
-
-  afterEach(() => {
-    component.destroy();
-    axiosMock.restore();
-  });
-
-  it('should render deprecation notice', () => {
-    expect(component.findComponent(GlAlert).text()).toBe(
-      'Serverless was deprecated in GitLab 14.3.',
-    );
-  });
-
-  it('should render empty state when Knative is not installed', async () => {
-    await store.dispatch('receiveFunctionsSuccess', { knative_installed: false });
-
-    expect(component.findComponent(EmptyState).exists()).toBe(true);
-  });
-
-  it('should render a loading component', async () => {
-    await store.dispatch('requestFunctionsLoading');
-
-    expect(component.findComponent(GlLoadingIcon).exists()).toBe(true);
-  });
-
-  it('should render empty state when there is no function data', async () => {
-    await store.dispatch('receiveFunctionsNoDataSuccess', { knative_installed: true });
-
-    expect(
-      component.vm.$el
-        .querySelector('.empty-state, .js-empty-state')
-        .classList.contains('js-empty-state'),
-    ).toBe(true);
-
-    expect(component.vm.$el.querySelector('.state-title, .text-center').innerHTML.trim()).toEqual(
-      'No functions available',
-    );
-  });
-
-  it('should render functions and a loader when functions are partially fetched', async () => {
-    await store.dispatch('receiveFunctionsPartial', {
-      ...mockServerlessFunctions,
-      knative_installed: 'checking',
-    });
-
-    expect(component.find('.js-functions-wrapper').exists()).toBe(true);
-    expect(component.find('.js-functions-loader').exists()).toBe(true);
-  });
-
-  it('should render the functions list', async () => {
-    store = createStore({ clustersPath: 'clustersPath', helpPath: 'helpPath', statusPath });
-
-    await component.vm.$store.dispatch('receiveFunctionsSuccess', mockServerlessFunctions);
-
-    await nextTick();
-    expect(component.findComponent(EnvironmentRow).exists()).toBe(true);
-  });
-});
diff --git a/spec/frontend/serverless/components/missing_prometheus_spec.js b/spec/frontend/serverless/components/missing_prometheus_spec.js
deleted file mode 100644
index 1b93fd784e12c..0000000000000
--- a/spec/frontend/serverless/components/missing_prometheus_spec.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import { GlButton } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import missingPrometheusComponent from '~/serverless/components/missing_prometheus.vue';
-import { createStore } from '~/serverless/store';
-
-describe('missingPrometheusComponent', () => {
-  let wrapper;
-
-  const createComponent = (missingData) => {
-    const store = createStore({ clustersPath: '/clusters', helpPath: '/help' });
-
-    wrapper = shallowMount(missingPrometheusComponent, { store, propsData: { missingData } });
-  };
-
-  afterEach(() => {
-    wrapper.destroy();
-  });
-
-  it('should render missing prometheus message', () => {
-    createComponent(false);
-    const { vm } = wrapper;
-
-    expect(vm.$el.querySelector('.state-description').innerHTML.trim()).toContain(
-      'Function invocation metrics require the Prometheus cluster integration.',
-    );
-
-    expect(wrapper.find(GlButton).attributes('variant')).toBe('success');
-  });
-
-  it('should render no prometheus data message', () => {
-    createComponent(true);
-    const { vm } = wrapper;
-
-    expect(vm.$el.querySelector('.state-description').innerHTML.trim()).toContain(
-      'Invocation metrics loading or not available at this time.',
-    );
-  });
-});
diff --git a/spec/frontend/serverless/components/pod_box_spec.js b/spec/frontend/serverless/components/pod_box_spec.js
deleted file mode 100644
index cf0c14a2cac73..0000000000000
--- a/spec/frontend/serverless/components/pod_box_spec.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import podBoxComponent from '~/serverless/components/pod_box.vue';
-
-const createComponent = (count) =>
-  shallowMount(podBoxComponent, {
-    propsData: {
-      count,
-    },
-  }).vm;
-
-describe('podBoxComponent', () => {
-  it('should render three boxes', () => {
-    const count = 3;
-    const vm = createComponent(count);
-    const rects = vm.$el.querySelectorAll('rect');
-
-    expect(rects.length).toEqual(3);
-    expect(parseInt(rects[2].getAttribute('x'), 10)).toEqual(40);
-
-    vm.$destroy();
-  });
-});
diff --git a/spec/frontend/serverless/components/url_spec.js b/spec/frontend/serverless/components/url_spec.js
deleted file mode 100644
index 8c839577aa095..0000000000000
--- a/spec/frontend/serverless/components/url_spec.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import Vue from 'vue';
-import urlComponent from '~/serverless/components/url.vue';
-import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
-
-const createComponent = (uri) =>
-  shallowMount(Vue.extend(urlComponent), {
-    propsData: {
-      uri,
-    },
-  });
-
-describe('urlComponent', () => {
-  it('should render correctly', () => {
-    const uri = 'http://testfunc.apps.example.com';
-    const wrapper = createComponent(uri);
-    const { vm } = wrapper;
-
-    expect(vm.$el.classList.contains('clipboard-group')).toBe(true);
-    expect(wrapper.find(ClipboardButton).attributes('text')).toEqual(uri);
-
-    expect(vm.$el.querySelector('[data-testid="url-text-field"]').innerHTML).toContain(uri);
-
-    vm.$destroy();
-  });
-});
diff --git a/spec/frontend/serverless/mock_data.js b/spec/frontend/serverless/mock_data.js
deleted file mode 100644
index 1816ad62a04bf..0000000000000
--- a/spec/frontend/serverless/mock_data.js
+++ /dev/null
@@ -1,145 +0,0 @@
-export const mockServerlessFunctions = {
-  knative_installed: true,
-  functions: [
-    {
-      name: 'testfunc1',
-      namespace: 'tm-example',
-      environment_scope: '*',
-      cluster_id: 46,
-      detail_url: '/testuser/testproj/serverless/functions/*/testfunc1',
-      podcount: null,
-      created_at: '2019-02-05T01:01:23Z',
-      url: 'http://testfunc1.tm-example.apps.example.com',
-      description: 'A test service',
-      image: 'knative-test-container-buildtemplate',
-    },
-    {
-      name: 'testfunc2',
-      namespace: 'tm-example',
-      environment_scope: '*',
-      cluster_id: 46,
-      detail_url: '/testuser/testproj/serverless/functions/*/testfunc2',
-      podcount: null,
-      created_at: '2019-02-05T01:01:23Z',
-      url: 'http://testfunc2.tm-example.apps.example.com',
-      description: 'A second test service\nThis one with additional descriptions',
-      image: 'knative-test-echo-buildtemplate',
-    },
-  ],
-};
-
-export const mockServerlessFunctionsDiffEnv = {
-  knative_installed: true,
-  functions: [
-    {
-      name: 'testfunc1',
-      namespace: 'tm-example',
-      environment_scope: '*',
-      cluster_id: 46,
-      detail_url: '/testuser/testproj/serverless/functions/*/testfunc1',
-      podcount: null,
-      created_at: '2019-02-05T01:01:23Z',
-      url: 'http://testfunc1.tm-example.apps.example.com',
-      description: 'A test service',
-      image: 'knative-test-container-buildtemplate',
-    },
-    {
-      name: 'testfunc2',
-      namespace: 'tm-example',
-      environment_scope: 'test',
-      cluster_id: 46,
-      detail_url: '/testuser/testproj/serverless/functions/*/testfunc2',
-      podcount: null,
-      created_at: '2019-02-05T01:01:23Z',
-      url: 'http://testfunc2.tm-example.apps.example.com',
-      description: 'A second test service\nThis one with additional descriptions',
-      image: 'knative-test-echo-buildtemplate',
-    },
-  ],
-};
-
-export const mockServerlessFunction = {
-  name: 'testfunc1',
-  namespace: 'tm-example',
-  environment_scope: '*',
-  cluster_id: 46,
-  detail_url: '/testuser/testproj/serverless/functions/*/testfunc1',
-  podcount: '3',
-  created_at: '2019-02-05T01:01:23Z',
-  url: 'http://testfunc1.tm-example.apps.example.com',
-  description: 'A test service',
-  image: 'knative-test-container-buildtemplate',
-};
-
-export const mockMultilineServerlessFunction = {
-  name: 'testfunc1',
-  namespace: 'tm-example',
-  environment_scope: '*',
-  cluster_id: 46,
-  detail_url: '/testuser/testproj/serverless/functions/*/testfunc1',
-  podcount: '3',
-  created_at: '2019-02-05T01:01:23Z',
-  url: 'http://testfunc1.tm-example.apps.example.com',
-  description: 'testfunc1\nA test service line\\nWith additional services',
-  image: 'knative-test-container-buildtemplate',
-};
-
-export const mockMetrics = {
-  success: true,
-  last_update: '2019-02-28T19:11:38.926Z',
-  metrics: {
-    id: 22,
-    title: 'Knative function invocations',
-    required_metrics: ['container_memory_usage_bytes', 'container_cpu_usage_seconds_total'],
-    weight: 0,
-    y_label: 'Invocations',
-    queries: [
-      {
-        query_range:
-          'floor(sum(rate(istio_revision_request_count{destination_configuration="%{function_name}", destination_namespace="%{kube_namespace}"}[1m])*30))',
-        unit: 'requests',
-        label: 'invocations / minute',
-        result: [
-          {
-            metric: {},
-            values: [
-              [1551352298.756, '0'],
-              [1551352358.756, '0'],
-            ],
-          },
-        ],
-      },
-    ],
-  },
-};
-
-export const mockNormalizedMetrics = {
-  id: 22,
-  title: 'Knative function invocations',
-  required_metrics: ['container_memory_usage_bytes', 'container_cpu_usage_seconds_total'],
-  weight: 0,
-  y_label: 'Invocations',
-  queries: [
-    {
-      query_range:
-        'floor(sum(rate(istio_revision_request_count{destination_configuration="%{function_name}", destination_namespace="%{kube_namespace}"}[1m])*30))',
-      unit: 'requests',
-      label: 'invocations / minute',
-      result: [
-        {
-          metric: {},
-          values: [
-            {
-              time: '2019-02-28T11:11:38.756Z',
-              value: 0,
-            },
-            {
-              time: '2019-02-28T11:12:38.756Z',
-              value: 0,
-            },
-          ],
-        },
-      ],
-    },
-  ],
-};
diff --git a/spec/frontend/serverless/store/actions_spec.js b/spec/frontend/serverless/store/actions_spec.js
deleted file mode 100644
index 5fbecf081a64e..0000000000000
--- a/spec/frontend/serverless/store/actions_spec.js
+++ /dev/null
@@ -1,80 +0,0 @@
-import MockAdapter from 'axios-mock-adapter';
-import testAction from 'helpers/vuex_action_helper';
-import axios from '~/lib/utils/axios_utils';
-import statusCodes from '~/lib/utils/http_status';
-import { fetchFunctions, fetchMetrics } from '~/serverless/store/actions';
-import { mockServerlessFunctions, mockMetrics } from '../mock_data';
-import { adjustMetricQuery } from '../utils';
-
-describe('ServerlessActions', () => {
-  let mock;
-
-  beforeEach(() => {
-    mock = new MockAdapter(axios);
-  });
-
-  afterEach(() => {
-    mock.restore();
-  });
-
-  describe('fetchFunctions', () => {
-    it('should successfully fetch functions', () => {
-      const endpoint = '/functions';
-      mock.onGet(endpoint).reply(statusCodes.OK, JSON.stringify(mockServerlessFunctions));
-
-      return testAction(
-        fetchFunctions,
-        { functionsPath: endpoint },
-        {},
-        [],
-        [
-          { type: 'requestFunctionsLoading' },
-          { type: 'receiveFunctionsSuccess', payload: mockServerlessFunctions },
-        ],
-      );
-    });
-
-    it('should successfully retry', () => {
-      const endpoint = '/functions';
-      mock
-        .onGet(endpoint)
-        .reply(() => new Promise((resolve) => setTimeout(() => resolve(200), Infinity)));
-
-      return testAction(
-        fetchFunctions,
-        { functionsPath: endpoint },
-        {},
-        [],
-        [{ type: 'requestFunctionsLoading' }],
-      );
-    });
-  });
-
-  describe('fetchMetrics', () => {
-    it('should return no prometheus', () => {
-      const endpoint = '/metrics';
-      mock.onGet(endpoint).reply(statusCodes.NO_CONTENT);
-
-      return testAction(
-        fetchMetrics,
-        { metricsPath: endpoint, hasPrometheus: false },
-        {},
-        [],
-        [{ type: 'receiveMetricsNoPrometheus' }],
-      );
-    });
-
-    it('should successfully fetch metrics', () => {
-      const endpoint = '/metrics';
-      mock.onGet(endpoint).reply(statusCodes.OK, JSON.stringify(mockMetrics));
-
-      return testAction(
-        fetchMetrics,
-        { metricsPath: endpoint, hasPrometheus: true },
-        {},
-        [],
-        [{ type: 'receiveMetricsSuccess', payload: adjustMetricQuery(mockMetrics) }],
-      );
-    });
-  });
-});
diff --git a/spec/frontend/serverless/store/getters_spec.js b/spec/frontend/serverless/store/getters_spec.js
deleted file mode 100644
index e1942bd275974..0000000000000
--- a/spec/frontend/serverless/store/getters_spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import * as getters from '~/serverless/store/getters';
-import serverlessState from '~/serverless/store/state';
-import { mockServerlessFunctions } from '../mock_data';
-
-describe('Serverless Store Getters', () => {
-  let state;
-
-  beforeEach(() => {
-    state = serverlessState;
-  });
-
-  describe('hasPrometheusMissingData', () => {
-    it('should return false if Prometheus is not installed', () => {
-      state.hasPrometheus = false;
-
-      expect(getters.hasPrometheusMissingData(state)).toEqual(false);
-    });
-
-    it('should return false if Prometheus is installed and there is data', () => {
-      state.hasPrometheusData = true;
-
-      expect(getters.hasPrometheusMissingData(state)).toEqual(false);
-    });
-
-    it('should return true if Prometheus is installed and there is no data', () => {
-      state.hasPrometheus = true;
-      state.hasPrometheusData = false;
-
-      expect(getters.hasPrometheusMissingData(state)).toEqual(true);
-    });
-  });
-
-  describe('getFunctions', () => {
-    it('should translate the raw function array to group the functions per environment scope', () => {
-      state.functions = mockServerlessFunctions.functions;
-
-      const funcs = getters.getFunctions(state);
-
-      expect(Object.keys(funcs)).toContain('*');
-      expect(funcs['*'].length).toEqual(2);
-    });
-  });
-});
diff --git a/spec/frontend/serverless/store/mutations_spec.js b/spec/frontend/serverless/store/mutations_spec.js
deleted file mode 100644
index a1a8f9a2ca783..0000000000000
--- a/spec/frontend/serverless/store/mutations_spec.js
+++ /dev/null
@@ -1,86 +0,0 @@
-import * as types from '~/serverless/store/mutation_types';
-import mutations from '~/serverless/store/mutations';
-import { mockServerlessFunctions, mockMetrics } from '../mock_data';
-
-describe('ServerlessMutations', () => {
-  describe('Functions List Mutations', () => {
-    it('should ensure loading is true', () => {
-      const state = {};
-
-      mutations[types.REQUEST_FUNCTIONS_LOADING](state);
-
-      expect(state.isLoading).toEqual(true);
-    });
-
-    it('should set proper state once functions are loaded', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_FUNCTIONS_SUCCESS](state, mockServerlessFunctions);
-
-      expect(state.isLoading).toEqual(false);
-      expect(state.hasFunctionData).toEqual(true);
-      expect(state.functions).toEqual(mockServerlessFunctions.functions);
-    });
-
-    it('should ensure loading has stopped and hasFunctionData is false when there are no functions available', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_FUNCTIONS_NODATA_SUCCESS](state, { knative_installed: true });
-
-      expect(state.isLoading).toEqual(false);
-      expect(state.hasFunctionData).toEqual(false);
-      expect(state.functions).toBe(undefined);
-    });
-
-    it('should ensure loading has stopped, and an error is raised', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_FUNCTIONS_ERROR](state, 'sample error');
-
-      expect(state.isLoading).toEqual(false);
-      expect(state.hasFunctionData).toEqual(false);
-      expect(state.functions).toBe(undefined);
-      expect(state.error).not.toBe(undefined);
-    });
-  });
-
-  describe('Function Details Metrics Mutations', () => {
-    it('should ensure isLoading and hasPrometheus data flags indicate data is loaded', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_METRICS_SUCCESS](state, mockMetrics);
-
-      expect(state.isLoading).toEqual(false);
-      expect(state.hasPrometheusData).toEqual(true);
-      expect(state.graphData).toEqual(mockMetrics);
-    });
-
-    it('should ensure isLoading and hasPrometheus data flags are cleared indicating no functions available', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_METRICS_NODATA_SUCCESS](state);
-
-      expect(state.isLoading).toEqual(false);
-      expect(state.hasPrometheusData).toEqual(false);
-      expect(state.graphData).toBe(undefined);
-    });
-
-    it('should properly indicate an error', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_METRICS_ERROR](state, 'sample error');
-
-      expect(state.hasPrometheusData).toEqual(false);
-      expect(state.error).not.toBe(undefined);
-    });
-
-    it('should properly indicate when prometheus is installed', () => {
-      const state = {};
-
-      mutations[types.RECEIVE_METRICS_NO_PROMETHEUS](state);
-
-      expect(state.hasPrometheus).toEqual(false);
-      expect(state.hasPrometheusData).toEqual(false);
-    });
-  });
-});
diff --git a/spec/frontend/serverless/utils.js b/spec/frontend/serverless/utils.js
deleted file mode 100644
index 7caf7da231eeb..0000000000000
--- a/spec/frontend/serverless/utils.js
+++ /dev/null
@@ -1,17 +0,0 @@
-export const adjustMetricQuery = (data) => {
-  const updatedMetric = data.metrics;
-
-  const queries = data.metrics.queries.map((query) => ({
-    ...query,
-    result: query.result.map((result) => ({
-      ...result,
-      values: result.values.map(([timestamp, value]) => ({
-        time: new Date(timestamp * 1000).toISOString(),
-        value: Number(value),
-      })),
-    })),
-  }));
-
-  updatedMetric.queries = queries;
-  return updatedMetric;
-};
diff --git a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb
index 81114f5a0b3fb..2da7d32470854 100644
--- a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb
@@ -39,27 +39,17 @@
         subject.renderable_items.delete(find_menu_item(:kubernetes))
       end
 
-      it 'menu link points to Serverless page' do
-        expect(subject.link).to eq find_menu_item(:serverless).link
+      it 'menu link points to Terraform page' do
+        expect(subject.link).to eq find_menu_item(:terraform).link
       end
 
-      context 'when Serverless menu is not visible' do
+      context 'when Terraform menu is not visible' do
         before do
-          subject.renderable_items.delete(find_menu_item(:serverless))
+          subject.renderable_items.delete(find_menu_item(:terraform))
         end
 
-        it 'menu link points to Terraform page' do
-          expect(subject.link).to eq find_menu_item(:terraform).link
-        end
-
-        context 'when Terraform menu is not visible' do
-          before do
-            subject.renderable_items.delete(find_menu_item(:terraform))
-          end
-
-          it 'menu link points to Google Cloud page' do
-            expect(subject.link).to eq find_menu_item(:google_cloud).link
-          end
+        it 'menu link points to Google Cloud page' do
+          expect(subject.link).to eq find_menu_item(:google_cloud).link
         end
       end
     end
@@ -88,20 +78,6 @@ def find_menu_item(menu_item)
       it_behaves_like 'access rights checks'
     end
 
-    describe 'Serverless' do
-      let(:item_id) { :serverless }
-
-      it_behaves_like 'access rights checks'
-
-      context 'when feature :deprecated_serverless is disabled' do
-        before do
-          stub_feature_flags(deprecated_serverless: false)
-        end
-
-        it { is_expected.to be_nil }
-      end
-    end
-
     describe 'Terraform' do
       let(:item_id) { :terraform }
 
diff --git a/spec/support/shared_contexts/navbar_structure_context.rb b/spec/support/shared_contexts/navbar_structure_context.rb
index b472819a00b18..ef6ff7be840c0 100644
--- a/spec/support/shared_contexts/navbar_structure_context.rb
+++ b/spec/support/shared_contexts/navbar_structure_context.rb
@@ -76,7 +76,6 @@
         nav_item: _('Infrastructure'),
         nav_sub_items: [
           _('Kubernetes clusters'),
-          _('Serverless platform'),
           _('Terraform')
         ]
       },
diff --git a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
index 22e925e22ae5e..3943355bffd0d 100644
--- a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
+++ b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
@@ -537,24 +537,6 @@
   end
 
   describe 'Infrastructure' do
-    describe 'Serverless platform' do
-      it 'has a link to the serverless page' do
-        render
-
-        expect(rendered).to have_link('Serverless platform', href: project_serverless_functions_path(project))
-      end
-
-      describe 'when the user does not have access' do
-        let(:user) { nil }
-
-        it 'does not have a link to the serverless page' do
-          render
-
-          expect(rendered).not_to have_link('Serverless platform')
-        end
-      end
-    end
-
     describe 'Terraform' do
       it 'has a link to the terraform page' do
         render
-- 
GitLab