-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJava25Base.java
More file actions
22 lines (20 loc) · 872 Bytes
/
Copy pathJava25Base.java
File metadata and controls
22 lines (20 loc) · 872 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import com.wannaverse.ignition.sdk.Ignition;
import com.wannaverse.ignition.sdk.SnapshotHandle;
import com.wannaverse.ignition.sdk.Vm;
import com.wannaverse.ignition.sdk.VmImage;
import com.wannaverse.ignition.sdk.VmSpec;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Duration;
/** Run using: ignitionctl create Java25Base.java */
void main() throws Exception {
Ignition ignition = Ignition.connect();
Duration installBudget = Duration.ofMinutes(10);
Vm builder = ignition.run("java25-builder", VmSpec.spec().vcpus(2).memoryMib(1024).diskSizeMb(3072));
builder.execChecked(installBudget, "apt-get", "update");
builder.aptInstall(installBudget, "openjdk-25-jdk-headless");
String version = builder.exec("java", "--version").stdout().strip();
builder.kill();
builder.commit("java25-base");
builder.remove();
}