Add m-data
diff --git a/charts/manila/templates/bin/_bootstrap.sh.tpl b/charts/manila/templates/bin/_bootstrap.sh.tpl
index 5e4b78e..df2bbbc 100644
--- a/charts/manila/templates/bin/_bootstrap.sh.tpl
+++ b/charts/manila/templates/bin/_bootstrap.sh.tpl
@@ -35,6 +35,21 @@
   {{- end -}}; }
 {{ end }}
 
+{{ range .Values.bootstrap.structured.flavors }}
+openstack flavor show {{ .name  | quote }} || \
+  openstack flavor create {{ .name | quote }} \
+  {{ if .id -}} --id {{ .id }} {{ end -}} \
+  --ram {{ .ram }} \
+  --vcpus {{ .vcpus }} \
+  --disk {{ .disk }} \
+  --ephemeral {{ .ephemeral }} \
+  {{ if .public -}}
+  --public
+  {{- else -}}
+  --private
+  {{- end -}}; }
+{{ end }}
+
 openstack share type show default || \
   openstack share type create default true \
   --public true --description "default generic share type"
diff --git a/charts/manila/templates/bin/_manila-data.sh.tpl b/charts/manila/templates/bin/_manila-data.sh.tpl
new file mode 100644
index 0000000..f8a94d1
--- /dev/null
+++ b/charts/manila/templates/bin/_manila-data.sh.tpl
@@ -0,0 +1,19 @@
+#!/bin/bash

+

+{{/*

+Licensed 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 -ex

+exec manila-data \

+     --config-file /etc/manila/manila.conf

diff --git a/charts/manila/templates/bin/_manila-scheduler.sh.tpl b/charts/manila/templates/bin/_manila-scheduler.sh.tpl
index 7a3c180..7a6835a 100644
--- a/charts/manila/templates/bin/_manila-scheduler.sh.tpl
+++ b/charts/manila/templates/bin/_manila-scheduler.sh.tpl
@@ -16,4 +16,4 @@
 

 set -ex

 exec manila-scheduler \

-      --config-file /etc/manila/manila.conf

+     --config-file /etc/manila/manila.conf

diff --git a/charts/manila/templates/deployment-data.yaml b/charts/manila/templates/deployment-data.yaml
new file mode 100644
index 0000000..21db299
--- /dev/null
+++ b/charts/manila/templates/deployment-data.yaml
@@ -0,0 +1,121 @@
+{{/*
+Licensed 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.
+*/}}
+
+{{- if .Values.manifests.deployment_data }}
+{{- $envAll := . }}
+
+{{- $mounts_manila_data := .Values.pod.mounts.manila_data.manila_data }}
+{{- $mounts_manila_data_init := .Values.pod.mounts.manila_data.init_container }}
+
+{{- $serviceAccountName := "manila-data" }}
+{{ tuple $envAll "data" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: manila-data
+  annotations:
+    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
+  labels:
+{{ tuple $envAll "manila" "data" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
+spec:
+  replicas: {{ .Values.pod.replicas.data }}
+  selector:
+    matchLabels:
+{{ tuple $envAll "manila" "data" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
+{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
+  template:
+    metadata:
+      labels:
+{{ tuple $envAll "manila" "data" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
+      annotations:
+{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
+        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
+        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
+{{ dict "envAll" $envAll "podName" "manila-data" "containerNames" (list "init" "manila-data") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 8 }}
+    spec:
+{{ dict "envAll" $envAll "application" "manila" | include "helm-toolkit.snippets.kubernetes_pod_security_context" | indent 6 }}
+      serviceAccountName: {{ $serviceAccountName }}
+      affinity:
+{{ tuple $envAll "manila" "data" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
+      nodeSelector:
+        {{ .Values.labels.data.node_selector_key }}: {{ .Values.labels.data.node_selector_value }}
+{{ if $envAll.Values.pod.tolerations.manila.enabled }}
+{{ tuple $envAll "manila" | include "helm-toolkit.snippets.kubernetes_tolerations" | indent 6 }}
+{{ end }}
+      initContainers:
+{{ tuple $envAll "data" $mounts_manila_data_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
+      containers:
+        - name: manila-data
+{{ tuple $envAll "manila_data" | include "helm-toolkit.snippets.image" | indent 10 }}
+{{ tuple $envAll $envAll.Values.pod.resources.data | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+{{ dict "envAll" $envAll "application" "manila" "container" "manila_data" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
+          command:
+            - /tmp/manila-data.sh
+          env:
+{{- if or .Values.manifests.certificates .Values.tls.identity }}
+            - name: REQUESTS_CA_BUNDLE
+              value: "/etc/manila/certs/ca.crt"
+{{- end }}
+          volumeMounts:
+            - name: pod-tmp
+              mountPath: /tmp
+            - name: etcmanila
+              mountPath: /etc/manila
+            - name: state-tmp
+              mountPath: /var/lib/manila
+            - name: manila-etc
+              mountPath: /etc/manila/manila.conf
+              subPath: manila.conf
+              readOnly: true
+            {{- if .Values.conf.manila.DEFAULT.log_config_append }}
+            - name: manila-etc
+              mountPath: {{ .Values.conf.manila.DEFAULT.log_config_append }}
+              subPath: {{ base .Values.conf.manila.DEFAULT.log_config_append }}
+              readOnly: true
+            {{- end }}
+            - name: manila-etc
+              mountPath: /etc/manila/policy.yaml
+              subPath: policy.yaml
+              readOnly: true
+            - name: manila-bin
+              mountPath: /tmp/manila-data.sh
+              subPath: manila-data.sh
+              readOnly: true
+{{- dict "enabled" .Values.manifests.certificates "name" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal "path" "/etc/mysql/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
+{{- dict "enabled" (or .Values.manifests.certificates .Values.tls.identity) "name" .Values.secrets.tls.share.api.internal "path" "/etc/manila/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
+{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal "path" "/etc/rabbitmq/certs" | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
+
+{{ if $mounts_manila_data.volumeMounts }}{{ toYaml $mounts_manila_data.volumeMounts | indent 12 }}{{ end }}
+      volumes:
+        - name: pod-tmp
+          emptyDir: {}
+        - name: state-tmp
+          emptyDir: {}
+        - name: etcmanila
+          emptyDir: {}
+        - name: manila-etc
+          secret:
+            secretName: manila-etc
+            defaultMode: 0444
+        - name: manila-bin
+          configMap:
+            name: manila-bin
+            defaultMode: 0555
+{{- dict "enabled" .Values.manifests.certificates "name" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
+{{- dict "enabled" (or .Values.manifests.certificates .Values.tls.identity) "name" .Values.secrets.tls.share.api.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
+{{- dict "enabled" $envAll.Values.manifests.certificates "name" $envAll.Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
+
+{{ if $mounts_manila_data.volumes }}{{ toYaml $mounts_manila_data.volumes | indent 8 }}{{ end }}
+{{- end }}
diff --git a/charts/manila/values.yaml b/charts/manila/values.yaml
index 331bccf..27605f8 100644
--- a/charts/manila/values.yaml
+++ b/charts/manila/values.yaml
@@ -20,6 +20,9 @@
   api:
     node_selector_key: openstack-control-plane
     node_selector_value: enabled
+  data:
+    node_selector_key: openstack-control-plane
+    node_selector_value: enabled
   scheduler:
     node_selector_key: openstack-control-plane
     node_selector_value: enabled
@@ -50,6 +53,7 @@
     ks_service: docker.io/openstackhelm/heat:wallaby-ubuntu_focal
     ks_endpoints: docker.io/openstackhelm/heat:wallaby-ubuntu_focal
     manila_api: docker.io/openstackhelm/manila:wallaby-ubuntu_focal
+    manila_data: docker.io/openstackhelm/manila:wallaby-ubuntu_focal
     manila_scheduler: docker.io/openstackhelm/manila:wallaby-ubuntu_focal
     manila_share: docker.io/openstackhelm/manila:wallaby-ubuntu_focal
     rabbit_init: docker.io/rabbitmq:3.7-management
@@ -70,6 +74,9 @@
         manila_api:
           allowPrivilegeEscalation: false
           readOnlyRootFilesystem: true
+        manila_data:
+          allowPrivilegeEscalation: false
+          readOnlyRootFilesystem: true
         manila_scheduler:
           allowPrivilegeEscalation: false
           readOnlyRootFilesystem: true
@@ -109,6 +116,11 @@
       manila_scheduler:
         volumeMounts:
         volumes:
+    manila_data:
+      init_container: null
+      manila_data:
+        volumeMounts:
+        volumes:
     manila_share:
       init_container: null
       manila_share:
@@ -130,6 +142,7 @@
         volumes:
   replicas:
     api: 1
+    data: 1
     scheduler: 1
     share: 1
   lifecycle:
@@ -156,6 +169,13 @@
       limits:
         memory: "1024Mi"
         cpu: "2000m"
+    data:
+      requests:
+        memory: "128Mi"
+        cpu: "100m"
+      limits:
+        memory: "1024Mi"
+        cpu: "2000m"
     scheduler:
       requests:
         memory: "128Mi"
@@ -268,6 +288,15 @@
   ks_user: admin
   script: null
   structured:
+    flavors:
+      manila-service-flavor:
+        id: 100
+        name: "manila-service-flavor"
+        ram: 512
+        vcpus: 1
+        disk: 5
+        ephemeral: 0
+        public: true
     images:
       manila-service-image:
         id: null
@@ -301,6 +330,12 @@
           service: identity
         - endpoint: internal
           service: oslo_messaging
+    data:
+      jobs:
+        - manila-db-sync
+        - manila-ks-user
+        - manila-ks-endpoints
+        - manila-rabbit-init
     scheduler:
       jobs:
         - manila-db-sync
@@ -693,8 +728,8 @@
       share_backend_name: GENERIC
       share_driver: manila.share.drivers.generic.GenericShareDriver
       driver_handles_share_servers: true
-      # m1.small
-      service_instance_flavor_id: 2
+      # manila-service-flavor
+      service_instance_flavor_id: 100
       service_image_name: manila-service-image
       service_instance_user: manila
       service_instance_password: manila
@@ -1016,6 +1051,7 @@
   configmap_etc: true
   deployment_api: true
   deployment_scheduler: true
+  deployment_data: true
   deployment_share: true
   ingress_api: true
   job_bootstrap: true