diff --git a/charts/etcd/Chart.yaml b/charts/etcd/Chart.yaml
index 138b31e175f0e90180106373759012c727fcf5bb..0e86a3123965db5a5590cff65b959673b90a8495 100644
--- a/charts/etcd/Chart.yaml
+++ b/charts/etcd/Chart.yaml
@@ -6,7 +6,14 @@ type: application
 
 maintainers:
   - name: groundhog2k
+    url: https://github.com/groundhog2k/helm-charts
 
-version: "0.1.11"
+keywords:
+  - database
+  - etcd
+
+icon: https://etcd.io/etcd-horizontal-white.png
+
+version: "1.0.0"
 
 appVersion: "v3.5.13"
diff --git a/charts/etcd/README.md b/charts/etcd/README.md
index 523eceb7c576df971d76c64a60570828d5c7f09e..038f131b675d49c8fbf5001c6f8ef578dcaf59db 100644
--- a/charts/etcd/README.md
+++ b/charts/etcd/README.md
@@ -1,6 +1,6 @@
 # Etcd
 
-![Version: 0.1.11](https://img.shields.io/badge/Version-0.1.11-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.5.13](https://img.shields.io/badge/AppVersion-v3.5.13-informational?style=flat-square)
+![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.5.13](https://img.shields.io/badge/AppVersion-v3.5.13-informational?style=flat-square)
 
 ## Changelog
 
@@ -144,6 +144,10 @@ The policyTypes will be automatically set
 | storage.className | string | `nil` | Storage class name |
 | storage.annotations | object | `{}` | Additional storage annotations |
 | storage.labels | object | `{}` | Additional storage labels |
+| extraStorage | list | `[]` | A list of additional existing PVC that will be mounted into the container |
+| extraStorage[].name | string | `nil` | Internal name of the volume |
+| extraStorage[].pvcName | string | `nil` | Name of the existing PVC |
+| extraStorage[].mountPath | string | `nil` | Mount path where the PVC should be mounted into the container |
 
 ## Etcd settings
 
@@ -154,11 +158,16 @@ The policyTypes will be automatically set
 | settings.https.autoTls | bool | `false` | Automatic TLS mode of etcd (TLS certs. created automaically) |
 | settings.shutdownDelay | int | `3` | Delay after termination request to give etcd process time for graceful shutdown |
   
-## Etcd secrets configuration
+## Etcd secrets and configuration
 
 | Key | Type | Default | Description |
 |-----|------|---------|-------------|
 | extraSecrets | list | `[]` | A list of additional existing secrets that will be mounted into the container |
 | extraSecrets[].name | string | `nil` | Name of the existing K8s secret |
+| extraSecrets[].defaultMode | int | `0440` | Mount default access mode |
 | extraSecrets[].mountPath | string | `nil` | Mount path where the secret should be mounted into the container (f.e. /mysecretfolder) |
+| extraConfigs | list | `[]` | A list of additional existing configMaps that will be mounted into the container |
+| extraConfigs[].name | string | `nil` | Name of the existing K8s configMap |
+| extraConfigs[].defaultMode | int | `0440` | Mount default access mode |
+| extraConfigs[].mountPath | string | `nil` | Mount path where the configMap should be mounted into the container (f.e. /myconfigfolder) |
 | extraEnvSecrets | list | `[]` | A list of existing secrets that will be mounted into the container as environment variables |
diff --git a/charts/etcd/RELEASENOTES.md b/charts/etcd/RELEASENOTES.md
index 281dce70b9cf3454d5cb2772968f3c008279bce6..f9486439d1b176273a10c4d3c0d886d3db5fdf18 100644
--- a/charts/etcd/RELEASENOTES.md
+++ b/charts/etcd/RELEASENOTES.md
@@ -14,4 +14,5 @@
 | 0.1.9 | v3.5.12 | Upgraded etcd to v3.5.12 |
 | 0.1.10 | v3.5.13 | Upgraded etcd to v3.5.13 |
 | 0.1.11 | v3.5.13 | Fixed build pipeline issue |
+| 1.0.0 | v3.5.13 | Final version with configuration secret, extra config and extra volume support |
 | | | |
diff --git a/charts/etcd/templates/statefulset.yaml b/charts/etcd/templates/statefulset.yaml
index 1fb1f9cb91bc2208d76de6d1cd00e513209bd14c..daeaf977330507678f9034a2fafe295650e90472 100644
--- a/charts/etcd/templates/statefulset.yaml
+++ b/charts/etcd/templates/statefulset.yaml
@@ -188,6 +188,14 @@ spec:
             - name: {{ $secret.name }}
               mountPath: {{ $secret.mountPath }}
             {{- end }}
+            {{- range $config := .Values.extraConfigs }}
+            - name: {{ $config.name }}
+              mountPath: {{ $config.mountPath }}
+            {{- end }}
+            {{- range $storage := .Values.extraStorage }}
+            - name: {{ $storage.name }}
+              mountPath: {{ $storage.mountPath }}
+            {{- end }}
       {{- with .Values.extraContainers }}
       {{- toYaml . | nindent 8 }}
       {{- end }} 
@@ -214,7 +222,18 @@ spec:
         - name: {{ $secret.name }}
           secret:
             secretName: {{ $secret.name }}
-            defaultMode: 0440
+            defaultMode: {{ $secret.defaultMode | default 0440 }}
+        {{- end }}
+        {{- range $config := .Values.extraConfigs }}
+        - name: {{ $config.name }}
+          configMap:
+            name: {{ $config.name }}
+            defaultMode: {{ $config.defaultMode | default 0440 }}
+        {{- end }}
+        {{- range $storage := .Values.extraStorage }}
+        - name: {{ $storage.name }}
+          persistentVolumeClaim:
+            claimName: {{ $storage.pvcName }}
         {{- end }}
 {{- with .Values.storage }}
   {{- if not $createPvc }}
@@ -249,4 +268,4 @@ spec:
           requests:
             storage: {{ .requestedSize }}
   {{- end }}
-{{- end }}
\ No newline at end of file
+{{- end }}
diff --git a/charts/etcd/values.yaml b/charts/etcd/values.yaml
index d8a38749864bed9bc48e2f03781de61f6a83c512..94a18a09190eecb81bc890156eb516a5c868eb68 100644
--- a/charts/etcd/values.yaml
+++ b/charts/etcd/values.yaml
@@ -188,14 +188,25 @@ args: []
 ## A list of existing secrets that will be mounted into the container as environment variables
 extraEnvSecrets: []
 
-## A list of additional existing secrets that will be mounted into the etcd container
-## The mounted files of the secrets can be used for custom configuration options (see https.enabled)
+## A list of additional existing secrets that will be mounted into the container
+## The mounted files of the secrets can be used for advanced configuration (see settings.https.enabled)
 extraSecrets: []
     ## Name of the existing K8s secret
 #  - name:
+    ## Mount default mode (0440 if parameter is omitted)
+#    defaultMode: 0440
     ## Mount path where the secret should be mounted into the container (f.e. /mysecretfolder)
 #    mountPath:
 
+## A list of additional existing configMaps that will be mounted into the container
+extraConfigs: []
+    ## Name of the existing K8s configMap
+#  - name:
+    ## Mount default mode (0440 if parameter is omitted)
+#    defaultMode: 0440
+    ## Mount path where the configMap should be mounted into the container (f.e. /mysecretfolder)
+#    mountPath:
+
 ## Default Kubernetes cluster domain
 clusterDomain: cluster.local
 
@@ -239,6 +250,15 @@ storage:
   ## Additional storage labels
   labels: {}
 
+## Mount existing extra PVC
+extraStorage: {}
+    ## Internal volume name
+#  - name:
+    ## Container mount path
+#    mountPath:
+    ## Name of existing PVC
+#    pvcName:
+
 ## Network policies
 networkPolicy: {}
   ## Ingress and Egress policies