Skip to content
This repository has been archived by the owner on Jul 15, 2024. It is now read-only.

Commit

Permalink
feat: make webhook address configurable (#450)
Browse files Browse the repository at this point in the history
* feat: make webhook address configurable

* do not hard exit when failed to create a webhook handler
  • Loading branch information
chetan-rns authored Jan 10, 2022
1 parent c31a9ba commit 7b8642a
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ func init() {
func main() {
var metricsAddr string
var probeBindAddr string
var webhookAddr string
var enableLeaderElection bool
var namespace string
var argocdRepoServer string
Expand All @@ -83,6 +84,7 @@ func main() {

flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.")
flag.StringVar(&probeBindAddr, "probe-addr", ":8081", "The address the probe endpoint binds to.")
flag.StringVar(&webhookAddr, "webhook-addr", ":7000", "The address the webhook endpoint binds to.")
flag.BoolVar(&enableLeaderElection, "enable-leader-election", false,
"Enable leader election for controller manager. "+
"Enabling this will ensure there is only one active controller manager.")
Expand Down Expand Up @@ -156,9 +158,11 @@ func main() {
webhookHandler, err := utils.NewWebhookHandler(namespace, argoSettingsMgr, mgr.GetClient())
if err != nil {
setupLog.Error(err, "failed to create webhook handler")
os.Exit(1)
}
startWebhookServer(webhookHandler)

if webhookHandler != nil {
startWebhookServer(webhookHandler, webhookAddr)
}

terminalGenerators := map[string]generators.Generator{
"List": generators.NewListGenerator(),
Expand Down Expand Up @@ -232,12 +236,12 @@ func setLoggingLevel(debug bool, logLevel string) {
}
}

func startWebhookServer(webhookHandler *utils.WebhookHandler) {
func startWebhookServer(webhookHandler *utils.WebhookHandler, webhookAddr string) {
mux := http.NewServeMux()
mux.HandleFunc("/api/webhook", webhookHandler.Handler)
go func() {
setupLog.Info("Starting webhook server")
err := http.ListenAndServe(":7000", mux)
err := http.ListenAndServe(webhookAddr, mux)
if err != nil {
setupLog.Error(err, "failed to start webhook server")
os.Exit(1)
Expand Down

0 comments on commit 7b8642a

Please sign in to comment.