From 0fdc0ef33fac60a2b86e551961d3eb4d25cdb9a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alfredo=20Espa=C3=B1a?= Date: Fri, 2 Aug 2024 11:06:04 -0600 Subject: [PATCH] Fix webhooks for air gapped servers (#1148) * Fix webhook issue with air gapped server --- .../api/rs/hooks/workspace/WorkspaceManageHook.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/org/terrakube/api/rs/hooks/workspace/WorkspaceManageHook.java b/api/src/main/java/org/terrakube/api/rs/hooks/workspace/WorkspaceManageHook.java index 43e39c58f..015224ae8 100644 --- a/api/src/main/java/org/terrakube/api/rs/hooks/workspace/WorkspaceManageHook.java +++ b/api/src/main/java/org/terrakube/api/rs/hooks/workspace/WorkspaceManageHook.java @@ -9,9 +9,12 @@ import lombok.extern.slf4j.Slf4j; import org.terrakube.api.plugin.softdelete.SoftDeleteService; import org.terrakube.api.plugin.vcs.WebhookService; +import org.terrakube.api.repository.GlobalVarRepository; import org.terrakube.api.repository.WebhookRepository; +import org.terrakube.api.rs.globalvar.Globalvar; import org.terrakube.api.rs.webhook.Webhook; import org.terrakube.api.rs.workspace.Workspace; +import org.terrakube.api.rs.workspace.parameters.Category; import java.util.Optional; @@ -22,6 +25,7 @@ public class WorkspaceManageHook implements LifeCycleHook { SoftDeleteService softDeleteService; WebhookService webhookService; WebhookRepository webhookRepository; + GlobalVarRepository globalVarRepository; @Override public void execute(LifeCycleHookBinding.Operation operation, @@ -55,7 +59,12 @@ public void execute(LifeCycleHookBinding.Operation operation, break; case POSTCOMMIT: - webhookService.createWorkspaceWebhook(workspace); + if(globalVarRepository.getGlobalvarByOrganizationAndCategoryAndKey(workspace.getOrganization(), Category.ENV, "TERRAKUBE_DISABLE_WEBHOOK") == null) { + log.info("Webhook support is enabled"); + webhookService.createWorkspaceWebhook(workspace); + } else { + log.warn("Webhook support is disabled"); + } break; default: