Skip to content

Commit 4c479d8

Browse files
authored
feat: New input added to the DA (kibana_image_port) allowing the ability to specify the the port number used to connect to the Kibana service exposed by the container image when enable_kibana_dashboard is set to true<br>- Added new input kibana_visibility to specify the visibility of the Kibana application in order to define which endpoint is available for receiving the requests (#346)
1 parent e06dfff commit 4c479d8

File tree

5 files changed

+49
-4
lines changed

5 files changed

+49
-4
lines changed

ibm_catalog.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,26 @@
351351
},
352352
{
353353
"key": "kibana_image_digest"
354+
},
355+
{
356+
"key": "kibana_image_port"
357+
},
358+
{
359+
"key": "kibana_visibility",
360+
"options": [
361+
{
362+
"displayname": "local_public",
363+
"value": "local_public"
364+
},
365+
{
366+
"displayname": "local_private",
367+
"value": "local_private"
368+
},
369+
{
370+
"displayname": "local",
371+
"value": "local"
372+
}
373+
]
354374
}
355375
]
356376
}

solutions/standard/DA-types.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,7 @@ The following example includes all the configuration options for four service cr
198198
}
199199
]
200200
```
201+
### Options for kibana_visibility
202+
203+
When the Kibana application visibility is changed from private to public using `kibana_visibility` variable, it will become accessible from the public Internet. However, access via the IBM Cloud private network will no longer be available. This change takes effect immediately, potentially impacting active users or integrations. It is important to consider the associated security implications before proceeding, [learn more](https://cloud.ibm.com/docs/codeengine?topic=codeengine-application-workloads#optionsvisibility).
204+
If Kibana is enabled, you can access the Kibana application over a IBM private network using the method outlined [here](https://cloud.ibm.com/docs/codeengine?topic=codeengine-vpe).

solutions/standard/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ This architecture creates an instance of IBM Cloud Databases for Elasticsearch a
66
- A KMS root key, if one is not passed in.
77
- An IBM Cloud Databases for Elasticsearch instance with KMS encryption.
88
- Autoscaling rules for the database instance, if provided.
9-
- Kibana dashboard for Elasticsearch.
9+
- Install and start the Elastic's Natural Language Processing model, if enabled.
10+
- Kibana dashboard for Elasticsearch, if enabled.
11+
12+
**Note on accessing Kibana:** If Kibana is enabled, you can access the Kibana application over a IBM private network using the method outlined [here](https://cloud.ibm.com/docs/codeengine?topic=codeengine-vpe).
13+
14+
**Note on setting kibana_visibility:** When the Kibana application visibility is changed from private to public using kibana_visibility variable, it will become accessible from the public Internet. However, access via the IBM Cloud private network will no longer be available. This change takes effect immediately, potentially impacting active users or integrations. It is important to consider the associated security implications before proceeding.
1015

1116
![fscloud-elastic-search](../../reference-architecture/deployable-architecture-elasticsearch.svg)
1217

solutions/standard/main.tf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ module "code_engine_kibana" {
463463
apps = {
464464
(local.code_engine_app_name) = {
465465
image_reference = var.kibana_image_digest != null ? "${var.kibana_registry_namespace_image}@${var.kibana_image_digest}" : "${var.kibana_registry_namespace_image}:${local.kibana_version}"
466-
image_port = 5601
466+
image_port = var.kibana_image_port
467467
run_env_variables = [{
468468
type = "literal"
469469
name = "ELASTICSEARCH_HOSTS"
@@ -496,8 +496,9 @@ module "code_engine_kibana" {
496496
value = "none"
497497
}
498498
]
499-
scale_min_instances = 1
500-
scale_max_instances = 3
499+
scale_min_instances = 1
500+
scale_max_instances = 3
501+
managed_domain_mappings = var.kibana_visibility
501502
}
502503
}
503504
}

solutions/standard/variables.tf

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,3 +379,18 @@ variable "kibana_image_digest" {
379379

380380

381381
}
382+
variable "kibana_image_port" {
383+
description = "Specify the port number used to connect to the Kibana service exposed by the container image. Default port is 5601 and it is only applicable if `enable_kibana_dashboard` is true"
384+
type = number
385+
default = 5601
386+
}
387+
388+
variable "kibana_visibility" {
389+
description = "Specify the visibility of Kibana application in order to define which endpoint is available for receiving the requests. Valid values are 'local_public', 'local_private' and 'local' and it is only applicable if `enable_kibana_dashboard` is true. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-icd-elasticsearch/blob/main/solutions/standard/DA-types.md#options-for-kibana_visibility)."
390+
type = string
391+
default = "local_private"
392+
validation {
393+
condition = can(regex("local_public|local_private|local", var.kibana_visibility))
394+
error_message = "Valid values are 'local_public', 'local_private', or 'local'."
395+
}
396+
}

0 commit comments

Comments
 (0)