Skip to content
Closed
Show file tree
Hide file tree
Changes from 32 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .catalog-onboard-pipeline.yaml
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: 7df1e4ca-d54c-4fd0-82ce-3d13247308cd
offering_id: d4ed02f5-0aa5-4e03-a9cb-7913ab2da27f
variations:
- name: fully-configurable
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"
3 changes: 3 additions & 0 deletions .releaserc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
}],
["@semantic-release/exec", {
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
}],
["@semantic-release/exec", {
"publishCmd": "./ci/trigger-catalog-onboarding-pipeline.sh --version=v${nextRelease.version}"
}]
]
}
334 changes: 334 additions & 0 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,334 @@
{
"products": [
{
"label": "Cloud automation for Observability agents",
"name": "deploy-arch-ibm-observability-agents",
"product_kind": "solution",
"tags": [
"ibm_created",
"logging_monitoring",
"terraform",
"target_terraform",
"solution"
],
"keywords": [
"observability",
"agents",
"IaC",
"infrastructure as code",
"terraform",
"solution"
],
"provider_name": "IBM",
"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/fully-configurable/README.md",
"offering_icon_url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-observability-agents/main/images/observability-icon.svg",
"flavors": [
{
"label": "Fully Configurable",
"name": "fully-configurable",
"working_directory": "solutions/fully-configurable",
"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": [
{
"title": "Works with any Openshift or k8s cluster",
"description": "Yes"
},
{
"title": "Deploys the IBM Cloud Monitoring agent on an existing cluster.",
"description": "Yes"
},
{
"title": "Deploys the IBM Logs agent on an existing cluster.",
"description": "Yes"
}
],
"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."
}
]
},
"dependencies": [
{
"flavors": [
"quickstart",
"standard"
],
"id": "95fccffc-ae3b-42df-b6d9-80be5914d852-global",
"name": "deploy-arch-ibm-slz-ocp",
"version": ">=v3.0.0",
"optional": true
},
{
"flavors": [
"instances"
],
"catalog_id": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3",
"id": "a3137d28-79e0-479d-8a24-758ebd5a0eab-global",
"name": "deploy-arch-ibm-observability",
"version": ">=v1.3.1",
"optional": true
}
],
"dependency_version_2": true,
"configuration": [
{
"key": "ibmcloud_api_key",
"required": true
},
{
"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": "cluster_id",
"custom_config": {
"type": "cluster_var",
"grouping": "deployment",
"original_grouping": "deployment"
}
},
{
"key": "cluster_resource_group_id",
"custom_config": {
"type": "resource_group",
"grouping": "deployment",
"original_grouping": "deployment",
"config_constraints": {
"identifier": "rg_id"
}
}
},
{
"key": "is_vpc_cluster",
"required": true
},
{
"key": "is_ocp_cluster",
"required": true,
"default_value": true
},
{
"key": "cloud_monitoring_instance_region",
"display_name": "Region",
"options": [
{
"displayname": "Dallas (us-south)",
"value": "us-south"
},
{
"displayname": "Frankfurt (eu-de)",
"value": "eu-de"
},
{
"displayname": "London (eu-gb)",
"value": "eu-gb"
},
{
"displayname": "Madrid (eu-es)",
"value": "eu-es"
},
{
"displayname": "Osaka (jp-osa)",
"value": "jp-osa"
},
{
"displayname": "Sao Paulo (br-sao)",
"value": "br-sao"
},
{
"displayname": "Sydney (au-syd)",
"value": "au-syd"
},
{
"displayname": "Toyko (jp-tok)",
"value": "jp-tok"
},
{
"displayname": "Toronto (ca-tor)",
"value": "ca-tor"
},
{
"displayname": "Washington DC (us-east)",
"value": "us-east"
}
],
"required": true
},
{
"key": "cloud_monitoring_access_key",
"required": true
},
{
"key": "cloud_logs_ingress_endpoint",
"required": true
},
{
"key": "cloud_logs_ingress_port",
"required": true
},
{
"key": "logs_agent_trusted_profile_id",
"required": true
},
{
"key": "cloud_monitoring_enabled"
},
{
"key": "cloud_monitoring_add_cluster_name"
},
{
"key": "cloud_monitoring_agent_name"
},
{
"key": "cloud_monitoring_agent_namespace"
},
{
"key": "cloud_monitoring_agent_tags",
"custom_config": {
"grouping": "deployment",
"original_grouping": "deployment",
"config_constraints": {
"type": "string"
}
}
},
{
"key": "cloud_monitoring_agent_tolerations",
"type": "array"
},
{
"key": "cloud_monitoring_endpoint_type",
"options": [
{
"displayname": "Public",
"value": "Public"
},
{
"displayname": "Private",
"value": "Private"
}
]
},
{
"key": "cloud_monitoring_metrics_filter"
},
{
"key": "cloud_monitoring_secret_name"
},
{
"key": "cluster_config_endpoint_type"
},
{
"key": "logs_agent_enabled"
},
{
"key": "logs_agent_additional_log_source_paths"
},
{
"key": "logs_agent_additional_metadata"
},
{
"key": "logs_agent_exclude_log_source_paths"
},
{
"key": "logs_agent_iam_api_key"
},
{
"key": "logs_agent_iam_environment",
"options": [
{
"displayname": "Production",
"value": "Production"
},
{
"displayname": "Private Production",
"value": "PrivateProduction"
},
{
"displayname": "Staging",
"value": "Staging"
},
{
"displayname": "Private Staging",
"value": "PrivateStaging"
}
]
},
{
"key": "logs_agent_iam_mode",
"options": [
{
"displayname": "Trusted Profile",
"value": "TrustedProfile"
},
{
"displayname": "IAM API Key",
"value": "IAMAPIKey"
}
]
},
{
"key": "logs_agent_log_source_namespaces"
},
{
"key": "logs_agent_name"
},
{
"key": "logs_agent_namespace"
},
{
"key": "logs_agent_selected_log_source_paths"
},
{
"key": "logs_agent_tolerations"
},
{
"key": "wait_till",
"options": [
{
"displayname": "Master Node Ready",
"value": "MasterNodeReady"
},
{
"displayname": "OneWorkerNodeReady",
"value": "One Worker Node Ready"
},
{
"displayname": "IngressReady",
"value": "Ingress Ready"
},
{
"displayname": "Normal",
"value": "Normal"
}
]
},
{
"key": "wait_till_timeout"
}
],
"install_type": "fullstack"
}
]
}
]
}
1 change: 1 addition & 0 deletions images/observability-icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions solutions/fully-configurable/DA-types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Configuring Cloud Monitoring Metrics Filter

When you deploy the IBM Cloud Monitoring agent using the `solutions/fully-configurable` module, you can configure the metrics that the agent collects by using the `cloud_monitoring_metrics_filter` variable. This variable allows you to specify which metrics to include or exclude from the collection.

### Options for `cloud_monitoring_metrics_filter`
- `type` (required): The type of filter to apply. Valid values are `include` and `exclude`.
- `name` (required): The name of the metric to include or exclude. You can use wildcards to match multiple metrics.

### Example `cloud_monitoring_metrics_filter` Usage

To include specific metrics and exclude others, you can configure the `cloud_monitoring_metrics_filter` variable as follows:

```hcl
cloud_monitoring_metrics_filter = [
{
type = "include"
name = "metricA.*"
},
{
type = "exclude"
name = "metricB.*"
}
]
```

In this example:
- All metrics that match the pattern `metricA.*` will be included.
- All metrics that match the pattern `metricB.*` will be excluded.

### What It Does

The `cloud_monitoring_metrics_filter` variable is used to configure the Cloud Monitoring agent to include or exclude specific metrics during the collection process. This configuration is passed down to the base module, which applies the filter settings to the agent.
Loading