From 51c1b2c80c8e0067b90b6515edf85476e5e3ba54 Mon Sep 17 00:00:00 2001 From: axtloss Date: Mon, 15 May 2023 09:11:55 +0200 Subject: Add files --- src/main/java/io/github/jshipit/Main.java | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 src/main/java/io/github/jshipit/Main.java (limited to 'src/main/java/io/github/jshipit/Main.java') diff --git a/src/main/java/io/github/jshipit/Main.java b/src/main/java/io/github/jshipit/Main.java new file mode 100755 index 0000000..df1cea7 --- /dev/null +++ b/src/main/java/io/github/jshipit/Main.java @@ -0,0 +1,41 @@ +package io.github.jshipit; + +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +public class Main { + public static void main(String[] args) { + DockerAPIHelper api = new DockerAPIHelper("registry.docker.io", "https://auth.docker.io/token", "library", "archlinux", "latest"); + JsonNode manifest = null; + + System.out.println("API Token: " + api.getApiToken()); + try { + manifest = api.fetchManifestJson(); + } catch (IOException e) { + + } + + System.out.println("Manifest: " + manifest); + + Path path = Path.of("./tmp_"+api.getImage()+"_"+api.getTag()); + try { + Files.createDirectory(path); + } catch (IOException e) { + System.out.println("Failed to create directory: " + path); + return; + } + + JsonNode layers = manifest.get("layers"); + for (JsonNode layer : layers) { + System.out.println("Layer: " + layer); + try { + api.fetchBlob(layer.get("digest").asText(), path.toString()); + } catch (IOException e) { + + } + } + } +} \ No newline at end of file -- cgit v1.2.3