Skip to content

Commit 2544865

Browse files
authored
Merge pull request #156 from junior/feature/orm_stack_part2
Feature/orm stack part2 - mushop-stack-v2.0.0.zip release
2 parents cf2d35b + e8c0fa5 commit 2544865

File tree

16 files changed

+672
-202
lines changed

16 files changed

+672
-202
lines changed
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
dependencies:
22
- name: prometheus
33
repository: https://kubernetes-charts.storage.googleapis.com
4-
version: 11.1.5
4+
version: 11.3.0
55
- name: grafana
66
repository: https://kubernetes-charts.storage.googleapis.com
7-
version: 5.0.20
7+
version: 5.0.25
88
- name: metrics-server
99
repository: https://kubernetes-charts.storage.googleapis.com
1010
version: 2.11.1
1111
- name: ingress-nginx
1212
repository: https://kubernetes.github.io/ingress-nginx
13-
version: 2.0.2
13+
version: 2.1.0
1414
- name: catalog
1515
repository: https://svc-catalog-charts.storage.googleapis.com
1616
version: 0.3.0-beta.2
1717
- name: cert-manager
1818
repository: https://charts.jetstack.io
19-
version: v0.15-alpha.3
20-
digest: sha256:1e9ae93188d05ab1c34d354de48df0a8b4730da94956cb14feb4a7b084240f59
21-
generated: "2020-05-06T17:08:59.300353-05:00"
19+
version: v0.15.0
20+
digest: sha256:920a4254b36b9dc3b68fcba8b51931ba7a6dd150c40ce065857c2a584237b5b0
21+
generated: "2020-05-18T19:46:04.576498-05:00"

deploy/complete/helm-chart/setup/requirements.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
dependencies:
66
# Prometheus
77
- name: prometheus
8-
version: 11.1.5
8+
version: 11.3.0
99
condition: prometheus.enabled
1010
repository: https://kubernetes-charts.storage.googleapis.com
1111
# Grafana
1212
- name: grafana
13-
version: 5.0.20
13+
version: 5.0.25
1414
condition: grafana.enabled
1515
repository: https://kubernetes-charts.storage.googleapis.com
1616
# HPA Metrics
@@ -20,7 +20,7 @@ dependencies:
2020
repository: https://kubernetes-charts.storage.googleapis.com
2121
# Ingress Controller
2222
- name: ingress-nginx
23-
version: 2.0.2
23+
version: 2.1.0
2424
condition: ingress-nginx.enabled
2525
repository: https://kubernetes.github.io/ingress-nginx
2626
# Service Catalog
@@ -30,6 +30,6 @@ dependencies:
3030
repository: https://svc-catalog-charts.storage.googleapis.com
3131
# cert-manager
3232
- name: cert-manager
33-
version: 0.15.0-alpha.3
33+
version: 0.15.0
3434
condition: cert-manager.enabled
3535
repository: https://charts.jetstack.io

deploy/complete/helm-chart/setup/values.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ metrics-server:
1010
# https://github.com/helm/charts/blob/master/stable/prometheus/README.md
1111
prometheus:
1212
enabled: true
13+
extraScrapeConfigs: |
14+
- job_name: 'ingress-nginx'
15+
metrics_path: /metrics
16+
scrape_interval: 5s
17+
static_configs:
18+
- targets:
19+
- {{ .Release.Name }}-ingress-nginx-controller-metrics:9913
1320
1421
# https://github.com/kubernetes-sigs/service-catalog/blob/master/charts/catalog/README.md
1522
catalog:
@@ -18,6 +25,9 @@ catalog:
1825
# https://kubernetes.github.io/ingress-nginx/
1926
ingress-nginx:
2027
enabled: true
28+
controller:
29+
metrics:
30+
enabled: true
2131

2232
# https://github.com/jetstack/cert-manager/blob/master/README.md
2333
cert-manager:
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3+
#
4+
5+
extraScrapeConfigs: |
6+
- job_name: 'ingress-nginx'
7+
metrics_path: /metrics
8+
scrape_interval: 5s
9+
static_configs:
10+
- targets:
11+
- mushop-utils-ingress-nginx-controller-metrics:9913

deploy/complete/terraform/datasources.tf

Lines changed: 75 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,12 @@ data "oci_identity_availability_domains" "ADs" {
1717
compartment_id = var.tenancy_ocid
1818
}
1919

20-
resource "random_string" "deploy_id" {
21-
length = 4
22-
special = false
23-
}
24-
20+
# Gets kubeconfig
2521
data "oci_containerengine_cluster_kube_config" "oke_cluster_kube_config" {
26-
cluster_id = oci_containerengine_cluster.oke-mushop_cluster.id
22+
cluster_id = oci_containerengine_cluster.oke_mushop_cluster.id
2723
}
2824

2925
# Helm repos
30-
3126
## stable
3227
data "helm_repository" "stable" {
3328
name = "stable"
@@ -52,4 +47,76 @@ data "helm_repository" "jetstack" {
5247
data "helm_repository" "ingress-nginx" {
5348
name = "ingress-nginx"
5449
url = "https://kubernetes.github.io/ingress-nginx"
55-
}
50+
}
51+
52+
# MuShop
53+
## Kubernetes Service: mushop-utils-ingress-nginx-controller
54+
data "kubernetes_service" "mushop_ingress" {
55+
metadata {
56+
name = "mushop-utils-ingress-nginx-controller" # mushop-utils included to be backwards compatible to the docs and setup chart install
57+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
58+
}
59+
depends_on = [helm_release.ingress-nginx]
60+
}
61+
62+
## Kubernetes Secret: Grafana Admin Password
63+
data "kubernetes_secret" "mushop_utils_grafana" {
64+
metadata {
65+
name = "mushop-utils-grafana"
66+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
67+
}
68+
depends_on = [helm_release.grafana, helm_release.mushop]
69+
}
70+
71+
# OCI Services
72+
## Autonomous Database
73+
### Wallet
74+
data "oci_database_autonomous_database_wallet" "autonomous_database_wallet" {
75+
count = var.mushop_mock_mode_all ? 0 : 1
76+
autonomous_database_id = oci_database_autonomous_database.mushop_autonomous_database[0].id
77+
password = random_string.autonomous_database_wallet_password.result
78+
generate_type = var.autonomous_database_wallet_generate_type
79+
base64_encode_content = true
80+
}
81+
82+
## Available Services
83+
data "oci_core_services" "all_services" {
84+
filter {
85+
name = "name"
86+
values = ["All .* Services In Oracle Services Network"]
87+
regex = true
88+
}
89+
}
90+
91+
## Object Storage
92+
data "oci_objectstorage_namespace" "ns" {
93+
compartment_id = var.compartment_ocid
94+
}
95+
96+
# Randoms
97+
resource "random_string" "deploy_id" {
98+
length = 4
99+
special = false
100+
}
101+
102+
### Passwords using random_string instead of random_password to be compatible with ORM (Need to update random provider)
103+
resource "random_string" "autonomous_database_wallet_password" {
104+
length = 16
105+
special = true
106+
min_upper = 3
107+
min_lower = 3
108+
min_numeric = 3
109+
min_special = 3
110+
override_special = "{}#^*<>[]%~"
111+
}
112+
113+
resource "random_string" "autonomous_database_admin_password" {
114+
length = 16
115+
special = true
116+
min_upper = 3
117+
min_lower = 3
118+
min_numeric = 3
119+
min_special = 3
120+
override_special = "{}#^*<>[]%~"
121+
}
122+

deploy/complete/terraform/mushop-utilities.tf

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
#
44

55
# Create namespace mushop-utilities for supporting services
6-
resource "kubernetes_namespace" "mushop-utilities_namespace" {
6+
resource "kubernetes_namespace" "mushop_utilities_namespace" {
77
metadata {
88
name = "mushop-utilities"
99
}
10-
depends_on = [oci_containerengine_node_pool.oke-mushop_node_pool]
10+
depends_on = [oci_containerengine_node_pool.oke_mushop_node_pool]
1111
}
1212

1313
# MuShop Utilities helm charts
@@ -17,20 +17,24 @@ resource "helm_release" "prometheus" {
1717
name = "prometheus"
1818
repository = data.helm_repository.stable.metadata[0].name
1919
chart = "prometheus"
20-
version = "11.1.5"
21-
namespace = kubernetes_namespace.mushop-utilities_namespace.id
20+
version = "11.3.0"
21+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
2222
wait = false
2323

24+
values = [
25+
file("${path.module}/chart-values/prometheus.yaml"),
26+
]
27+
2428
depends_on = [helm_release.ingress-nginx] # Ugly workaround because of the oci pvc provisioner not be able to wait for the node be active and retry.
2529
}
2630

27-
## # https://github.com/helm/charts/blob/master/stable/grafana/README.md
31+
## https://github.com/helm/charts/blob/master/stable/grafana/README.md
2832
resource "helm_release" "grafana" {
2933
name = "mushop-utils-grafana" # mushop-utils included to be backwards compatible to the docs and setup chart install
3034
repository = data.helm_repository.stable.metadata[0].name
3135
chart = "grafana"
32-
version = "5.0.20"
33-
namespace = kubernetes_namespace.mushop-utilities_namespace.id
36+
version = "5.0.25"
37+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
3438
wait = false
3539

3640
values = [
@@ -46,7 +50,7 @@ resource "helm_release" "metrics-server" {
4650
repository = data.helm_repository.stable.metadata[0].name
4751
chart = "metrics-server"
4852
version = "2.11.1"
49-
namespace = kubernetes_namespace.mushop-utilities_namespace.id
53+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
5054
wait = false
5155

5256
values = [
@@ -58,14 +62,19 @@ resource "helm_release" "metrics-server" {
5862

5963
## https://kubernetes.github.io/ingress-nginx/
6064
resource "helm_release" "ingress-nginx" {
61-
name = "mushop-utils-ingress-nginx"
65+
name = "mushop-utils-ingress-nginx" # mushop-utils included to be backwards compatible to the docs and setup chart install
6266
repository = data.helm_repository.ingress-nginx.metadata[0].name
6367
chart = "ingress-nginx/ingress-nginx"
64-
version = "2.0.2"
65-
namespace = kubernetes_namespace.mushop-utilities_namespace.id
68+
version = "2.1.0"
69+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
6670
wait = true
6771

68-
timeout = 600 # workaround to wait the node be active for other charts
72+
set {
73+
name = "controller.metrics.enable"
74+
value = true
75+
}
76+
77+
timeout = 1800 # workaround to wait the node be active for other charts
6978
}
7079

7180
## https://github.com/kubernetes-sigs/service-catalog/blob/master/charts/catalog/README.md
@@ -74,7 +83,7 @@ resource "helm_release" "svc-cat" {
7483
repository = data.helm_repository.svc-cat.metadata[0].name
7584
chart = "catalog"
7685
version = "0.3.0-beta.2"
77-
namespace = kubernetes_namespace.mushop-utilities_namespace.id
86+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
7887
wait = false
7988

8089
depends_on = [helm_release.ingress-nginx] # Ugly workaround because of the oci pvc provisioner not be able to wait for the node be active and retry.
@@ -85,8 +94,8 @@ resource "helm_release" "cert-manager" {
8594
name = "cert-manager"
8695
repository = data.helm_repository.jetstack.metadata[0].name
8796
chart = "cert-manager"
88-
version = "0.15.0-alpha.3"
89-
namespace = kubernetes_namespace.mushop-utilities_namespace.id
97+
version = "0.15.0"
98+
namespace = kubernetes_namespace.mushop_utilities_namespace.id
9099
wait = false
91100

92101
set {

deploy/complete/terraform/mushop.tf

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ resource "kubernetes_namespace" "mushop_namespace" {
77
metadata {
88
name = "mushop"
99
}
10-
depends_on = [oci_containerengine_node_pool.oke-mushop_node_pool]
10+
depends_on = [oci_containerengine_node_pool.oke_mushop_node_pool]
1111
}
1212

1313
# Deploy mushop chart
@@ -17,9 +17,36 @@ resource "helm_release" "mushop" {
1717
namespace = kubernetes_namespace.mushop_namespace.id
1818
wait = false
1919

20-
values = [
21-
file("${path.module}/../helm-chart/mushop/values-mock.yaml"),
22-
]
20+
set_string {
21+
name = "global.mock.service"
22+
value = var.mushop_mock_mode_all ? "all" : "false"
23+
}
24+
set {
25+
name = "global.oadbAdminSecret"
26+
value = var.db_admin_name
27+
}
28+
set {
29+
name = "global.oadbConnectionSecret"
30+
value = var.db_connection_name
31+
}
32+
set {
33+
name = "global.oadbWalletSecret"
34+
value = var.db_wallet_name
35+
}
36+
# set {
37+
# name = "global.oosBucketSecret" # Commented until come with solution to gracefull removal of objects when terraform destroy
38+
# value = var.oos_bucket_name
39+
# }
40+
set {
41+
name = "tags.atp"
42+
value = var.mushop_mock_mode_all ? false : true
43+
}
44+
set {
45+
name = "tags.streaming"
46+
value = var.mushop_mock_mode_all ? false : false
47+
}
2348

2449
depends_on = [helm_release.ingress-nginx] # Ugly workaround because of the oci pvc provisioner not be able to wait for the node be active and retry.
50+
51+
timeout = 500
2552
}

0 commit comments

Comments
 (0)