This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push: new fa37c444 Docker info fa37c444 is described below commit fa37c444c9eb1cf4a1ff6c1f20827f91088ecf0c Author: Marat Gubaidullin <ma...@talismancloud.io> AuthorDate: Thu Nov 9 19:10:17 2023 -0500 Docker info --- .../apache/camel/karavan/api/ConfigurationResource.java | 15 +++++++++++++++ .../org/apache/camel/karavan/docker/DockerService.java | 4 ++++ .../karavan-app/src/main/webui/src/api/KaravanApi.tsx | 12 +++++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java index 7cdd7012..df877078 100644 --- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java +++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/ConfigurationResource.java @@ -22,6 +22,7 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.Response; +import org.apache.camel.karavan.docker.DockerService; import org.apache.camel.karavan.service.ConfigService; @Path("/api/configuration") @@ -30,10 +31,24 @@ public class ConfigurationResource { @Inject ConfigService configService; + @Inject + DockerService dockerService; + @GET @Produces(MediaType.APPLICATION_JSON) public Response getConfiguration() throws Exception { return Response.ok(configService.getConfiguration()).build(); } + @GET + @Path("/info") + @Produces(MediaType.APPLICATION_JSON) + public Response getInfo() throws Exception { + if (ConfigService.inKubernetes()) { + return Response.ok().build(); + } else { + return Response.ok(dockerService.getInfo()).build(); + } + } + } \ No newline at end of file diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java index 02bcf76e..6ffb3d1b 100644 --- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java +++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerService.java @@ -80,6 +80,10 @@ public class DockerService extends DockerServiceUtils { } } + public Info getInfo(){ + return getDockerClient().infoCmd().exec(); + } + public List<ContainerStatus> collectContainersStatuses() { List<ContainerStatus> result = new ArrayList<>(); getDockerClient().listContainersCmd().withShowAll(true).exec().forEach(container -> { diff --git a/karavan-web/karavan-app/src/main/webui/src/api/KaravanApi.tsx b/karavan-web/karavan-app/src/main/webui/src/api/KaravanApi.tsx index d24ecaa7..1f34b55c 100644 --- a/karavan-web/karavan-app/src/main/webui/src/api/KaravanApi.tsx +++ b/karavan-web/karavan-app/src/main/webui/src/api/KaravanApi.tsx @@ -174,6 +174,17 @@ export class KaravanApi { }); } + static async getInfrastructureInfo(after: (config: AppConfig) => void) { + instance.get('/api/configuration/info') + .then(res => { + if (res.status === 200) { + after(res.data); + } + }).catch(err => { + console.log(err); + }); + } + static async getProject(projectId: string, after: (project: Project) => void) { instance.get('/api/project/' + projectId) .then(res => { @@ -659,4 +670,3 @@ export class KaravanApi { return fetchData(); } } -