From 21d99f9923f6fd80b5d554e339a2b07731f6ef3e Mon Sep 17 00:00:00 2001 From: Aboubacar TRAORE Date: Wed, 24 Dec 2025 13:49:50 +0000 Subject: [PATCH] adding dokploy client --- .../dokploy/DokployClient.java | 14 +++++++++++ .../dokploy/DokployFeignConfig.java | 24 +++++++++++++++++++ .../dto/DokployComposeUpdateRequest.java | 6 +++++ 3 files changed, 44 insertions(+) create mode 100644 src/main/java/com/abnov/infisicalbridge/dokploy/DokployClient.java create mode 100644 src/main/java/com/abnov/infisicalbridge/dokploy/DokployFeignConfig.java create mode 100644 src/main/java/com/abnov/infisicalbridge/dto/DokployComposeUpdateRequest.java diff --git a/src/main/java/com/abnov/infisicalbridge/dokploy/DokployClient.java b/src/main/java/com/abnov/infisicalbridge/dokploy/DokployClient.java new file mode 100644 index 0000000..9a8b768 --- /dev/null +++ b/src/main/java/com/abnov/infisicalbridge/dokploy/DokployClient.java @@ -0,0 +1,14 @@ +package com.abnov.infisicalbridge.dokploy; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import com.abnov.infisicalbridge.dto.DokployComposeUpdateRequest; + +@FeignClient(name = "dokployClient", url = "${dokploy.api-url}", configuration = DokployFeignConfig.class) +public interface DokployClient { + + @PostMapping("/compose.update") + void updateCompose(@RequestBody DokployComposeUpdateRequest request); +} diff --git a/src/main/java/com/abnov/infisicalbridge/dokploy/DokployFeignConfig.java b/src/main/java/com/abnov/infisicalbridge/dokploy/DokployFeignConfig.java new file mode 100644 index 0000000..6ff5f6c --- /dev/null +++ b/src/main/java/com/abnov/infisicalbridge/dokploy/DokployFeignConfig.java @@ -0,0 +1,24 @@ +package com.abnov.infisicalbridge.dokploy; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import feign.RequestInterceptor; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Configuration +@RequiredArgsConstructor +@Slf4j +public class DokployFeignConfig { + + private final DokployProperties properties; + + @Bean + public RequestInterceptor dokployRequestInterceptor() { + return requestTemplate -> { + // Add API key to every request + requestTemplate.header("x-api-key", properties.getApiKey()); + }; + } +} diff --git a/src/main/java/com/abnov/infisicalbridge/dto/DokployComposeUpdateRequest.java b/src/main/java/com/abnov/infisicalbridge/dto/DokployComposeUpdateRequest.java new file mode 100644 index 0000000..38eab79 --- /dev/null +++ b/src/main/java/com/abnov/infisicalbridge/dto/DokployComposeUpdateRequest.java @@ -0,0 +1,6 @@ +package com.abnov.infisicalbridge.dto; + +public record DokployComposeUpdateRequest( + String composeId, + String env) { +}