Mimir recording rules for temporal aggregations

Hi,

I’m designing a multi-tenant architecture with Grafana Mimir and I have a question about the current limitations of recording rules.

My use case is about retention, cost control, and temporal downsampling.

Current setup:

  • One “raw” tenant with 30 days retention
    • High-resolution metrics
    • High cardinality
  • Other tenants with longer retention:
    • 2 months
    • 6 months
    • 1 year

Goal:

  • Use recording rules to compute temporal aggregations such as:
    • rate(metric[1h])
    • avg_over_time(metric[1h])
    • sum_over_time(metric[1h])
  • Reduce resolution and cardinality
  • Store only the aggregated series in a different tenant with a longer retention policy

In other words:

  • Read metrics from the short-retention “raw” tenant
  • Execute recording rules for temporal downsampling
  • Write the resulting series into another tenant with different retention

From what I understand today:

  • Recording rules always execute in the context of a single tenant
  • The results can only be written back into the same tenant
  • Mimir enforces strict tenant isolation

This means I currently need to introduce an external aggregation layer to re-ingest the aggregated metrics into a different tenant.

My questions are:

  1. Is there any supported or planned way in Mimir to execute recording rules in one tenant and write the resulting series into another tenant?
  2. If this is not possible and an external aggregator is the recommended pattern:
    • Which components are recommended?
    • Is there any reference architecture or example for implementing this downsampling + tiered retention pattern in a supported way?

Thanks.