diff --git a/charts/opscenter-features/README.md b/charts/opscenter-features/README.md
index 6829b95a0..b6a18df69 100644
--- a/charts/opscenter-features/README.md
+++ b/charts/opscenter-features/README.md
@@ -158,7 +158,9 @@ The following table lists the configurable parameters of the `opscenter-features
| helm.releases.cluster-profile-manager.version | | "v2025.5.16" |
| helm.releases.hub-cluster-robot.version | | "v2024.8.9" |
| helm.releases.fluxcd-manager.version | | "v2025.7.31" |
+| helm.releases.kubeslice.version | | "v2025.8.31" |
| helm.releases.license-proxyserver-manager.version | | "v2025.5.16" |
+| helm.releases.spoke-cluster-addons.version | | "v2024.8.31" |
| helm.releases.inbox-server.version | | "v2025.2.28" |
| helm.releases.inbox-agent.version | | "v2024.12.30" |
| helm.releases.inbox-ui.version | | "v2026.1.15" |
diff --git a/charts/opscenter-features/templates/featuresets/ocm-hub/kubeslice.yaml b/charts/opscenter-features/templates/featuresets/ocm-hub/kubeslice.yaml
new file mode 100644
index 000000000..8dc711ac5
--- /dev/null
+++ b/charts/opscenter-features/templates/featuresets/ocm-hub/kubeslice.yaml
@@ -0,0 +1,58 @@
+{{ $defaults := printf `
+ocm:
+ enabled: true
+ placement:
+ create: false
+ name: global
+`
+ | fromYaml }}
+
+{{ $vals := dig "kubeslice" "values" (dict) .Values.helm.releases }}
+{{ $vals = mergeOverwrite $defaults $vals }}
+
+apiVersion: ui.k8s.appscode.com/v1alpha1
+kind: Feature
+metadata:
+ name: kubeslice
+ labels:
+ app.kubernetes.io/part-of: ocm-hub
+spec:
+ title: Kubeslice Controller
+ description: |
+ Deploy Kubeslice Controller
+ icons:
+ - src: https://cdn.appscode.com/k8s/icons/menu/cluster.svg
+ type: image/svg+xml
+ featureSet: ocm-hub
+ featureBlock: cluster-manager-hub
+ recommended: false
+ requirements:
+ features:
+ - cluster-manager-hub
+ - cluster-profile-manager
+ readinessChecks:
+ workloads:
+ - group: apps
+ version: v1
+ kind: Deployment
+ selector:
+ app.kubernetes.io/instance: kubeslice
+ app.kubernetes.io/name: kubeslice
+ chart:
+ name: kubeslice-controller
+ namespace: open-cluster-management-addon
+ createNamespace: {{ $.Values.helm.createNamespace }}
+ version: {{ dig "kubeslice" "version" "" $.Values.helm.releases }}
+ sourceRef:
+ kind: HelmRepository
+ name: appscode-charts-oci
+ namespace: {{ .Release.Namespace }}
+ valuesFrom:
+ {{- if eq (include "clustermanager.openshift" $) "true" }}
+ - kind: ConfigMap
+ name: ace-openshift-scc
+ valuesKey: kubeslice.yaml
+ {{- end }}
+{{- with $vals }}
+ {{- dict "values" . | toYaml | nindent 2 }}
+{{- end }}
diff --git a/charts/opscenter-features/templates/featuresets/ocm-hub/spoke-cluster-addons.yaml b/charts/opscenter-features/templates/featuresets/ocm-hub/spoke-cluster-addons.yaml
new file mode 100644
index 000000000..1e1d0ae9a
--- /dev/null
+++ b/charts/opscenter-features/templates/featuresets/ocm-hub/spoke-cluster-addons.yaml
@@ -0,0 +1,48 @@
+{{ $defaults := printf `
+kubectl:
+ image: %s
+`
+ (include "kubectl.image" $)
+ | fromYaml }}
+
+{{ $vals := dig "spoke-cluster-addons" "values" (dict) .Values.helm.releases }}
+{{ $vals = mergeOverwrite $defaults $vals }}
+
+apiVersion: ui.k8s.appscode.com/v1alpha1
+kind: Feature
+metadata:
+ name: spoke-cluster-addons
+ labels:
+ app.kubernetes.io/part-of: ocm-hub
+spec:
+ title: Spoke Addons
+ description: |
+ Deploy Spoke Addons
+ icons:
+ - src: https://cdn.appscode.com/k8s/icons/menu/cluster.svg
+ type: image/svg+xml
+ featureSet: ocm-hub
+ featureBlock: cluster-manager-hub
+ recommended: true
+ requirements:
+ features:
+ - cluster-manager-hub
+ - cluster-profile-manager
+ chart:
+ name: spoke-cluster-addons
+ namespace: open-cluster-management-addon
+ createNamespace: {{ $.Values.helm.createNamespace }}
+ version: {{ dig "spoke-cluster-addons" "version" "" $.Values.helm.releases }}
+ sourceRef:
+ kind: HelmRepository
+ name: appscode-charts-oci
+ namespace: {{ .Release.Namespace }}
+ valuesFrom:
+ {{- if eq (include "clustermanager.openshift" $) "true" }}
+ - kind: ConfigMap
+ name: ace-openshift-scc
+ valuesKey: spoke-cluster-addons.yaml
+ {{- end }}
+{{- with $vals }}
+ {{- dict "values" . | toYaml | nindent 2 }}
+{{- end }}
diff --git a/charts/opscenter-features/values.yaml b/charts/opscenter-features/values.yaml
index 55c869844..efb6ea250 100644
--- a/charts/opscenter-features/values.yaml
+++ b/charts/opscenter-features/values.yaml
@@ -233,8 +233,12 @@ helm:
version: "v2024.8.9"
fluxcd-manager:
version: "v2025.7.31"
+ kubeslice:
+ version: "v2025.8.31"
license-proxyserver-manager:
version: "v2025.5.16"
+ spoke-cluster-addons:
+ version: "v2024.8.31"
inbox-server:
version: "v2025.2.28"
inbox-agent:
diff --git a/features.md b/features.md
index 7b2a617f4..5bf6d7189 100644
--- a/features.md
+++ b/features.md
@@ -19,9 +19,13 @@ graph TD;
fluxcd-manager-->cluster-profile-manager;
hub-cluster-robot-->cluster-manager-hub;
hub-cluster-robot-->cluster-auth-manager;
+ kubeslice-->cluster-manager-hub;
+ kubeslice-->cluster-profile-manager;
license-proxyserver-manager-->cluster-manager-hub;
license-proxyserver-manager-->cluster-profile-manager;
managed-serviceaccount-manager-->cluster-manager-hub;
+ spoke-cluster-addons-->cluster-manager-hub;
+ spoke-cluster-addons-->cluster-profile-manager;
mc-auth-manager-->multicluster-controlplane;
mc-auth-manager-->mc-profile-manager;
mc-auth-manager-->mc-serviceaccount-manager;