You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/10/12 12:10:56 UTC

[4/6] syncope git commit: Review and reflow the Kubernets sample

Review and reflow the Kubernets sample


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/dd38d672
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/dd38d672
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/dd38d672

Branch: refs/heads/2_0_X
Commit: dd38d672dec2afd976a70d500df455953223169d
Parents: 0f74c3a
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Oct 12 14:01:18 2018 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Oct 12 14:09:25 2018 +0200

----------------------------------------------------------------------
 docker/src/main/resources/k8s/helm/README.adoc  |  25 ----
 .../main/resources/k8s/helm/postgres/Chart.yaml |  30 ----
 .../helm/postgres/templates/db-deployment.yaml  | 141 -------------------
 .../resources/k8s/helm/postgres/values.yaml     |  47 -------
 .../main/resources/k8s/helm/syncope/Chart.yaml  |  29 ----
 .../templates/syncope-console-deployment.yaml   |  51 -------
 .../syncope/templates/syncope-deployment.yaml   |  67 ---------
 .../templates/syncope-enduser-deployment.yaml   |  51 -------
 .../main/resources/k8s/helm/syncope/values.yaml |  56 --------
 .../resources/kubernetes/postgres/Chart.yaml    |  30 ++++
 .../postgres/templates/db-deployment.yaml       | 141 +++++++++++++++++++
 .../resources/kubernetes/postgres/values.yaml   |  47 +++++++
 .../resources/kubernetes/syncope/Chart.yaml     |  29 ++++
 .../templates/syncope-console-deployment.yaml   |  51 +++++++
 .../syncope/templates/syncope-deployment.yaml   |  67 +++++++++
 .../templates/syncope-enduser-deployment.yaml   |  51 +++++++
 .../resources/kubernetes/syncope/values.yaml    |  56 ++++++++
 src/main/asciidoc/getting-started/obtain.adoc   |  64 ++++++---
 18 files changed, 515 insertions(+), 518 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/README.adoc
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/README.adoc b/docker/src/main/resources/k8s/helm/README.adoc
deleted file mode 100644
index cac74c8..0000000
--- a/docker/src/main/resources/k8s/helm/README.adoc
+++ /dev/null
@@ -1,25 +0,0 @@
-= Install Commands
-
-Open a terminal and navigate to the "helm" folder.  
-
-[WARNING]
-Do not forget to set your `values.yaml`!
-
-.Install postgres
-[source,bash]
-----
-helm install postgres --name postgres --namespace <YOUR_NAMESPACE> -f postgres/values.yaml
-----
-
-Let Postgres initialize (about 20-30 seconds).  You can watch logs to confirm
-
-.Install syncope
-[source,bash]
-----
-helm install syncope --name syncope --namespace <YOUR_NAMESPACE> -f syncope/values.yaml
-----
-=== Todo
-Still more to do:
-
-* Have some value parameters that are not plumbed in (e.g. resources)
-* Need to put in liveness and readyness checks
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/postgres/Chart.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/postgres/Chart.yaml b/docker/src/main/resources/k8s/helm/postgres/Chart.yaml
deleted file mode 100644
index a7c8b8f..0000000
--- a/docker/src/main/resources/k8s/helm/postgres/Chart.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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.
-apiVersion: v1
-name: basic
-description: Deploys Postgres For Syncope
-version: 1
-appVersion: 2.0
-keywords:
-- postgresql
-- postgres
-- database
-- sql
-home: https://syncope.apache.org/
-icon: https://syncope.apache.org/images/apache-syncope-logo-medium.png
-sources:
-- https://github.com/apache/syncope

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/postgres/templates/db-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/postgres/templates/db-deployment.yaml b/docker/src/main/resources/k8s/helm/postgres/templates/db-deployment.yaml
deleted file mode 100644
index 55f8755..0000000
--- a/docker/src/main/resources/k8s/helm/postgres/templates/db-deployment.yaml
+++ /dev/null
@@ -1,141 +0,0 @@
-# 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.
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: postgres-environment-config
-data:
- PG_DATABASE: "{{.Values.databaseEnvironment.pgDatabase}}"
- PG_MODE: "{{.Values.databaseEnvironment.pgMode}}"
- PG_PASSWORD: "{{.Values.databaseEnvironment.pgPassword}}"
- PG_PRIMARY_HOST: "{{.Values.databaseEnvironment.pgPrimaryHost}}"
- PG_PRIMARY_PASSWORD: "{{.Values.databaseEnvironment.pgPrimaryPassword}}"
- PG_PRIMARY_PORT: "{{.Values.databaseEnvironment.pgPrimaryPort}}"
- PG_PRIMARY_USER: "{{.Values.databaseEnvironment.pgPrimaryUser}}"
- PG_ROOT_PASSWORD: "{{.Values.databaseEnvironment.pgRootPassword}}"
- PG_USER: "{{.Values.databaseEnvironment.pgUser}}"
- PGDATA_PATH_OVERRIDE: "{{.Values.databaseEnvironment.pgdataPathOverride}}"
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: {{.Values.pv.name}}
-spec:
-  storageClassName: ""
-  capacity:
-    storage: {{.Values.pv.storage}}
-  accessModes:
-    - {{.Values.pv.mode}}
-  hostPath:
-    path: "{{.Values.pv.path}}"
-  persistentVolumeReclaimPolicy: Retain
-#  gcePersistentDisk:
-#    pdName: postgres-data
-#    fsType: ext4
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: {{.Values.pvc.name}}
-spec:
-  accessModes:
-    - {{.Values.pv.mode}}
-  resources:
-    requests:
-      storage: {{.Values.pv.storage}}
----
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: "{{.Values.databaseConfig.name}}"
-  labels:
-    name: "{{.Values.databaseConfig.name}}"
-    heritage: {{.Release.Service | quote }}
-    release: {{.Release.Name | quote }}
-    chart: "{{.Chart.Name}}-{{.Chart.Version}}"
-  annotations:
-    "helm.sh/created": {{.Release.Time.Seconds | quote }}
-spec:
-  replicas: 1
-  strategy: {}
-  template:
-    metadata:
-      creationTimestamp: null
-      labels:
-        name: "{{.Values.databaseConfig.name}}"
-    spec:
-      securityContext:
-        fsGroup: 1000
-      containers:
-      - image: "{{.Values.databaseConfig.repository}}/{{.Values.databaseConfig.container}}:{{.Values.databaseConfig.tag}}"
-        name: {{.Values.databaseConfig.name}}
-#TODO: Need to impliment the readiness probe
-#        readinessProbe:
-#          exec:
-#            command:
-#            - "/opt/cpm/bin/readiness.sh"
-#          initialDelaySeconds: 10
-#          timeoutSeconds: 1
-#        livenessProbe:
-#          exec:
-#            command:
-#            - "/opt/cpm/bin/liveness.sh"
-#          initialDelaySeconds: 120
-#          timeoutSeconds: 1
-        envFrom:
-        - configMapRef:
-           name: postgres-environment-config
-        volumeMounts:
-          - mountPath: {{.Values.pv.path}}
-            name: {{.Values.pv.name}}
-        ports:
-          - containerPort: {{.Values.databaseConfig.port}}
-            protocol: TCP
-        resources:
-          requests:
-            cpu: {{ .Values.databaseConfig.cpu }}
-            memory: {{ .Values.databaseConfig.memory }}
-      volumes:
-        - name: {{.Values.pv.name}}
-          persistentVolumeClaim:
-            claimName: {{.Values.pvc.name}}
-            readOnly: false
-      restartPolicy: Always
-status: {}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: "{{.Values.databaseConfig.name}}"
-  labels:
-    name: "{{.Values.databaseConfig.name}}"
-    heritage: {{ .Release.Service | quote }}
-    release: {{ .Release.Name | quote }}
-    chart: "{{.Chart.Name}}-{{.Chart.Version}}"
-spec:
-  type: "{{.Values.serviceType}}"
-  ports:
-  - protocol: TCP
-    port: {{.Values.databaseConfig.port}}
-    targetPort: {{.Values.databaseConfig.port}}
-    nodePort: 0
-    name: "{{.Values.databaseConfig.name}}"
-  selector:
-    name: "{{.Values.databaseConfig.name}}"
-  sessionAffinity: None
-status:
-  loadBalancer: {}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/postgres/values.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/postgres/values.yaml b/docker/src/main/resources/k8s/helm/postgres/values.yaml
deleted file mode 100644
index 51a60b3..0000000
--- a/docker/src/main/resources/k8s/helm/postgres/values.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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.
-### Environment Variables that will be pumped into postgres
-databaseEnvironment:
-  pgDatabase: syncope
-  pgMode: primary
-  pgPassword: <YOURPASSWORD>
-  pgPrimaryHost: localhost
-  pgPrimaryPassword: <YOURPASSWORD>
-  pgPrimaryPort: 5432
-  pgPrimaryUser: postgres
-  pgRootPassword: <YOURPASSWORD>
-  pgUser: syncope
-  pgdataPathOverride: postgres-data
-### Database container information
-databaseConfig:
-  port: 5432
-  name: postgres
-  serviceType: ClusterIP
-  repository: crunchydata
-  container: crunchy-postgres
-  tag: centos7-10.3-1.8.2
-  cpu: 200m
-  memory: 512Mi
-### Persistent Volume Config
-pv:
-  storage: 20Gi
-  name: primary-pv
-  mode: ReadWriteOnce
-  path: /pgdata
-### The PVC that will be used by postgres
-pvc:
-  name: postgres-readwriteonce-pvc
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/syncope/Chart.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/syncope/Chart.yaml b/docker/src/main/resources/k8s/helm/syncope/Chart.yaml
deleted file mode 100644
index 7f697a2..0000000
--- a/docker/src/main/resources/k8s/helm/syncope/Chart.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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.
-apiVersion: v1
-name: basic
-description: Deploys Syncope
-version: 1
-appVersion: 2.0
-keywords:
-- syncope
-- syncope-enduser
-- syncope-console
-home: https://syncope.apache.org/
-icon: https://syncope.apache.org/images/apache-syncope-logo-medium.png
-sources:
-- https://github.com/apache/syncope

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/syncope/templates/syncope-console-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/syncope/templates/syncope-console-deployment.yaml b/docker/src/main/resources/k8s/helm/syncope/templates/syncope-console-deployment.yaml
deleted file mode 100644
index 2daf9f2..0000000
--- a/docker/src/main/resources/k8s/helm/syncope/templates/syncope-console-deployment.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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.
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{.Values.syncopeConsoleConfig.name}}
-spec:
-  replicas: 1
-  strategy: {}
-  template:
-    metadata:
-      labels:
-        name: {{.Values.syncopeConsoleConfig.name}}
-    spec:
-      containers:
-      - name: {{.Values.syncopeConsoleConfig.name}}
-        envFrom:
-        - configMapRef:
-           name: syncope-environment-config
-        image: "{{.Values.syncopeConsoleConfig.repository}}/{{.Values.syncopeConsoleConfig.container}}:{{.Values.syncopeConsoleConfig.tag}}"
-        ports:
-        - containerPort: {{.Values.syncopeConsoleConfig.containerPort}}
-        resources: {}
-      restartPolicy: Always
-status: {}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: "{{.Values.syncopeConsoleConfig.name}}"
-spec:
-  type: "{{.Values.syncopeConsoleConfig.serviceType}}"
-  selector:
-    name: "{{.Values.syncopeConsoleConfig.name}}"
-  ports:
-  - port: {{.Values.syncopeConsoleConfig.containerPort}}
-    name: http-api

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/syncope/templates/syncope-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/syncope/templates/syncope-deployment.yaml b/docker/src/main/resources/k8s/helm/syncope/templates/syncope-deployment.yaml
deleted file mode 100644
index ecbf13f..0000000
--- a/docker/src/main/resources/k8s/helm/syncope/templates/syncope-deployment.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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.
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: syncope-environment-config
-data:
- DBMS: postgresql
- DB_URL: {{.Values.syncopeEnvironment.dbUrl}}
- DB_USER: {{.Values.syncopeEnvironment.dbUser}}
- DB_PASSWORD: {{.Values.syncopeEnvironment.userCreds}}
- DB_POOL_MAX: "{{.Values.syncopeEnvironment.dbPoolMax}}"
- DB_POOL_MIN: "{{.Values.syncopeEnvironment.dbPoolMin}}"
- OPENJPA_REMOTE_COMMIT: sjvm
- CORE_SCHEME: "{{.Values.syncopeEnvironment.coreScheme}}"
- CORE_HOST: "{{.Values.syncopeEnvironment.coreHost}}"
- CORE_PORT: "{{.Values.syncopeEnvironment.corePort}}"
----
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{.Values.syncopeConfig.name}}
-spec:
-  replicas: 1
-  strategy: {}
-  template:
-    metadata:
-      labels:
-        name: {{.Values.syncopeConfig.name}}
-    spec:
-      containers:
-      - name: {{.Values.syncopeConfig.name}}
-        envFrom:
-        - configMapRef:
-           name: syncope-environment-config
-        image: "{{.Values.syncopeConfig.repository}}/{{.Values.syncopeConfig.container}}:{{.Values.syncopeConfig.tag}}"
-        ports:
-        - containerPort: {{.Values.syncopeConfig.containerPort}}
-        resources: {}
-      restartPolicy: Always
-status: {}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: "{{.Values.syncopeConfig.name}}"
-spec:
-  type: "{{.Values.syncopeConfig.serviceType}}"
-  selector:
-    name: "{{.Values.syncopeConfig.name}}"
-  ports:
-  - port: {{.Values.syncopeConfig.containerPort}}
-    name: http-api

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/syncope/templates/syncope-enduser-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/syncope/templates/syncope-enduser-deployment.yaml b/docker/src/main/resources/k8s/helm/syncope/templates/syncope-enduser-deployment.yaml
deleted file mode 100644
index 2a28cfc..0000000
--- a/docker/src/main/resources/k8s/helm/syncope/templates/syncope-enduser-deployment.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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.
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{.Values.syncopeEndUserConfig.name}}
-spec:
-  replicas: 1
-  strategy: {}
-  template:
-    metadata:
-      labels:
-        name: {{.Values.syncopeEndUserConfig.name}}
-    spec:
-      containers:
-      - name: {{.Values.syncopeEndUserConfig.name}}
-        envFrom:
-        - configMapRef:
-           name: syncope-environment-config
-        image: "{{.Values.syncopeEndUserConfig.repository}}/{{.Values.syncopeEndUserConfig.container}}:{{.Values.syncopeEndUserConfig.tag}}"
-        ports:
-        - containerPort: {{.Values.syncopeEndUserConfig.containerPort}}
-        resources: {}
-      restartPolicy: Always
-status: {}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: "{{.Values.syncopeEndUserConfig.name}}"
-spec:
-  type: "{{.Values.syncopeEndUserConfig.serviceType}}"
-  selector:
-    name: "{{.Values.syncopeEndUserConfig.name}}"
-  ports:
-  - port: {{.Values.syncopeEndUserConfig.containerPort}}
-    name: http-api

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/k8s/helm/syncope/values.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/k8s/helm/syncope/values.yaml b/docker/src/main/resources/k8s/helm/syncope/values.yaml
deleted file mode 100644
index 54e9129..0000000
--- a/docker/src/main/resources/k8s/helm/syncope/values.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# 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.
-### Environment Variables that will be set on all 3 syncope docker containers (core, console, enduser)
-syncopeEnvironment:
-  dbUrl: jdbc:postgresql://postgres:5432/syncope
-  dbUser: syncope
-  dbPoolMax: 10
-  dbPoolMin: 2
-  coreScheme: http # valid values are http and https
-  coreHost: syncope # Host that syncope will use to connect to core.  Needs to match .Values.syncopeConfig.name
-  corePort: 8080
-  userCreds: <YOURPASSWORD> # Needs to match the databaseEnvironment.pgPassword that was provided to the database
-### Config Params for the syncope container (A.K.A. Core)
-syncopeConfig:
-  name: syncope
-  replicas: 1
-  repository: apache
-  container: syncope
-  tag: 2.1.0
-  containerPort: 8080
-  memoryLimit: 512Mi
-  serviceType: ClusterIP
-### Config Params for the syncope-console containers
-syncopeConsoleConfig:
-  name: syncope-console
-  replicas: 1
-  repository: apache
-  container: syncope-console
-  tag: 2.1.0
-  containerPort: 8080
-  memoryLimit: 512Mi
-  serviceType: ClusterIP
-### Config Params for the syncope-enduser containers
-syncopeEndUserConfig:
-  name: syncope-enduser
-  replicas: 1
-  repository: apache
-  container: syncope-enduser
-  tag: 2.1.0
-  containerPort: 8080
-  memoryLimit: 512Mi
-  serviceType: ClusterIP
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/postgres/Chart.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/postgres/Chart.yaml b/docker/src/main/resources/kubernetes/postgres/Chart.yaml
new file mode 100644
index 0000000..a7c8b8f
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/postgres/Chart.yaml
@@ -0,0 +1,30 @@
+# 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.
+apiVersion: v1
+name: basic
+description: Deploys Postgres For Syncope
+version: 1
+appVersion: 2.0
+keywords:
+- postgresql
+- postgres
+- database
+- sql
+home: https://syncope.apache.org/
+icon: https://syncope.apache.org/images/apache-syncope-logo-medium.png
+sources:
+- https://github.com/apache/syncope

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/postgres/templates/db-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/postgres/templates/db-deployment.yaml b/docker/src/main/resources/kubernetes/postgres/templates/db-deployment.yaml
new file mode 100644
index 0000000..55f8755
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/postgres/templates/db-deployment.yaml
@@ -0,0 +1,141 @@
+# 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.
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: postgres-environment-config
+data:
+ PG_DATABASE: "{{.Values.databaseEnvironment.pgDatabase}}"
+ PG_MODE: "{{.Values.databaseEnvironment.pgMode}}"
+ PG_PASSWORD: "{{.Values.databaseEnvironment.pgPassword}}"
+ PG_PRIMARY_HOST: "{{.Values.databaseEnvironment.pgPrimaryHost}}"
+ PG_PRIMARY_PASSWORD: "{{.Values.databaseEnvironment.pgPrimaryPassword}}"
+ PG_PRIMARY_PORT: "{{.Values.databaseEnvironment.pgPrimaryPort}}"
+ PG_PRIMARY_USER: "{{.Values.databaseEnvironment.pgPrimaryUser}}"
+ PG_ROOT_PASSWORD: "{{.Values.databaseEnvironment.pgRootPassword}}"
+ PG_USER: "{{.Values.databaseEnvironment.pgUser}}"
+ PGDATA_PATH_OVERRIDE: "{{.Values.databaseEnvironment.pgdataPathOverride}}"
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: {{.Values.pv.name}}
+spec:
+  storageClassName: ""
+  capacity:
+    storage: {{.Values.pv.storage}}
+  accessModes:
+    - {{.Values.pv.mode}}
+  hostPath:
+    path: "{{.Values.pv.path}}"
+  persistentVolumeReclaimPolicy: Retain
+#  gcePersistentDisk:
+#    pdName: postgres-data
+#    fsType: ext4
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: {{.Values.pvc.name}}
+spec:
+  accessModes:
+    - {{.Values.pv.mode}}
+  resources:
+    requests:
+      storage: {{.Values.pv.storage}}
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: "{{.Values.databaseConfig.name}}"
+  labels:
+    name: "{{.Values.databaseConfig.name}}"
+    heritage: {{.Release.Service | quote }}
+    release: {{.Release.Name | quote }}
+    chart: "{{.Chart.Name}}-{{.Chart.Version}}"
+  annotations:
+    "helm.sh/created": {{.Release.Time.Seconds | quote }}
+spec:
+  replicas: 1
+  strategy: {}
+  template:
+    metadata:
+      creationTimestamp: null
+      labels:
+        name: "{{.Values.databaseConfig.name}}"
+    spec:
+      securityContext:
+        fsGroup: 1000
+      containers:
+      - image: "{{.Values.databaseConfig.repository}}/{{.Values.databaseConfig.container}}:{{.Values.databaseConfig.tag}}"
+        name: {{.Values.databaseConfig.name}}
+#TODO: Need to impliment the readiness probe
+#        readinessProbe:
+#          exec:
+#            command:
+#            - "/opt/cpm/bin/readiness.sh"
+#          initialDelaySeconds: 10
+#          timeoutSeconds: 1
+#        livenessProbe:
+#          exec:
+#            command:
+#            - "/opt/cpm/bin/liveness.sh"
+#          initialDelaySeconds: 120
+#          timeoutSeconds: 1
+        envFrom:
+        - configMapRef:
+           name: postgres-environment-config
+        volumeMounts:
+          - mountPath: {{.Values.pv.path}}
+            name: {{.Values.pv.name}}
+        ports:
+          - containerPort: {{.Values.databaseConfig.port}}
+            protocol: TCP
+        resources:
+          requests:
+            cpu: {{ .Values.databaseConfig.cpu }}
+            memory: {{ .Values.databaseConfig.memory }}
+      volumes:
+        - name: {{.Values.pv.name}}
+          persistentVolumeClaim:
+            claimName: {{.Values.pvc.name}}
+            readOnly: false
+      restartPolicy: Always
+status: {}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: "{{.Values.databaseConfig.name}}"
+  labels:
+    name: "{{.Values.databaseConfig.name}}"
+    heritage: {{ .Release.Service | quote }}
+    release: {{ .Release.Name | quote }}
+    chart: "{{.Chart.Name}}-{{.Chart.Version}}"
+spec:
+  type: "{{.Values.serviceType}}"
+  ports:
+  - protocol: TCP
+    port: {{.Values.databaseConfig.port}}
+    targetPort: {{.Values.databaseConfig.port}}
+    nodePort: 0
+    name: "{{.Values.databaseConfig.name}}"
+  selector:
+    name: "{{.Values.databaseConfig.name}}"
+  sessionAffinity: None
+status:
+  loadBalancer: {}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/postgres/values.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/postgres/values.yaml b/docker/src/main/resources/kubernetes/postgres/values.yaml
new file mode 100644
index 0000000..51a60b3
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/postgres/values.yaml
@@ -0,0 +1,47 @@
+# 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.
+### Environment Variables that will be pumped into postgres
+databaseEnvironment:
+  pgDatabase: syncope
+  pgMode: primary
+  pgPassword: <YOURPASSWORD>
+  pgPrimaryHost: localhost
+  pgPrimaryPassword: <YOURPASSWORD>
+  pgPrimaryPort: 5432
+  pgPrimaryUser: postgres
+  pgRootPassword: <YOURPASSWORD>
+  pgUser: syncope
+  pgdataPathOverride: postgres-data
+### Database container information
+databaseConfig:
+  port: 5432
+  name: postgres
+  serviceType: ClusterIP
+  repository: crunchydata
+  container: crunchy-postgres
+  tag: centos7-10.3-1.8.2
+  cpu: 200m
+  memory: 512Mi
+### Persistent Volume Config
+pv:
+  storage: 20Gi
+  name: primary-pv
+  mode: ReadWriteOnce
+  path: /pgdata
+### The PVC that will be used by postgres
+pvc:
+  name: postgres-readwriteonce-pvc
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/syncope/Chart.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/syncope/Chart.yaml b/docker/src/main/resources/kubernetes/syncope/Chart.yaml
new file mode 100644
index 0000000..7f697a2
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/syncope/Chart.yaml
@@ -0,0 +1,29 @@
+# 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.
+apiVersion: v1
+name: basic
+description: Deploys Syncope
+version: 1
+appVersion: 2.0
+keywords:
+- syncope
+- syncope-enduser
+- syncope-console
+home: https://syncope.apache.org/
+icon: https://syncope.apache.org/images/apache-syncope-logo-medium.png
+sources:
+- https://github.com/apache/syncope

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/syncope/templates/syncope-console-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/syncope/templates/syncope-console-deployment.yaml b/docker/src/main/resources/kubernetes/syncope/templates/syncope-console-deployment.yaml
new file mode 100644
index 0000000..2daf9f2
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/syncope/templates/syncope-console-deployment.yaml
@@ -0,0 +1,51 @@
+# 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.
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{.Values.syncopeConsoleConfig.name}}
+spec:
+  replicas: 1
+  strategy: {}
+  template:
+    metadata:
+      labels:
+        name: {{.Values.syncopeConsoleConfig.name}}
+    spec:
+      containers:
+      - name: {{.Values.syncopeConsoleConfig.name}}
+        envFrom:
+        - configMapRef:
+           name: syncope-environment-config
+        image: "{{.Values.syncopeConsoleConfig.repository}}/{{.Values.syncopeConsoleConfig.container}}:{{.Values.syncopeConsoleConfig.tag}}"
+        ports:
+        - containerPort: {{.Values.syncopeConsoleConfig.containerPort}}
+        resources: {}
+      restartPolicy: Always
+status: {}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: "{{.Values.syncopeConsoleConfig.name}}"
+spec:
+  type: "{{.Values.syncopeConsoleConfig.serviceType}}"
+  selector:
+    name: "{{.Values.syncopeConsoleConfig.name}}"
+  ports:
+  - port: {{.Values.syncopeConsoleConfig.containerPort}}
+    name: http-api

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/syncope/templates/syncope-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/syncope/templates/syncope-deployment.yaml b/docker/src/main/resources/kubernetes/syncope/templates/syncope-deployment.yaml
new file mode 100644
index 0000000..ecbf13f
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/syncope/templates/syncope-deployment.yaml
@@ -0,0 +1,67 @@
+# 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.
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: syncope-environment-config
+data:
+ DBMS: postgresql
+ DB_URL: {{.Values.syncopeEnvironment.dbUrl}}
+ DB_USER: {{.Values.syncopeEnvironment.dbUser}}
+ DB_PASSWORD: {{.Values.syncopeEnvironment.userCreds}}
+ DB_POOL_MAX: "{{.Values.syncopeEnvironment.dbPoolMax}}"
+ DB_POOL_MIN: "{{.Values.syncopeEnvironment.dbPoolMin}}"
+ OPENJPA_REMOTE_COMMIT: sjvm
+ CORE_SCHEME: "{{.Values.syncopeEnvironment.coreScheme}}"
+ CORE_HOST: "{{.Values.syncopeEnvironment.coreHost}}"
+ CORE_PORT: "{{.Values.syncopeEnvironment.corePort}}"
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{.Values.syncopeConfig.name}}
+spec:
+  replicas: 1
+  strategy: {}
+  template:
+    metadata:
+      labels:
+        name: {{.Values.syncopeConfig.name}}
+    spec:
+      containers:
+      - name: {{.Values.syncopeConfig.name}}
+        envFrom:
+        - configMapRef:
+           name: syncope-environment-config
+        image: "{{.Values.syncopeConfig.repository}}/{{.Values.syncopeConfig.container}}:{{.Values.syncopeConfig.tag}}"
+        ports:
+        - containerPort: {{.Values.syncopeConfig.containerPort}}
+        resources: {}
+      restartPolicy: Always
+status: {}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: "{{.Values.syncopeConfig.name}}"
+spec:
+  type: "{{.Values.syncopeConfig.serviceType}}"
+  selector:
+    name: "{{.Values.syncopeConfig.name}}"
+  ports:
+  - port: {{.Values.syncopeConfig.containerPort}}
+    name: http-api

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/syncope/templates/syncope-enduser-deployment.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/syncope/templates/syncope-enduser-deployment.yaml b/docker/src/main/resources/kubernetes/syncope/templates/syncope-enduser-deployment.yaml
new file mode 100644
index 0000000..2a28cfc
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/syncope/templates/syncope-enduser-deployment.yaml
@@ -0,0 +1,51 @@
+# 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.
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{.Values.syncopeEndUserConfig.name}}
+spec:
+  replicas: 1
+  strategy: {}
+  template:
+    metadata:
+      labels:
+        name: {{.Values.syncopeEndUserConfig.name}}
+    spec:
+      containers:
+      - name: {{.Values.syncopeEndUserConfig.name}}
+        envFrom:
+        - configMapRef:
+           name: syncope-environment-config
+        image: "{{.Values.syncopeEndUserConfig.repository}}/{{.Values.syncopeEndUserConfig.container}}:{{.Values.syncopeEndUserConfig.tag}}"
+        ports:
+        - containerPort: {{.Values.syncopeEndUserConfig.containerPort}}
+        resources: {}
+      restartPolicy: Always
+status: {}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: "{{.Values.syncopeEndUserConfig.name}}"
+spec:
+  type: "{{.Values.syncopeEndUserConfig.serviceType}}"
+  selector:
+    name: "{{.Values.syncopeEndUserConfig.name}}"
+  ports:
+  - port: {{.Values.syncopeEndUserConfig.containerPort}}
+    name: http-api

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/docker/src/main/resources/kubernetes/syncope/values.yaml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/kubernetes/syncope/values.yaml b/docker/src/main/resources/kubernetes/syncope/values.yaml
new file mode 100644
index 0000000..a6a8513
--- /dev/null
+++ b/docker/src/main/resources/kubernetes/syncope/values.yaml
@@ -0,0 +1,56 @@
+# 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.
+### Environment Variables that will be set on all 3 syncope docker containers (core, console, enduser)
+syncopeEnvironment:
+  dbUrl: jdbc:postgresql://postgres:5432/syncope
+  dbUser: syncope
+  dbPoolMax: 10
+  dbPoolMin: 2
+  coreScheme: http # valid values are http and https
+  coreHost: syncope # Host that syncope will use to connect to core.  Needs to match .Values.syncopeConfig.name
+  corePort: 8080
+  userCreds: <YOURPASSWORD> # Needs to match the databaseEnvironment.pgPassword that was provided to the database
+### Config Params for the syncope container (A.K.A. Core)
+syncopeConfig:
+  name: syncope
+  replicas: 1
+  repository: apache
+  container: syncope
+  tag: ${syncope.version}
+  containerPort: 8080
+  memoryLimit: 512Mi
+  serviceType: ClusterIP
+### Config Params for the syncope-console containers
+syncopeConsoleConfig:
+  name: syncope-console
+  replicas: 1
+  repository: apache
+  container: syncope-console
+  tag: ${syncope.version}
+  containerPort: 8080
+  memoryLimit: 512Mi
+  serviceType: ClusterIP
+### Config Params for the syncope-enduser containers
+syncopeEndUserConfig:
+  name: syncope-enduser
+  replicas: 1
+  repository: apache
+  container: syncope-enduser
+  tag: ${syncope.version}
+  containerPort: 8080
+  memoryLimit: 512Mi
+  serviceType: ClusterIP

http://git-wip-us.apache.org/repos/asf/syncope/blob/dd38d672/src/main/asciidoc/getting-started/obtain.adoc
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/getting-started/obtain.adoc b/src/main/asciidoc/getting-started/obtain.adoc
index 9d77fb4..1ca4cd5 100644
--- a/src/main/asciidoc/getting-started/obtain.adoc
+++ b/src/main/asciidoc/getting-started/obtain.adoc
@@ -354,10 +354,10 @@ Environment variables:
 
 Besides the one reported below, more samples are
 ifeval::["{snapshotOrRelease}" == "release"]
-https://github.com/apache/syncope/tree/syncope-{docVersion}/docker/src/main/resources[available^].
+https://github.com/apache/syncope/tree/syncope-{docVersion}/docker/src/main/resources/docker-compose[available^].
 endif::[]
 ifeval::["{snapshotOrRelease}" == "snapshot"]
-https://github.com/apache/syncope/tree/2_0_X/docker/src/main/resources[available^].
+https://github.com/apache/syncope/tree/2_0_X/docker/src/main/resources/docker-compose[available^].
 endif::[]
 
 .Syncope Core, Admin UI and Enduser UI with PostgreSQL
@@ -461,43 +461,65 @@ Credentials: `admin` / `password`
 
 |===
 
-==== Kubernetes Install
+==== Kubernetes sample
 
-Using the same images above it is possible to install in Kubernetes.  Provided is a set of example helm charts that can be used to install Syncope directly in Kubernetes.  Your specific setup might be different but ideally these can be a baseline install for your specific needs.  This will walk you through the installation of syncope via helm.
+A set of example https://www.helm.sh/[Helm^] charts is
+ifeval::["{snapshotOrRelease}" == "release"]
+https://github.com/apache/syncope/tree/syncope-{docVersion}/docker/src/main/resources/kubernetes[available^],
+endif::[]
+ifeval::["{snapshotOrRelease}" == "snapshot"]
+https://github.com/apache/syncope/tree/2_0_X/docker/src/main/resources/kubernetes[available^],
+endif::[]
+that can be used to install Apache Syncope directly in Kubernetes.
 
-It makes a couple assumptions:
+Some assumptions are made:
 
-* Have a working Kubernetes Cluster to install into.
-** If you don't have one then GCP has a decent https://kubernetes.io/docs/setup/[tutorial] .  **NOTE:** You could also use any other Cloud Provider or Local install (e.g. AWS, Minikub, Openshift)
-* Have helm installed
-** Follow these https://docs.helm.sh/using_helm/[instructions] if you don't
-* You have your kubernetes cluster to allow for dynamic provisioning of persistent volumes in K8s
-** If you don't have it then you will need to manually create the volume or turn on dynamic provisioning.  Refer to this link https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/[here]
+* a working Kubernetes Cluster to install into - if not available, follow this
+https://kubernetes.io/docs/setup/[tutorial^]
+[NOTE]
+Any other cloud provider or local install (e.g. AWS, Minikube, OpenShift) can be used
+
+* Helm installed - follow these https://docs.helm.sh/using_helm/[instructions^] if you don't
 
-===== Overview Of Install
+* allow for https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/[dynamic provisioning^] of persistent
+volumes - otherwise you will need to manually create the volume
 
-The install is broken into two separate helm charts.  This is due to the fact that syncope doesn't startup properly is the database isn't fully initialized yet.
+The install process is broken into two separate Helm charts; this is due to the fact that Apache Syncope doesn't startup
+properly if the database used as internal storage is not fully initialized yet:
 
-* Postgres Chart - this will install the postgres database.  It will also configure a persistent volume and persistent volume claim to store the data
-* Syncope Chart - This is the actual syncope install.  It will install 3 separate pods (Core, Console, and Enduser)
+* `postgres` chart; this will install the PostgreSQL database and configure a persistent volume and persistent volume
+claim to store the data
+* `syncope` chart; this is the actual Apache Syncope install, which will deploy three separate pods
+(Core, Console, and Enduser)
 
 image::SyncopeLayoutInK8s.png[]
 
-**Values.yaml** - Each Helm Chart has a values.yaml.  These are the configurable parameters for your specific install.  Before running the install you need to update the values.yaml for your needs
+The installation steps are:
 
-===== Install Commands
+. Open a terminal and navigate to the `kubernetes`
+ifeval::["{snapshotOrRelease}" == "release"]
+https://github.com/apache/syncope/tree/syncope-{docVersion}/docker/src/main/resources/kubernetes[folder^],
+endif::[]
+ifeval::["{snapshotOrRelease}" == "snapshot"]
+https://github.com/apache/syncope/tree/2_0_X/docker/src/main/resources/kubernetes[folder^],
+endif::[]
+wherever you downloaded it
 
-Open a terminal and navigate to the "helm" https://github.com/apache/syncope/tree/master/docker/src/main/resources/k8s/helm[folder] wherever you downloaded the code.  **REMINDER:  SET YOUR VALUES.YAML!!!**
+. Set your actual values in `postgres/values.yaml`
 
-.Install postgres
+. Install PostgreSQL
++
 [source,bash]
 ----
 helm install postgres --name postgres --namespace <YOUR_NAMESPACE> -f postgres/values.yaml
 ----
++
+Wait until PostgreSQL is initialized (watch logs for confirmation)
 
-Let Postgres initialize (about 20-30 seconds).  You can watch logs to confirm
+. Set your actual values in `syncope/values.yaml`
 
-.Install syncope
+. Install Apache Syncope
++
 [source,bash]
 ----
 helm install syncope --name syncope --namespace <YOUR_NAMESPACE> -f syncope/values.yaml