-
Notifications
You must be signed in to change notification settings - Fork 8
feat: move agents to new tiles #460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 8 commits
04c2024
9648dd6
1169af9
1937027
f769b58
ee07e1d
8d5ba1e
23fc95b
6019e41
2f4256e
4b9f033
e7c9f65
678f938
8b19ccc
31286a1
8c609e6
33ec278
ec17a29
b029571
9b78e12
13524c6
27518a4
6ab30cc
3af7d0a
395587b
65f1c0a
e7682c6
0089335
1721c03
b6a1dfc
d2ca3ca
ff01d37
99c60b0
219fa27
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| --- | ||
| apiVersion: v1 | ||
| offerings: | ||
| - name: deploy-arch-ibm-observability-agents | ||
| kind: solution | ||
| catalog_id: _ | ||
| offering_id: _ | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| variations: | ||
| - name: baseline | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| mark_ready: true | ||
| install_type: fullstack | ||
| pre_validation: "tests/scripts/pre-validation-deploy-slz-roks-and-obs-instances.sh" | ||
| post_validation: "tests/scripts/post-validation-destroy-slz-roks-and-obs-instances.sh" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,249 @@ | ||
| { | ||
| "products": [ | ||
| { | ||
| "label": "Cloud automation for Observability agents", | ||
| "name": "deploy-arch-ibm-observability-agents", | ||
| "product_kind": "solution", | ||
| "tags": [ | ||
| "ibm_created", | ||
| "logging_monitoring" | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ], | ||
ocofaigh marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "short_description": "Deploys IBM Cloud Observability agents to a cluster", | ||
| "long_description": "Solutions that support deploying IBM Cloud Observability agents for logging, monitoring.", | ||
| "offering_docs_url": "https://github.com/terraform-ibm-modules/terraform-ibm-observability-agents/blob/main/solutions/baseline/README.md", | ||
| "offering_icon_url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-observability-agents/main/images/observability-icon.svg", | ||
| "flavors": [ | ||
| { | ||
| "label": "Baseline", | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "name": "baseline", | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "working_directory": "solutions/baseline", | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "compliance": {}, | ||
| "iam_permissions": [ | ||
| { | ||
| "service_name": "containers-kubernetes", | ||
| "role_crns": [ | ||
| "crn:v1:bluemix:public:iam::::serviceRole:Manager", | ||
| "crn:v1:bluemix:public:iam::::role:Viewer" | ||
| ] | ||
| } | ||
| ], | ||
| "architecture": { | ||
| "features": [ | ||
jor2 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| { | ||
| "title": "Works with any Openshift or k8s cluster", | ||
| "description": "Works with Red Hat OpenShift, and Kubernetes clusters." | ||
| }, | ||
| { | ||
| "title": "Deploys the IBM Cloud Monitoring agent on an existing cluster.", | ||
| "description": "Deploys the IBM Cloud Monitoring agent on an existing Red Hat OpenShift cluster." | ||
| }, | ||
| { | ||
| "title": "Deploys the IBM Logs agent on an existing cluster.", | ||
| "description": "Deploys the IBM Logs agent on an existing Red Hat OpenShift cluster." | ||
| } | ||
| ], | ||
| "diagrams": [ | ||
| { | ||
| "diagram": { | ||
| "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-observability-agents/refs/heads/addons/reference-architecture/deployable-architecture-observability-agents.svg", | ||
| "caption": "Observability agents on a Red Hat OpenShift cluster", | ||
| "type": "image/svg+xml" | ||
| }, | ||
| "description": "Observability agents deployed on a Red Hat OpenShift cluster on a secure landing zone." | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| } | ||
| ] | ||
| }, | ||
| "dependencies": [ | ||
ocofaigh marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| { | ||
| "name": "testing-deploy-arch-ibm-observability", | ||
| "id": "daf2cf91-2384-4205-b7f4-621299a4896d", | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "version": ">=1.2.2", | ||
| "flavors": [ | ||
| "standard" | ||
| ], | ||
| "catalog_id": "f64499c8-eb50-4985-bf91-29f9e605a433", | ||
| "optional": true | ||
| } | ||
| ], | ||
| "dependency_version_2": true, | ||
| "configuration": [ | ||
| { | ||
| "key": "ibmcloud_api_key", | ||
| "required": true | ||
jor2 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| }, | ||
| { | ||
| "key": "prefix", | ||
| "required": true, | ||
| "description": "The prefix to add to all resources that this solution creates. To not use any prefix value, you can enter the string `__NULL__`." | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_access_key", | ||
| "required": false | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| }, | ||
| { | ||
| "key": "cloud_monitoring_add_cluster_name", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_agent_name", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_agent_namespace", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_agent_tags", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_agent_tolerations", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_enabled", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_endpoint_type", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_instance_region", | ||
| "display_name": "Region", | ||
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "required": false, | ||
| "custom_config": { | ||
| "type": "vpc_region", | ||
|
||
| "grouping": "deployment", | ||
| "original_grouping": "deployment", | ||
| "config_constraints": { | ||
| "generationType": "2" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_metrics_filter", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_monitoring_secret_name", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cluster_config_endpoint_type", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cluster_id", | ||
ocofaigh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "type": "string", | ||
| "default_value": "", | ||
| "display_name": "Cluster", | ||
| "required": true, | ||
| "custom_config": { | ||
| "type": "cluster_var", | ||
| "grouping": "deployment", | ||
| "original_grouping": "deployment" | ||
| } | ||
| }, | ||
| { | ||
| "key": "cluster_resource_group_id", | ||
ocofaigh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
jor2 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "type": "string", | ||
| "default_value": "", | ||
| "display_name": "Cluster resource group", | ||
| "required": true, | ||
| "custom_config": { | ||
| "type": "resource_group", | ||
| "grouping": "deployment", | ||
| "original_grouping": "deployment", | ||
| "config_constraints": { | ||
| "identifier": "rg_id" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "key": "cluster_data", | ||
| "required": false | ||
ocofaigh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| }, | ||
| { | ||
| "key": "cloud_logs_ingress_endpoint", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "cloud_logs_ingress_port", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "is_vpc_cluster", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_additional_log_source_paths", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_additional_metadata", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_enable_scc", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_enabled", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_exclude_log_source_paths", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_iam_api_key", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_iam_environment", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_iam_mode", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_log_source_namespaces", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_name", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_namespace", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_selected_log_source_paths", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_tolerations", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "logs_agent_trusted_profile", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "wait_till", | ||
| "required": false | ||
| }, | ||
| { | ||
| "key": "wait_till_timeout", | ||
| "required": false | ||
| } | ||
| ], | ||
| "install_type": "fullstack" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # Deploying observability agents on a Red Hat OpenShift cluster | ||
|
|
||
| This architecture deploys the following observability agents on a Red Hat OpenShift cluster: | ||
|
|
||
| * Cloud Monitoring agent | ||
| * Cloud Logs agent | ||
|
|
||
| ## Before you begin | ||
|
|
||
| * Make sure that the Red Hat OpenShift Cluster is deployed. | ||
|
|
||
| * Make sure that the observability instances (Cloud Logs and Cloud Monitoring) for which specific agents are required are deployed. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| { | ||
| "ibmcloud_api_key": $VALIDATION_APIKEY | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Ignore everything | ||
| * | ||
|
|
||
| # But not these files... | ||
| !.gitignore | ||
| !README.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| This directory must exist in source control so the `ibm_container_cluster_config` data lookup can use it to place the | ||
| config.yml used to connect to a kubernetes cluster. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| ############################################################################## | ||
| # Observability Agents | ||
| ############################################################################## | ||
|
|
||
| data "ibm_container_cluster_config" "cluster_config" { | ||
| cluster_name_id = local.is_vpc_cluster ? data.ibm_container_vpc_cluster.cluster[0].name : data.ibm_container_cluster.cluster[0].name | ||
| resource_group_id = local.cluster_resource_group_id | ||
| config_dir = "${path.module}/kubeconfig" | ||
| endpoint_type = local.cluster_config_endpoint_type != "default" ? local.cluster_config_endpoint_type : null | ||
| } | ||
|
|
||
| locals { | ||
| use_cluster_data = length(var.cluster_data) > 0 | ||
|
|
||
| first_cluster_key = local.use_cluster_data ? keys(var.cluster_data)[0] : null | ||
|
|
||
| cluster_id = local.use_cluster_data ? var.cluster_data[local.first_cluster_key].id : var.cluster_id | ||
| cluster_resource_group_id = local.use_cluster_data ? var.cluster_data[local.first_cluster_key].resource_group_id : var.cluster_resource_group_id | ||
| cluster_config_endpoint_type = var.cluster_config_endpoint_type | ||
| is_vpc_cluster = var.is_vpc_cluster | ||
| } | ||
|
|
||
| module "observability_agents" { | ||
| source = "../.." | ||
| cluster_id = local.cluster_id | ||
| cluster_resource_group_id = local.cluster_resource_group_id | ||
| cluster_config_endpoint_type = local.cluster_config_endpoint_type | ||
| # Cloud Monitoring (Sysdig) Agent | ||
| cloud_monitoring_enabled = var.cloud_monitoring_enabled | ||
| cloud_monitoring_agent_name = var.prefix != null ? "${var.prefix}-${var.cloud_monitoring_agent_name}" : var.cloud_monitoring_agent_name | ||
| cloud_monitoring_agent_namespace = var.cloud_monitoring_agent_namespace | ||
| cloud_monitoring_endpoint_type = var.cloud_monitoring_endpoint_type | ||
| cloud_monitoring_access_key = var.cloud_monitoring_access_key | ||
| cloud_monitoring_secret_name = var.prefix != null ? "${var.prefix}-${var.cloud_monitoring_secret_name}" : var.cloud_monitoring_secret_name | ||
| cloud_monitoring_metrics_filter = var.cloud_monitoring_metrics_filter | ||
| cloud_monitoring_agent_tags = var.cloud_monitoring_agent_tags | ||
| cloud_monitoring_instance_region = var.cloud_monitoring_instance_region | ||
| cloud_monitoring_agent_tolerations = var.cloud_monitoring_agent_tolerations | ||
| cloud_monitoring_add_cluster_name = var.cloud_monitoring_add_cluster_name | ||
| # Logs Agent | ||
| logs_agent_enabled = var.logs_agent_enabled | ||
| logs_agent_name = var.logs_agent_name | ||
| logs_agent_namespace = var.logs_agent_namespace | ||
| logs_agent_trusted_profile = var.logs_agent_trusted_profile | ||
| logs_agent_iam_api_key = var.logs_agent_iam_api_key | ||
| logs_agent_tolerations = var.logs_agent_tolerations | ||
| logs_agent_additional_log_source_paths = var.logs_agent_additional_log_source_paths | ||
| logs_agent_exclude_log_source_paths = var.logs_agent_exclude_log_source_paths | ||
| logs_agent_selected_log_source_paths = var.logs_agent_selected_log_source_paths | ||
| logs_agent_log_source_namespaces = var.logs_agent_log_source_namespaces | ||
| logs_agent_iam_mode = var.logs_agent_iam_mode | ||
| logs_agent_iam_environment = var.logs_agent_iam_environment | ||
| logs_agent_additional_metadata = var.logs_agent_additional_metadata | ||
| logs_agent_enable_scc = var.logs_agent_enable_scc | ||
| cloud_logs_ingress_endpoint = var.cloud_logs_ingress_endpoint | ||
| cloud_logs_ingress_port = var.cloud_logs_ingress_port | ||
| is_vpc_cluster = var.is_vpc_cluster | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| ############################################################################## | ||
| # Outputs | ||
| ############################################################################## | ||
|
|
||
|
|
||
| ############################################################################## |
Uh oh!
There was an error while loading. Please reload this page.