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:54 UTC
[2/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/a674dded
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/a674dded
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/a674dded
Branch: refs/heads/2_1_X
Commit: a674ddedabbc38b8cb8ab4385c9ff6eabde394cc
Parents: d0db28b
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:01:49 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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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/a674dded/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 d640127..6f8b3b7 100644
--- a/src/main/asciidoc/getting-started/obtain.adoc
+++ b/src/main/asciidoc/getting-started/obtain.adoc
@@ -453,6 +453,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/a674dded/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