cortex icon indicating copy to clipboard operation
cortex copied to clipboard

Crossplane provider proposal

Open zanderfriz opened this issue 1 month ago • 8 comments

What this PR does: Introduces a proposal for a crossplane provider to the cortex project) to declaratively manage Cortex Alertmanager and Ruler configurations through Kubernetes Custom Resources.

Which issue(s) this PR fixes: N/A Checklist

  • [N/A] Tests updated
  • [x] Documentation added
  • [ N/A] CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

zanderfriz avatar Nov 03 '25 21:11 zanderfriz

thanks!. please follow https://github.com/cortexproject/cortex/pull/7085/checks?check_run_id=54406852290 to fix DCO

friedrichg avatar Nov 03 '25 23:11 friedrichg

@zanderfriz please rebase to have CI pass the PR. We made some changes in GitHub Actions

friedrichg avatar Nov 17 '25 18:11 friedrichg

I am in support of this proposal

I have 2 requests to merge this as accepted:

  • Let's put this in a separate repo inside cortexproject, where the selected maintainers will be able to keep this component updated.
  • We need 2 maintainers for this. (I can't be a maintainer, sorry). I am expecting you will be one of the mantainers. Can you find 1 person to help you with this?

friedrichg avatar Nov 17 '25 19:11 friedrichg

+1 on making sure there are at least 2 maintainers for this provider component.

Support a separate repo within the project.

alolita avatar Nov 18 '25 05:11 alolita

+1

SungJin1212 avatar Nov 20 '25 01:11 SungJin1212

After discussing with @devopsjedi, he said he would be happy to be a maintainer on this project

zanderfriz avatar Nov 21 '25 00:11 zanderfriz

After discussing with @devopsjedi, he said he would be happy to be a maintainer on this project

Agreed- excited to support this effort!

devopsjedi avatar Nov 21 '25 02:11 devopsjedi

I had written a long winded version of this comment but realized it was all just a matter of my internal organization's organization. In short we can't use this version of the operator because we can't run crossplane. We're an observability team and do not have the responsibility to run something that at the same time can provision s3 buckets.

Also, neither the Prometheus nor Opentelemetry operator, two work-horses of our observability infrastructure, require that we run crossplane, why should cortex?

Don't get me wrong, I don't want to trash the idea of crossplane. It's better for the cortex community to have a crossplane provider than nothing. But we won't be able to use it where I work and that makes me sad.

@forestsword I really appreciate the feedback. Technically you don't need to run the operators like provider-aws that enable the deployment of s3 buckets and other resources. You could just run Crossplane and have the cortex operator be the only one installed. That being said, internal organization polies are just that. I'd encourage you to try running the provider as a standalone operator. You can also save yourself some copy pasta using kustomize to manage your TenantConfig, RuleGroup, and AlertmanagerConfig objects which would let you easily share a base RuleGroup between clusters.

zanderfriz avatar Dec 01 '25 20:12 zanderfriz

Sorry for the late reply.

Feel free to run this as an operator and not run the full crossplane system. It works as a standalone operator.

I did not know this and assuages most if not all of my concerns and is great news! I think you covered my comments feel free to resolve as you see fit. I'm a bit skeptical it will work out of the box as I haven't found any docs saying that you can run it standalone but I'll trust you that it's the case. But could you link some documentation if it exists I'd appreciate it.

Thank you for the wonderful exchange and I hope this project moves forward and we can help!

Also fyi I discovered an existing crossplane provider here for cortex: https://github.com/swisscom/provider-cortex

It has not been updated in a while so I'm not sure if it's unmaintained or so stable they don't need to update it.

forestsword avatar Dec 12 '25 13:12 forestsword