in src/main/java/com/myorg/springbootdeploy/aws/Stack.java [16:48]
public Stack(@NotNull Construct scope, @NotNull String id) {
super(scope, id);
DockerImageAsset image = new DockerImageAsset(this, "Image", DockerImageAssetProps.builder()
.directory("image")
.build());
Cluster cluster = new Cluster(this, "Cluster", ClusterProps.builder()
.version(KubernetesVersion.V1_21)
.albController(AlbControllerOptions.builder()
.version(AlbControllerVersion.V2_3_0)
.build())
.build());
Nodegroup nodeGroup = cluster.getDefaultNodegroup();
if (nodeGroup != null) {
image.getRepository().grantPull(cluster.getDefaultNodegroup().getRole());
}
Manifest manifest = new Manifest(new App(), "SpringBoot", image.getImageUri());
cluster.addCdk8sChart("manifest", manifest, KubernetesManifestOptions.builder()
.ingressAlb(true)
.ingressAlbScheme(AlbScheme.INTERNET_FACING)
.build());
String lbAddress = cluster.getIngressLoadBalancerAddress(manifest.getIngress().getName());
new CfnOutput(this, "LBAddressValue", CfnOutputProps.builder()
.value(lbAddress + "/greeting")
.build());
}