If you - like me - hate having to type YAML by hand, you can take advantage of a pre-build K8S Model and YAML serialization tool:
https://github.com/fabric8io/kubernetes-client
The model is incredibly rich.... one has only to learn how to use it...
https://github.com/fabric8io/kubernetes-client
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>4.1.3</version>
</dependency>
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder;
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.internal.SerializationUtils;
public class KubernetesClientTest {
public static void main(String[] args) throws JsonProcessingException {
String yaml = SerializationUtils.dumpAsYaml(new DeploymentBuilder().withNewSpec().endSpec().build());
System.out.println(yaml);
KubernetesClient client = new DefaultKubernetesClient();
Pod pod = new Pod();
System.out.println(pod);
String podyaml = SerializationUtils.dumpAsYaml(pod);
System.out.println(podyaml);
}
}
The model is incredibly rich.... one has only to learn how to use it...