https://github.com/terraform-ibm-modules/terraform-ibm-activity-tracker
This module supports provisioning an IBM Cloud Activity Tracker Event Routing target & routes
https://github.com/terraform-ibm-modules/terraform-ibm-activity-tracker
activity-tracker at core-team event-routing ibm-cloud observability terraform terraform-module
Last synced: 2 months ago
JSON representation
This module supports provisioning an IBM Cloud Activity Tracker Event Routing target & routes
- Host: GitHub
- URL: https://github.com/terraform-ibm-modules/terraform-ibm-activity-tracker
- Owner: terraform-ibm-modules
- License: apache-2.0
- Created: 2025-03-08T08:49:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-16T04:26:56.000Z (2 months ago)
- Last Synced: 2026-05-16T06:40:17.304Z (2 months ago)
- Topics: activity-tracker, at, core-team, event-routing, ibm-cloud, observability, terraform, terraform-module
- Language: HCL
- Size: 631 KB
- Stars: 0
- Watchers: 12
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# IBM Cloud Activity Tracker Event Routing
[-brightgreen)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
[](https://github.com/semantic-release/semantic-release)
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/terraform-ibm-modules/terraform-ibm-activity-tracker/releases/latest)
[](https://renovatebot.com/)
[](https://registry.terraform.io/modules/terraform-ibm-modules/activity-tracker/ibm/latest)
This module supports configuring an IBM Cloud Activity Tracker event routing target, routes and settings.
## Overview
- terraform-ibm-activity-tracker
-
Examples
ℹ️ Ctrl/Cmd+Click or right-click on the Schematics deploy button to open in a new tab.
-
Deployable Architectures
- Cloud automation for Cloud Monitoring (Event Routing Account Settings)
- Cloud automation for Activity Tracker Event Routing (Fully configurable)
- Contributing
## terraform-ibm-activity-tracker
### Usage
```hcl
terraform {
required_version = ">= 1.9.0"
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
version = "X.Y.Z" # Lock into a provider version that satisfies the module constraints
}
}
}
locals {
region = "us-south"
target_ids = [
module.activity_tracker.activity_tracker_targets["icl-target"].id,
module.activity_tracker.activity_tracker_targets["cos-target"].id,
module.activity_tracker.activity_tracker_targets["es-target"].id
]
}
provider "ibm" {
ibmcloud_api_key = "XXXXXXXXXX" # replace with apikey value
region = local.region
}
module "activity_tracker" {
source = "terraform-ibm-modules/activity-tracker/ibm"
version = "X.Y.Z" # Replace "X.Y.Z" with a release version to lock into a specific release
# Cloud Logs target
cloud_logs_targets = [
{
instance_id = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
target_region = local.region
target_name = "icl-target"
}
]
# COS target
cos_targets = [
{
bucket_name = "cos-bucket"
endpoint = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
instance_id = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
target_region = local.region
target_name = "cos-target"
skip_atracker_cos_iam_auth_policy = false
service_to_service_enabled = true
}
]
# Event Stream target
eventstreams_targets = [
{
instance_id = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
brokers = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
topic = "es-topic"
target_region = local.region
target_name = "es-target"
service_to_service_enabled = true
skip_atracker_es_iam_auth_policy = false
}
]
# AT Event routing route
activity_tracker_routes = [
{
locations = ["*"]
target_ids = local.target_ids
route_name = "at-route"
}
]
}
```
### Required access policies
### Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.9.0 |
| [ibm](#requirement\_ibm) | >= 1.88.0, < 3.0.0 |
| [time](#requirement\_time) | >= 0.9.1, < 1.0.0 |
### Modules
| Name | Source | Version |
|------|--------|---------|
| [cbr\_rule](#module\_cbr\_rule) | terraform-ibm-modules/cbr/ibm//modules/cbr-rule-module | 1.36.4 |
### Resources
| Name | Type |
|------|------|
| [ibm_atracker_route.atracker_routes](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/atracker_route) | resource |
| [ibm_atracker_settings.atracker_settings](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/atracker_settings) | resource |
| [ibm_atracker_target.atracker_cloud_logs_targets](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/atracker_target) | resource |
| [ibm_atracker_target.atracker_cos_targets](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/atracker_target) | resource |
| [ibm_atracker_target.atracker_eventstreams_targets](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/atracker_target) | resource |
| [ibm_iam_authorization_policy.atracker_cloud_logs](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/iam_authorization_policy) | resource |
| [ibm_iam_authorization_policy.atracker_cos](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/iam_authorization_policy) | resource |
| [ibm_iam_authorization_policy.atracker_es](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/resources/iam_authorization_policy) | resource |
| [time_sleep.wait_for_authorization_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
| [time_sleep.wait_for_cloud_logs_auth_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
| [time_sleep.wait_for_event_stream_auth_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
| [ibm_iam_account_settings.iam_account_settings](https://registry.terraform.io/providers/ibm-cloud/ibm/latest/docs/data-sources/iam_account_settings) | data source |
### Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [activity\_tracker\_routes](#input\_activity\_tracker\_routes) | List of routes to be created, maximum four routes are allowed |
list(object({
locations = list(string)
target_ids = list(string)
route_name = string
})) | `[]` | no |
| [cbr\_rules](#input\_cbr\_rules) | The context-based restrictions rule to create. Only one rule is allowed. [Learn more](https://cloud.ibm.com/docs/account?topic=account-at_events_cbr). |
list(object({
description = string
account_id = string
region = optional(string)
rule_contexts = list(object({
attributes = optional(list(object({
name = string
value = string
}))) }))
enforcement_mode = string
operations = optional(list(object({
api_types = list(object({
api_type_id = string
}))
})))
})) | `[]` | no |
| [cloud\_logs\_targets](#input\_cloud\_logs\_targets) | List of Cloud Logs targets to be created |
list(object({
instance_id = string
target_region = optional(string)
target_name = string
skip_atracker_cloud_logs_iam_auth_policy = optional(bool, false)
})) | `[]` | no |
| [cos\_targets](#input\_cos\_targets) | List of Cloud Object Storage targets to be created |
list(object({
endpoint = string
bucket_name = string
instance_id = string
api_key = optional(string)
service_to_service_enabled = optional(bool, true)
target_region = optional(string)
target_name = string
skip_atracker_cos_iam_auth_policy = optional(bool, false)
})) | `[]` | no |
| [eventstreams\_targets](#input\_eventstreams\_targets) | List of Event Streams targets to be created |
list(object({
instance_id = string
brokers = list(string)
topic = string
api_key = optional(string)
service_to_service_enabled = optional(bool, true)
target_region = optional(string)
target_name = string
skip_atracker_es_iam_auth_policy = optional(bool, false)
})) | `[]` | no |
| [global\_event\_routing\_settings](#input\_global\_event\_routing\_settings) | Global account settings for event routing. [Learn more](https://cloud.ibm.com/docs/atracker?topic=atracker-settings&interface=ui) |
object({
default_targets = optional(list(string), [])
metadata_region_primary = string
metadata_region_backup = optional(string)
permitted_target_regions = list(string)
private_api_endpoint_only = optional(bool, false)
}) | `null` | no |
### Outputs
| Name | Description |
|------|-------------|
| [activity\_tracker\_routes](#output\_activity\_tracker\_routes) | The map of created routes |
| [activity\_tracker\_settings](#output\_activity\_tracker\_settings) | AT event routing account global settings. |
| [activity\_tracker\_targets](#output\_activity\_tracker\_targets) | The map of created targets |
## Contributing
You can report issues and request features for this module in GitHub issues in the module repo. See [Report an issue or request a feature](https://github.com/terraform-ibm-modules/.github/blob/main/.github/SUPPORT.md).
To set up your local development environment, see [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup) in the project documentation.