argoproj / argoproj/argo-workflows

Workflows on server-mode shouldn't require "argo-workflows-webhook-clients" if not using specific webhooks

Open
#9,901 1 comment 3 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
17k
Forks
3.7k
Avg merge
1d 20h
Merged PRs (30d)
138

Description

# Summary

Currently there's a requirement that, if you're running on server-mode you'll need to add the Secret `argo-workflows-webhook-clients` as per described here: https://argoproj.github.io/argo-workflows/webhooks/

Reading the GoLang code, I saw that secret only gets used if I have a `webhook` from Gitlab, Bitbucket and so forth, but not if I just want to use it as an API instead, sending events through Curl, for example.

My app is on server-mode because authentication will happen using SSO and Keycloak under the ingress level, so I won't need it at app level as much, but I ended up having to create this Secret with dummy values just to make the workflow be triggered correctly.

I think the requirement of that Secret should be removed for such cases, and only used if the Service Account is one of the types you guys check.

# Use Cases

- When creating event binding on a argo-workflows running in need server mode, without the request being from any of the specific webhook types (Gitlab, Bitbucket, etc).

---

**Message from the maintainers**:

Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Go server-mode startup path and the handling of the argo-workflows-webhook-clients Secret when creating an event binding. Confirm the behavior for GitLab, Bitbucket, and other specific webhook types versus curl/API requests. Done means server-mode API event bindings work without dummy Secret values while supported webhooks retain their required configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.