Skip to content
This repository was archived by the owner on Jul 28, 2026. It is now read-only.

[dev.operator-integrations-support] Update integration CRD names - #1223

Closed
rfratto wants to merge 3 commits into
grafana-cold-storage:dev.operator-integrations-support-deprecatedfrom
rfratto:update-operator-integrations
Closed

rfratto wants to merge 3 commits into
grafana-cold-storage:dev.operator-integrations-support-deprecatedfrom
rfratto:update-operator-integrations

Conversation

@rfratto

@rfratto rfratto commented Jan 3, 2022

Copy link
Copy Markdown
Contributor

Given #1198 and the intent that we will have more types of integrations that aren't just for metrics, it feels like a good move to rename IntegrationsInstance and IntegrationMonitor to MetricsIntegrationsInstance and MetricsIntegrationMonitor respectively.

This change will allow us to configure fields that we know are commonly available on all metrics integrations (e.g.,, instance or autoscrape) but not necessarily available on integrations of different types.

Additionally, the old "mode" field has been changed to "type", where a type is either daemonset (run on every node), singleton (run once per GrafanaAgent deployment) or normal (run any number of times per GrafanaAgent deployment). This aligns with the multiplexing functionality present in #1198.

"daemonset" and "singleton" both refer to integrations that can only be defined once per Grafana Agent. This is a concept unique to the operator; while node_exporter and statsd_exporter are both single-instance integrations, you would definitely want node_exporter to run on every node, but that's not necessarily also true of statsd_exporter.

This PR is some light prep work while #1198 is being reviewed. A new design doc supplanting the original one in #883 will follow, since #1998 will changes the implementation details and I've learned some lessons during my prototyping that should be written down.

Given grafana-cold-storage#1198 and the intent that we will have integrations beyond
metrics, it feels like a good move to rename IntegrationsInstance and
IntegrationMonitor to MetricsIntegrationsInstance and
MetricsIntegrationMonitor respectively. This will allow us to configure
fields that we know are commonly available on all metrics integrations
but not necessarily on non-metrics integrations.

The old "mode" field has been changed to "type", where a type is either
daemonset (run on every node), singleton (run once per GrafanaAgent
deployment) or normal (run any number of times per GrafanaAgent
deployment). This aligns with the functionality present in grafana-cold-storage#1198.

"daemonset" and "singleton" both refer to integrations that can only be
defined once per Grafana Agent. Having both at the operator level makes
sense; statsd_exporter can only be defined once per agent, but you
wouldn't necessarily want it running on every node. Given that, it makes
sense to distinguish between the two single-instance integration types
specifically for Kubernetes.
@rfratto
rfratto requested a review from rgeyer January 3, 2022 22:56

@rgeyer rgeyer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me

@rfratto

rfratto commented Feb 2, 2022

Copy link
Copy Markdown
Contributor Author

This work has been superseded by another dev branch.

@rfratto rfratto closed this Feb 2, 2022
@rfratto
rfratto deleted the update-operator-integrations branch March 14, 2022 21:22
@github-actions github-actions Bot added the frozen-due-to-age Locked due to a period of inactivity. Please open new issues or PRs if more discussion is needed. label Apr 1, 2024
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Apr 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

frozen-due-to-age Locked due to a period of inactivity. Please open new issues or PRs if more discussion is needed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants