Add SPI configurations for the standalone mode (#5476)

* Add SPI configurations for the standalone mode

* Remove disabling scheduler
diff --git a/.github/workflows/4-standalone.yaml b/.github/workflows/4-standalone.yaml
index 009ad35..5c2f59c 100644
--- a/.github/workflows/4-standalone.yaml
+++ b/.github/workflows/4-standalone.yaml
@@ -65,8 +65,6 @@
           sudo rm -rf "$AGENT_TOOLSDIRECTORY"
       - name: Check free space
         run: df -h
-      - name: Disable the scheduler
-        run: "./tools/github/disable-scheduler.sh"
       - id: tests
         name: Run Tests
         run: "./tools/github/run${{ env.TEST_SUITE }}Tests.sh"
diff --git a/core/standalone/src/main/resources/standalone-kcf.conf b/core/standalone/src/main/resources/standalone-kcf.conf
index 9194d80..6f06a85 100644
--- a/core/standalone/src/main/resources/standalone-kcf.conf
+++ b/core/standalone/src/main/resources/standalone-kcf.conf
@@ -21,6 +21,11 @@
   spi {
     ContainerFactoryProvider = "org.apache.openwhisk.core.containerpool.kubernetes.KubernetesContainerFactoryProvider"
     LogStoreProvider = "org.apache.openwhisk.core.containerpool.logging.DockerToActivationLogStoreProvider"
+    LoadBalancerProvider = "org.apache.openwhisk.core.loadBalancer.LeanBalancer"
+    EntitlementSpiProvider = "org.apache.openwhisk.core.entitlement.LocalEntitlementProvider"
+    InvokerProvider = "org.apache.openwhisk.core.invoker.InvokerReactive"
+    InvokerServerProvider = "org.apache.openwhisk.core.invoker.DefaultInvokerServer"
+    DurationCheckerProvider = "org.apache.openwhisk.core.scheduler.queue.NoopDurationCheckerProvider"
   }
   kubernetes {
     timeouts {
diff --git a/core/standalone/src/main/resources/standalone.conf b/core/standalone/src/main/resources/standalone.conf
index 0817680..b6acaac 100644
--- a/core/standalone/src/main/resources/standalone.conf
+++ b/core/standalone/src/main/resources/standalone.conf
@@ -41,6 +41,10 @@
     # and does not require root user access
     LogStoreProvider = "org.apache.openwhisk.core.containerpool.docker.DockerCliLogStoreProvider"
     ContainerFactoryProvider = "org.apache.openwhisk.core.containerpool.docker.StandaloneDockerContainerFactoryProvider"
+    EntitlementSpiProvider = "org.apache.openwhisk.core.entitlement.LocalEntitlementProvider"
+    InvokerProvider = "org.apache.openwhisk.core.invoker.InvokerReactive"
+    InvokerServerProvider = "org.apache.openwhisk.core.invoker.DefaultInvokerServer"
+    DurationCheckerProvider = "org.apache.openwhisk.core.scheduler.queue.NoopDurationCheckerProvider"
   }
 
   info {
diff --git a/tools/github/disable-scheduler.sh b/tools/github/disable-scheduler.sh
deleted file mode 100755
index 950f81e..0000000
--- a/tools/github/disable-scheduler.sh
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-set -e
-
-cat > ${GITHUB_WORKSPACE}/common/scala/src/main/resources/reference.conf << EOL
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-include "s3-reference.conf"
-
-whisk.spi {
-  ArtifactStoreProvider = org.apache.openwhisk.core.database.CouchDbStoreProvider
-  ActivationStoreProvider = org.apache.openwhisk.core.database.ArtifactActivationStoreProvider
-  MessagingProvider = org.apache.openwhisk.connector.kafka.KafkaMessagingProvider
-  ContainerFactoryProvider = org.apache.openwhisk.core.containerpool.docker.DockerContainerFactoryProvider
-  LogStoreProvider = org.apache.openwhisk.core.containerpool.logging.DockerToActivationLogStoreProvider
-  LoadBalancerProvider = org.apache.openwhisk.core.loadBalancer.ShardingContainerPoolBalancer
-  EntitlementSpiProvider = org.apache.openwhisk.core.entitlement.LocalEntitlementProvider
-  AuthenticationDirectiveProvider = org.apache.openwhisk.core.controller.BasicAuthenticationDirective
-  InvokerProvider = org.apache.openwhisk.core.invoker.InvokerReactive
-  InvokerServerProvider = org.apache.openwhisk.core.invoker.DefaultInvokerServer
-  DurationCheckerProvider = org.apache.openwhisk.core.scheduler.queue.NoopDurationCheckerProvider
-}
-
-dispatchers {
-  # Custom dispatcher for CouchDB Client. Tune as needed.
-  couch-dispatcher {
-    type = Dispatcher
-    executor = "thread-pool-executor"
-
-    # Underlying thread pool implementation is java.util.concurrent.ThreadPoolExecutor
-    thread-pool-executor {
-      # Min number of threads to cap factor-based corePoolSize number to
-      core-pool-size-min = 2
-
-      # The core-pool-size-factor is used to determine corePoolSize of the
-      # ThreadPoolExecutor using the following formula:
-      # ceil(available processors * factor).
-      # Resulting size is then bounded by the core-pool-size-min and
-      # core-pool-size-max values.
-      core-pool-size-factor = 2.0
-
-      # Max number of threads to cap factor-based corePoolSize number to
-      core-pool-size-max = 32
-    }
-    # Throughput defines the number of messages that are processed in a batch
-    # before the thread is returned to the pool. Set to 1 for as fair as possible.
-    throughput = 5
-  }
-
-  # Custom dispatcher for Kafka client. Tune as needed.
-  kafka-dispatcher {
-    type = Dispatcher
-    executor = "thread-pool-executor"
-
-    # Underlying thread pool implementation is java.util.concurrent.ThreadPoolExecutor
-    thread-pool-executor {
-      # Min number of threads to cap factor-based corePoolSize number to
-      core-pool-size-min = 2
-
-      # The core-pool-size-factor is used to determine corePoolSize of the
-      # ThreadPoolExecutor using the following formula:
-      # ceil(available processors * factor).
-      # Resulting size is then bounded by the core-pool-size-min and
-      # core-pool-size-max values.
-      core-pool-size-factor = 2.0
-
-      # Max number of threads to cap factor-based corePoolSize number to
-      core-pool-size-max = 32
-    }
-
-    # Throughput defines the number of messages that are processed in a batch
-    # before the thread is returned to the pool. Set to 1 for as fair as possible.
-    throughput = 5
-  }
-  lease-service-dispatcher {
-    type = PinnedDispatcher
-    executor = "thread-pool-executor"
-  }
-}
-EOL