You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dm...@apache.org on 2019/07/12 10:51:59 UTC

[incubator-dlab] 01/01: [DLAB-813] Created terraform scripts for Keycloak and Mysql

This is an automated email from the ASF dual-hosted git repository.

dmysakovets pushed a commit to branch DLAB-813
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit 376bc5a4038b81468a7baba3f0d5fd7cc263fc40
Author: Dyoma33 <de...@gmail.com>
AuthorDate: Fri Jul 12 13:51:45 2019 +0300

    [DLAB-813] Created terraform scripts for Keycloak and Mysql
---
 .../terraform/aws/modules/keycloak/ingress.yaml    | 14 +++++
 .../terraform/aws/modules/keycloak/keycloak.tf     | 56 ++++++++++++++++++
 .../terraform/aws/modules/keycloak/mysql.tf        | 68 ++++++++++++++++++++++
 .../terraform/aws/modules/keycloak/variables.tf    |  0
 4 files changed, 138 insertions(+)

diff --git a/infrastructure-provisioning/terraform/aws/modules/keycloak/ingress.yaml b/infrastructure-provisioning/terraform/aws/modules/keycloak/ingress.yaml
new file mode 100644
index 0000000..b165058
--- /dev/null
+++ b/infrastructure-provisioning/terraform/aws/modules/keycloak/ingress.yaml
@@ -0,0 +1,14 @@
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: ingress-keycloak
+  #annotations:
+  #  ingress.kubernetes.io/rewrite-target: /
+spec:
+  rules:
+  - http:
+      paths:
+        - path: /keycloak
+          backend:
+            serviceName: keycloak
+            servicePort: 31088
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/modules/keycloak/keycloak.tf b/infrastructure-provisioning/terraform/aws/modules/keycloak/keycloak.tf
new file mode 100644
index 0000000..ff0807d
--- /dev/null
+++ b/infrastructure-provisioning/terraform/aws/modules/keycloak/keycloak.tf
@@ -0,0 +1,56 @@
+resource "helm_release" "keycloak" {
+  name = "keycloak"
+  chart = "stable/keycloak"
+  wait = false
+
+  set {
+    name = "keycloak.username"
+    value = "dlab-admin"
+  }
+
+  set {
+    name = "keycloak.password"
+    value = "12345o"
+  }
+
+  set {
+    name = "keycloak.persistence.dbVendor"
+    value = "mysql"
+  }
+
+  set {
+    name = "keycloak.persistence.dbName"
+    value = "keycloak"
+  }
+
+  set {
+    name = "keycloak.persistence.dbHost"
+    value = "keycloak-mysql"
+  }
+
+  set {
+    name = "keycloak.persistence.dbPort"
+    value = "3306"
+  }
+
+  set {
+    name = "keycloak.persistence.dbUser"
+    value = "keycloak"
+  }
+
+ set {
+    name = "keycloak.persistence.dbPassword"
+    value = "1234567890o"
+  }
+
+  set {
+    name = "keycloak.service.type"
+    value = "NodePort"
+  }
+
+  set {
+    name = "keycloak.service.nodePort"
+    value = "31088"
+  }
+
+}
\ No newline at end of file
diff --git a/infrastructure-provisioning/terraform/aws/modules/keycloak/mysql.tf b/infrastructure-provisioning/terraform/aws/modules/keycloak/mysql.tf
new file mode 100644
index 0000000..367a4b7
--- /dev/null
+++ b/infrastructure-provisioning/terraform/aws/modules/keycloak/mysql.tf
@@ -0,0 +1,68 @@
+resource "helm_release" "keycloak-mysql" {
+  name = "keycloak-mysql"
+  chart = "stable/mysql"
+  wait = false
+
+  set {
+    name = "mysqlRootPassword"
+    value = "1234567890o"
+  }
+
+  set {
+    name = "mysqlUser"
+    value = "keycloak"
+  }
+
+  set {
+    name = "mysqlPassword"
+    value = "1234567890o"
+  }
+
+  set {
+    name = "mysqlDatabase"
+    value = "keycloak"
+  }
+
+  set {
+    name = "persistence.existingClaim"
+    value = "${kubernetes_persistent_volume_claim.example.metadata.0.name}"
+  }
+}
+
+
+provider "kubernetes" {
+  }
+
+resource "kubernetes_persistent_volume" "example" {
+  metadata {
+    name = "mysql-keycloak-pv2"
+  }
+  spec {
+    capacity = {
+      storage = "8Gi"
+    }
+    access_modes = ["ReadWriteMany"]
+    persistent_volume_source {
+      host_path {
+        path = "/home/dlab-user/keycloak-pv2"
+      }
+    }
+  }
+}
+
+
+resource "kubernetes_persistent_volume_claim" "example" {
+  metadata {
+    name = "mysql-keycloak-pvc2"
+  }
+  spec {
+    access_modes = ["ReadWriteMany"]
+    resources {
+      requests = {
+        storage = "5Gi"
+      }
+    }
+    volume_name = "${kubernetes_persistent_volume.example.metadata.0.name}"
+  }
+}
+
diff --git a/infrastructure-provisioning/terraform/aws/modules/keycloak/variables.tf b/infrastructure-provisioning/terraform/aws/modules/keycloak/variables.tf
new file mode 100644
index 0000000..e69de29


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org