-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
The argo-events chart doesn't include an EventBus #840
Comments
Same for me, saw this error: I guess that the issue is that the name of the eventbus is different from default, how can we adjust the event source controller? |
I am also surprised to learn that the required CRDs are not generated with something like
|
The |
This behavior is, I agree, unexpected. Just started using this helm chart for event processing, but to my surprise it needs an additional event bus resource for each namespace that is home to event sources and event bindings. Which is not supplied by the helm chart. Is this correct @mkilchhofer ? |
@mkilchhofer maybe this escaped your attention. This issue was still waiting for a response. |
Could you also re-open the issue? I'm fine submitting a pull request, but what's in it rather depends on the intended strategy for the chart. |
Thanks for the action @mkilchhofer. I'll see if I can open a PR for this soon. Argo Events is useless without a EventBus resource. It creates the bus itself where event messages are written to and from. |
Hmm I read through the documentation. The architecture picture made me thinking about this issue again.
Besides the EventBus the users need to deploy (depending on their use-case):
--> While we could extend the chart to provide this functionality, we must not install anything of WDYT @jbehling and @VaibhavPage? |
@mkilchhofer I believe resources like The event bus is a dependency for the controller deployments. By default, controllers try to connect to an event bus with the unfortunate default name of Furthermore, the event bus is a dependency for deploying any HTH |
No, also the From the picture above it looks clear to me that the controllers do not talk with the eventbus. |
Aha I see, thanks for the clarification. So, it seems there is a bit of a contradiction in the docs. The architecture picture can be read such that Which brings me to this: it would be helpful if the helm chart either
Either way is fine, I think, but in its current state causes confusion, hence this issue. I leave it up to the maintainers to decide on this, but I guess for people starting out with this helm chart, it could be a tremendous time saver to have either option 1 or 2. Thanks again for your thoughts. |
@mkilchhofer can we agree on option 2? |
Yes, sure. There is already a PR open from the community: |
Ah someone beat me to it! Excellent! |
Since that PR was closed without merging 7 days ago, is there any workaround for this? |
Hi there, we use ArgoCD, Argo Workflows, and are in process of deploying Argo Events. For Argo Events we are facing same issue as other community members here.
#2 is okay by us for our needs and a better design practice. That said, getting up and running is made more difficult by this design choice for newcomers like ourselves. If someone could please confirm that we MUST install the EventBus separately, that would be much appreciated. I admit, our team is stuck atm ;) |
@phoenix1480 Hi, I've reimplemented the recent version of argo-events and the reason why I haven't added the EventBus even when I saw this issue was because of managing upgrades in multi-tenant environments that can contain multiple EventBus resources. Example: apiVersion: argorpoj.io/v1alpha1
kind: EventBus
metadata:
name: default
spec:
jetstream:
version: my-version
replicas: 3 As you can see in example above the version is tied to configs:
jetsream:
version:
-version: "2.0.2"
natsImage: <nats-image>:2.0.2
- version: "2.0.2-alpine"
natsImage: <nats-image>:2.0.2-alpine
-version: "2.0.1"
natsImage: <nats-image>:2.0.2 Second problem would be in referencing customer resource definition that might not exists in the cluster yet. If you want to have preconfigured Argo Events with buses / triggers etc. I would recommend to create your own umbrella chart that will first deploy the controller with configuration as a dependency and then creates all these resources. |
Yes, Argo Events will go absolutely nowhere without an event bus. The current solution is to create an umbrella chart @pdrastil suggests that includes a manifest like the one suggested in the getting started guide: |
@phoenix1480 If this helps: I did some tinkering here: https://github.com/Antfield-Creations/gke/tree/main/charts/antfield-argo-events |
This is good to take into consideration for designing updates to the current chart. It should not enable an event bus by default, but it should be made easy to opt into one |
Sorry I'm a little late to the conversation about this, but I have to disagree with @reinvantveer 's point about "should not enable an event bus by default". Installing an At the very least the |
@rakhbari thanks for sharing your point of view here. My main consideration was that an update to the chart should not break existing installations, let alone on an |
Hi to all here - getting same on Helm Charts version 2.1.2 Can someone make some clarification of this case ?
this |
Hi @boris-shkarupelov that's right - you deploy an event bus. The "pretty" way of doing this would be to derive your own helm chart from the argo-events chart and put the contents of https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/eventbus/native.yaml in there, so that you have a versioned release, including your event bus. This is exactly why it would be a good idea to include it into the argo-events chart in the first place. I created something similar here: https://github.com/Antfield-Creations/gke/tree/main/charts/antfield-argo-events |
As things stand currently, the installation instructions should be edited to mention that the helm chart does not install an eventbus: https://argoproj.github.io/argo-events/installation/#using-helm-chart In addition, |
@joebowbeer would you like to create a PR for those doc change requests? |
apiVersion: argorpoj.io/v1alpha1 Note the typo, "argorpoj", I noticed only after updating and recreated the crds a lot of times :-) |
@murand78 link to typo? |
sorry, the example in #840 (comment) |
Is your feature request related to a problem? Please describe.
I installed argo-events through helm but it just doesn't work. I setup my kafka event source and it never connects giving an error about a missing EventBus.
When I manually run
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/eventbus/native.yaml
then the bus appears and I see it starts connecting.It really seems like the helm chart should create the EventBus when you install it and just have configuration options to configure it. But the event system seems to not function without it so it probably should be in the chart.
Describe the solution you'd like
I'd like to just be able to
helm install argo-events
and boom it has everything to function, at least simply, by default.Describe alternatives you've considered
I can just run more stuff and manually create resources but it is confusing and takes a lot of effort just to even try argo out at all.
Additional context
Additionally, I hate that argo goes into one namespace and argo-events goes into another... Please just put everything under the 1 argo namespace.
The text was updated successfully, but these errors were encountered: