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:55 UTC

[3/6] syncope git commit: Kubernetes Install - This closes #83

Kubernetes Install - This closes #83

The helm charts and instructions for how to install in Kubernetes.   This is a bare bones install and can be updated to include self healing and auto scaling.  It currently works with Postgres


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

Branch: refs/heads/2_0_X
Commit: 0f74c3a3597d7b5b354f6c33e394f684927a76e9
Parents: 965bed1
Author: Unknown <cr...@gmail.com>
Authored: Tue Aug 28 13:36:32 2018 -0600
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Oct 12 14:06:16 2018 +0200

----------------------------------------------------------------------
 docker/src/main/resources/docker-compose-ha.yml |  93 ------------
 .../main/resources/docker-compose-mariadb.yml   |  71 ----------
 .../src/main/resources/docker-compose-mssql.yml |  73 ----------
 .../src/main/resources/docker-compose-mysql.yml |  70 ---------
 .../resources/docker-compose-postgresql.yml     |  76 ----------
 .../docker-compose/docker-compose-ha.yml        |  93 ++++++++++++
 .../docker-compose/docker-compose-mariadb.yml   |  71 ++++++++++
 .../docker-compose/docker-compose-mssql.yml     |  73 ++++++++++
 .../docker-compose/docker-compose-mysql.yml     |  70 +++++++++
 .../docker-compose-postgresql.yml               |  76 ++++++++++
 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 ++++++++
 src/main/asciidoc/getting-started/obtain.adoc   |  42 ++++++
 src/main/asciidoc/images/SyncopeLayoutInK8s.png | Bin 0 -> 68715 bytes
 21 files changed, 922 insertions(+), 383 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose-ha.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-ha.yml b/docker/src/main/resources/docker-compose-ha.yml
deleted file mode 100644
index 0eb26f5..0000000
--- a/docker/src/main/resources/docker-compose-ha.yml
+++ /dev/null
@@ -1,93 +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.
-
-# Full deployment (Core, Console, Enduser) on PostgreSQL, with high-availability set for Core
-# http://syncope.apache.org/docs/reference-guide.html#high-availability
-
-version: '3.3'
-
-services:
-   db:
-     image: crunchydata/crunchy-postgres:centos7-10.3-1.8.2
-     restart: always
-     environment:
-       PG_ROOT_PASSWORD: postgres
-       PG_MODE: primary
-       PG_PRIMARY_USER: postgres
-       PG_PRIMARY_PASSWORD: postgres
-       PG_PRIMARY_HOST: localhost
-       PG_PRIMARY_PORT: 5432
-       PG_DATABASE: syncope
-       PG_USER: syncope
-       PG_PASSWORD: syncope
-
-   syncope1:
-     depends_on:
-       - db
-     image: apache/syncope:${syncope.version}
-     ports:
-       - "18080:8080"
-     restart: always
-     environment:
-       DBMS: postgresql
-       DB_URL: jdbc:postgresql://db:5432/syncope
-       DB_USER: syncope
-       DB_PASSWORD: syncope
-       DB_POOL_MAX: 10
-       DB_POOL_MIN: 2
-       OPENJPA_REMOTE_COMMIT: tcp(Addresses=syncope1;syncope2)
-
-   syncope2:
-     depends_on:
-       - db
-     image: apache/syncope:${syncope.version}
-     ports:
-       - "18081:8080"
-     restart: always
-     environment:
-       DBMS: postgresql
-       DB_URL: jdbc:postgresql://db:5432/syncope
-       DB_USER: syncope
-       DB_PASSWORD: syncope
-       DB_POOL_MAX: 10
-       DB_POOL_MIN: 2
-       OPENJPA_REMOTE_COMMIT: tcp(Addresses=syncope1;syncope2)
-
-   syncope-console:
-     depends_on:
-       - syncope1
-     image: apache/syncope-console:${syncope.version}
-     ports:
-       - "28080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope1
-       CORE_PORT: 8080
-
-   syncope-enduser:
-     depends_on:
-       - syncope1
-     image: apache/syncope-enduser:${syncope.version}
-     ports:
-       - "38080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope1
-       CORE_PORT: 8080
-       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose-mariadb.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-mariadb.yml b/docker/src/main/resources/docker-compose-mariadb.yml
deleted file mode 100644
index 65851bb..0000000
--- a/docker/src/main/resources/docker-compose-mariadb.yml
+++ /dev/null
@@ -1,71 +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.
-
-# Full deployment (Core, Console, Enduser) on MariaDB
-
-version: '3.3'
-
-services:
-   db:
-     image: mariadb:10.3.7
-     restart: always
-     environment:
-       MYSQL_ROOT_PASSWORD: password
-       MYSQL_DATABASE: syncope
-       MYSQL_USER: syncope
-       MYSQL_PASSWORD: syncope
-
-   syncope:
-     depends_on:
-       - db
-     image: apache/syncope:${syncope.version}
-     ports:
-       - "18080:8080"
-     restart: always
-     environment:
-       DBMS: mariadb
-       DB_URL: jdbc:mysql://db:3306/syncope?characterEncoding=UTF-8&relaxAutoCommit=true&useSSL=false
-       DB_USER: syncope
-       DB_PASSWORD: syncope
-       DB_POOL_MAX: 10
-       DB_POOL_MIN: 2
-       OPENJPA_REMOTE_COMMIT: sjvm
-
-   syncope-console:
-     depends_on:
-       - syncope
-     image: apache/syncope-console:${syncope.version}
-     ports:
-       - "28080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-
-   syncope-enduser:
-     depends_on:
-       - syncope
-     image: apache/syncope-enduser:${syncope.version}
-     ports:
-       - "38080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose-mssql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-mssql.yml b/docker/src/main/resources/docker-compose-mssql.yml
deleted file mode 100644
index 462f749..0000000
--- a/docker/src/main/resources/docker-compose-mssql.yml
+++ /dev/null
@@ -1,73 +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.
-
-# Full deployment (Core, Console, Enduser) on MS SQL Server
-
-version: '3.3'
-
-services:
-   db:
-     image: mcmoe/mssqldocker:latest
-     restart: always
-     environment:
-       ACCEPT_EULA: Y
-       SA_PASSWORD: 2astazeY
-       MSSQL_DB: syncope
-       MSSQL_USER: syncope
-       MSSQL_PASSWORD: Syncope123
-
-   syncope:
-     depends_on:
-       - db
-     image: apache/syncope:${syncope.version}
-     ports:
-       - "18080:8080"
-     restart: always
-     environment:
-       DBMS: mssql
-       DB_URL: jdbc:sqlserver://db:1433;databaseName=syncope
-       DB_SCHEMA: dbo
-       DB_USER: syncope
-       DB_PASSWORD: Syncope123
-       DB_POOL_MAX: 10
-       DB_POOL_MIN: 2
-       OPENJPA_REMOTE_COMMIT: sjvm
-
-   syncope-console:
-     depends_on:
-       - syncope
-     image: apache/syncope-console:${syncope.version}
-     ports:
-       - "28080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-
-   syncope-enduser:
-     depends_on:
-       - syncope
-     image: apache/syncope-enduser:${syncope.version}
-     ports:
-       - "38080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose-mysql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-mysql.yml b/docker/src/main/resources/docker-compose-mysql.yml
deleted file mode 100644
index d2af8c0..0000000
--- a/docker/src/main/resources/docker-compose-mysql.yml
+++ /dev/null
@@ -1,70 +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.
-
-# Full deployment (Core, Console, Enduser) on MySQL
-
-version: '3.3'
-
-services:
-   db:
-     image: mysql/mysql-server:5.7
-     restart: always
-     environment:
-       MYSQL_DATABASE: syncope
-       MYSQL_USER: syncope
-       MYSQL_PASSWORD: syncope
-
-   syncope:
-     depends_on:
-       - db
-     image: apache/syncope:${syncope.version}
-     ports:
-       - "18080:8080"
-     restart: always
-     environment:
-       DBMS: mysql
-       DB_URL: jdbc:mysql://db:3306/syncope?characterEncoding=UTF-8&relaxAutoCommit=true&useSSL=false
-       DB_USER: syncope
-       DB_PASSWORD: syncope
-       DB_POOL_MAX: 10
-       DB_POOL_MIN: 2
-       OPENJPA_REMOTE_COMMIT: sjvm
-
-   syncope-console:
-     depends_on:
-       - syncope
-     image: apache/syncope-console:${syncope.version}
-     ports:
-       - "28080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-
-   syncope-enduser:
-     depends_on:
-       - syncope
-     image: apache/syncope-enduser:${syncope.version}
-     ports:
-       - "38080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose-postgresql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-postgresql.yml b/docker/src/main/resources/docker-compose-postgresql.yml
deleted file mode 100644
index 862a051..0000000
--- a/docker/src/main/resources/docker-compose-postgresql.yml
+++ /dev/null
@@ -1,76 +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.
-
-# Full deployment (Core, Console, Enduser) on PostgreSQL
-
-version: '3.3'
-
-services:
-   db:
-     image: crunchydata/crunchy-postgres:centos7-10.3-1.8.2
-     restart: always
-     environment:
-       PG_ROOT_PASSWORD: postgres
-       PG_MODE: primary
-       PG_PRIMARY_USER: postgres
-       PG_PRIMARY_PASSWORD: postgres
-       PG_PRIMARY_HOST: localhost
-       PG_PRIMARY_PORT: 5432
-       PG_DATABASE: syncope
-       PG_USER: syncope
-       PG_PASSWORD: syncope
-
-   syncope:
-     depends_on:
-       - db
-     image: apache/syncope:${syncope.version}
-     ports:
-       - "18080:8080"
-     restart: always
-     environment:
-       DBMS: postgresql
-       DB_URL: jdbc:postgresql://db:5432/syncope
-       DB_USER: syncope
-       DB_PASSWORD: syncope
-       DB_POOL_MAX: 10
-       DB_POOL_MIN: 2
-       OPENJPA_REMOTE_COMMIT: sjvm
-
-   syncope-console:
-     depends_on:
-       - syncope
-     image: apache/syncope-console:${syncope.version}
-     ports:
-       - "28080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-
-   syncope-enduser:
-     depends_on:
-       - syncope
-     image: apache/syncope-enduser:${syncope.version}
-     ports:
-       - "38080:8080"
-     restart: always
-     environment:
-       CORE_SCHEME: http
-       CORE_HOST: syncope
-       CORE_PORT: 8080
-       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose/docker-compose-ha.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose/docker-compose-ha.yml b/docker/src/main/resources/docker-compose/docker-compose-ha.yml
new file mode 100644
index 0000000..0eb26f5
--- /dev/null
+++ b/docker/src/main/resources/docker-compose/docker-compose-ha.yml
@@ -0,0 +1,93 @@
+# 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.
+
+# Full deployment (Core, Console, Enduser) on PostgreSQL, with high-availability set for Core
+# http://syncope.apache.org/docs/reference-guide.html#high-availability
+
+version: '3.3'
+
+services:
+   db:
+     image: crunchydata/crunchy-postgres:centos7-10.3-1.8.2
+     restart: always
+     environment:
+       PG_ROOT_PASSWORD: postgres
+       PG_MODE: primary
+       PG_PRIMARY_USER: postgres
+       PG_PRIMARY_PASSWORD: postgres
+       PG_PRIMARY_HOST: localhost
+       PG_PRIMARY_PORT: 5432
+       PG_DATABASE: syncope
+       PG_USER: syncope
+       PG_PASSWORD: syncope
+
+   syncope1:
+     depends_on:
+       - db
+     image: apache/syncope:${syncope.version}
+     ports:
+       - "18080:8080"
+     restart: always
+     environment:
+       DBMS: postgresql
+       DB_URL: jdbc:postgresql://db:5432/syncope
+       DB_USER: syncope
+       DB_PASSWORD: syncope
+       DB_POOL_MAX: 10
+       DB_POOL_MIN: 2
+       OPENJPA_REMOTE_COMMIT: tcp(Addresses=syncope1;syncope2)
+
+   syncope2:
+     depends_on:
+       - db
+     image: apache/syncope:${syncope.version}
+     ports:
+       - "18081:8080"
+     restart: always
+     environment:
+       DBMS: postgresql
+       DB_URL: jdbc:postgresql://db:5432/syncope
+       DB_USER: syncope
+       DB_PASSWORD: syncope
+       DB_POOL_MAX: 10
+       DB_POOL_MIN: 2
+       OPENJPA_REMOTE_COMMIT: tcp(Addresses=syncope1;syncope2)
+
+   syncope-console:
+     depends_on:
+       - syncope1
+     image: apache/syncope-console:${syncope.version}
+     ports:
+       - "28080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope1
+       CORE_PORT: 8080
+
+   syncope-enduser:
+     depends_on:
+       - syncope1
+     image: apache/syncope-enduser:${syncope.version}
+     ports:
+       - "38080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope1
+       CORE_PORT: 8080
+       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml b/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml
new file mode 100644
index 0000000..65851bb
--- /dev/null
+++ b/docker/src/main/resources/docker-compose/docker-compose-mariadb.yml
@@ -0,0 +1,71 @@
+# 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.
+
+# Full deployment (Core, Console, Enduser) on MariaDB
+
+version: '3.3'
+
+services:
+   db:
+     image: mariadb:10.3.7
+     restart: always
+     environment:
+       MYSQL_ROOT_PASSWORD: password
+       MYSQL_DATABASE: syncope
+       MYSQL_USER: syncope
+       MYSQL_PASSWORD: syncope
+
+   syncope:
+     depends_on:
+       - db
+     image: apache/syncope:${syncope.version}
+     ports:
+       - "18080:8080"
+     restart: always
+     environment:
+       DBMS: mariadb
+       DB_URL: jdbc:mysql://db:3306/syncope?characterEncoding=UTF-8&relaxAutoCommit=true&useSSL=false
+       DB_USER: syncope
+       DB_PASSWORD: syncope
+       DB_POOL_MAX: 10
+       DB_POOL_MIN: 2
+       OPENJPA_REMOTE_COMMIT: sjvm
+
+   syncope-console:
+     depends_on:
+       - syncope
+     image: apache/syncope-console:${syncope.version}
+     ports:
+       - "28080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+
+   syncope-enduser:
+     depends_on:
+       - syncope
+     image: apache/syncope-enduser:${syncope.version}
+     ports:
+       - "38080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose/docker-compose-mssql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose/docker-compose-mssql.yml b/docker/src/main/resources/docker-compose/docker-compose-mssql.yml
new file mode 100644
index 0000000..462f749
--- /dev/null
+++ b/docker/src/main/resources/docker-compose/docker-compose-mssql.yml
@@ -0,0 +1,73 @@
+# 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.
+
+# Full deployment (Core, Console, Enduser) on MS SQL Server
+
+version: '3.3'
+
+services:
+   db:
+     image: mcmoe/mssqldocker:latest
+     restart: always
+     environment:
+       ACCEPT_EULA: Y
+       SA_PASSWORD: 2astazeY
+       MSSQL_DB: syncope
+       MSSQL_USER: syncope
+       MSSQL_PASSWORD: Syncope123
+
+   syncope:
+     depends_on:
+       - db
+     image: apache/syncope:${syncope.version}
+     ports:
+       - "18080:8080"
+     restart: always
+     environment:
+       DBMS: mssql
+       DB_URL: jdbc:sqlserver://db:1433;databaseName=syncope
+       DB_SCHEMA: dbo
+       DB_USER: syncope
+       DB_PASSWORD: Syncope123
+       DB_POOL_MAX: 10
+       DB_POOL_MIN: 2
+       OPENJPA_REMOTE_COMMIT: sjvm
+
+   syncope-console:
+     depends_on:
+       - syncope
+     image: apache/syncope-console:${syncope.version}
+     ports:
+       - "28080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+
+   syncope-enduser:
+     depends_on:
+       - syncope
+     image: apache/syncope-enduser:${syncope.version}
+     ports:
+       - "38080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose/docker-compose-mysql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose/docker-compose-mysql.yml b/docker/src/main/resources/docker-compose/docker-compose-mysql.yml
new file mode 100644
index 0000000..d2af8c0
--- /dev/null
+++ b/docker/src/main/resources/docker-compose/docker-compose-mysql.yml
@@ -0,0 +1,70 @@
+# 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.
+
+# Full deployment (Core, Console, Enduser) on MySQL
+
+version: '3.3'
+
+services:
+   db:
+     image: mysql/mysql-server:5.7
+     restart: always
+     environment:
+       MYSQL_DATABASE: syncope
+       MYSQL_USER: syncope
+       MYSQL_PASSWORD: syncope
+
+   syncope:
+     depends_on:
+       - db
+     image: apache/syncope:${syncope.version}
+     ports:
+       - "18080:8080"
+     restart: always
+     environment:
+       DBMS: mysql
+       DB_URL: jdbc:mysql://db:3306/syncope?characterEncoding=UTF-8&relaxAutoCommit=true&useSSL=false
+       DB_USER: syncope
+       DB_PASSWORD: syncope
+       DB_POOL_MAX: 10
+       DB_POOL_MIN: 2
+       OPENJPA_REMOTE_COMMIT: sjvm
+
+   syncope-console:
+     depends_on:
+       - syncope
+     image: apache/syncope-console:${syncope.version}
+     ports:
+       - "28080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+
+   syncope-enduser:
+     depends_on:
+       - syncope
+     image: apache/syncope-enduser:${syncope.version}
+     ports:
+       - "38080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/docker/src/main/resources/docker-compose/docker-compose-postgresql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose/docker-compose-postgresql.yml b/docker/src/main/resources/docker-compose/docker-compose-postgresql.yml
new file mode 100644
index 0000000..862a051
--- /dev/null
+++ b/docker/src/main/resources/docker-compose/docker-compose-postgresql.yml
@@ -0,0 +1,76 @@
+# 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.
+
+# Full deployment (Core, Console, Enduser) on PostgreSQL
+
+version: '3.3'
+
+services:
+   db:
+     image: crunchydata/crunchy-postgres:centos7-10.3-1.8.2
+     restart: always
+     environment:
+       PG_ROOT_PASSWORD: postgres
+       PG_MODE: primary
+       PG_PRIMARY_USER: postgres
+       PG_PRIMARY_PASSWORD: postgres
+       PG_PRIMARY_HOST: localhost
+       PG_PRIMARY_PORT: 5432
+       PG_DATABASE: syncope
+       PG_USER: syncope
+       PG_PASSWORD: syncope
+
+   syncope:
+     depends_on:
+       - db
+     image: apache/syncope:${syncope.version}
+     ports:
+       - "18080:8080"
+     restart: always
+     environment:
+       DBMS: postgresql
+       DB_URL: jdbc:postgresql://db:5432/syncope
+       DB_USER: syncope
+       DB_PASSWORD: syncope
+       DB_POOL_MAX: 10
+       DB_POOL_MIN: 2
+       OPENJPA_REMOTE_COMMIT: sjvm
+
+   syncope-console:
+     depends_on:
+       - syncope
+     image: apache/syncope-console:${syncope.version}
+     ports:
+       - "28080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+
+   syncope-enduser:
+     depends_on:
+       - syncope
+     image: apache/syncope-enduser:${syncope.version}
+     ports:
+       - "38080:8080"
+     restart: always
+     environment:
+       CORE_SCHEME: http
+       CORE_HOST: syncope
+       CORE_PORT: 8080
+       DOMAIN: Master

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/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
new file mode 100644
index 0000000..cac74c8
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/README.adoc
@@ -0,0 +1,25 @@
+= 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/0f74c3a3/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
new file mode 100644
index 0000000..a7c8b8f
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..55f8755
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..51a60b3
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..7f697a2
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..2daf9f2
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..ecbf13f
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..2a28cfc
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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/0f74c3a3/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
new file mode 100644
index 0000000..54e9129
--- /dev/null
+++ b/docker/src/main/resources/k8s/helm/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: 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/0f74c3a3/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 075fd1b..9d77fb4 100644
--- a/src/main/asciidoc/getting-started/obtain.adoc
+++ b/src/main/asciidoc/getting-started/obtain.adoc
@@ -461,6 +461,48 @@ Credentials: `admin` / `password`
 
 |===
 
+==== Kubernetes Install
+
+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.
+
+It makes a couple assumptions:
+
+* 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]
+
+===== Overview Of Install
+
+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.
+
+* 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)
+
+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
+
+===== Install Commands
+
+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!!!**
+
+.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
+----
+
 === Maven Project
 
 This is the *preferred method* for working with Apache Syncope, giving access to the whole set of customization

http://git-wip-us.apache.org/repos/asf/syncope/blob/0f74c3a3/src/main/asciidoc/images/SyncopeLayoutInK8s.png
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/images/SyncopeLayoutInK8s.png b/src/main/asciidoc/images/SyncopeLayoutInK8s.png
new file mode 100644
index 0000000..9bfee5e
Binary files /dev/null and b/src/main/asciidoc/images/SyncopeLayoutInK8s.png differ