-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add managed identity support of Azure Event Hub provider in notification-controller #1047
Comments
Love workload identity ❤ I'd like to register here a recent discussion around this subject we had in the flux dev meetings. This proposal is proposing single-tenant workload identity, i.e. the managed identity is associated with notification-controller rather than with the This function receives a callback that must return a Kubernetes The access scope for Azure Event Hubs is:
With these four inputs, scope, SA token, tenant ID and client ID, we should be able to call the function proposed above to get a JWT access token from the Azure Security Token Service and use it to publish messages to an Azure Event Hub exactly the way we do right now through the JWT method, with the difference now that we generated the token ourselves from the involved identities rather than loading it from a This solution allows each I did a quick test and this approach works:
This is in line with the the RFC we are drafting here: PR Link: fluxcd/flux2#5209 |
@stefanprodan: We need Azure Managed Identity support for Azure Event Hub, as the JWT Secret approach doesn't work for our infrastructure requirements. I'd like to contribute by implementing this feature in the notification-controller. I can proceed with either:
Please advise which implementation path you'd prefer so I can begin work promptly. I'm ready to submit a PR in the coming weeks. |
@BigGold1310 We are already working on this, see fluxcd/flux2#5209 |
@matheuscscp Thanks for the reference. I've seen the proposal. I'd like to know which implementation is now preferred in the Azure Event Hubs case here. Based on that I would start with a PR containing an implementation proposal. Feel free to guide me on that. |
@BigGold1310 This is on the Flux Roadmap for v2.6 release and on my radar to implement. You can use this issue for tracking the progress. Thanks for offering to help, we will keep you posted if we need help. |
Today, notification-controller integration with Azure event hub provider supports JWT tokens and SAS string for authentication. The existing approaches have drawbacks.
Because of these drawbacks, the proposal is to add support for Managed Identity for Azure Event Hub.
.spec.secretRef
of theProvider
object, use the ProducerClient of the SDK to specify a TokenCredential built using the JWT token..spec.secretRef
of theProvider
object, use the ProducerClient of the SDK to connect using SAS string.To use notification-controller with Workload identity,
Provider
spec would no longer need a.spec.secretRef
, it would reference the azure event hub namespace and event hub name as shown below.The text was updated successfully, but these errors were encountered: