Module cloud

ballerina/cloud

2.0.0-beta.1

Overview

This modules provides the capabilities to generate the cloud artifacts for Ballerina programs.

This module generates the Kubernetes and Docker artifacts required to deploy a Ballerina program in the cloud.

Supports following artifact generation:

  • Kubernetes deployment
  • Kubernetes service
  • Kubernetes liveness probe
  • Kubernetes readiness probe
  • Kubernetes config map
  • Kubernetes horizontal pod autoscaler
  • Docker image
  • Dockerfile

Docker artifact generation

Build the Ballerina Program with --cloud=docker option to generate Docker artifacts (Dockerfile and Docker image).

Copy
$> bal build --cloud=docker
Compiling source
	hello/hello:0.0.1

Creating balas
	target/bala/hello-2020r2-any-0.0.1.bala

Running Tests

	hello/hello:0.0.1
	No tests found


Generating executables
	target/bin/hello.jar

Generating artifacts...

	@kubernetes:Docker 			 - complete 2/2

    Execute the below command to run the generated docker image:
    docker run -d -p 9090:9090 anuruddhal/hello-api:sample8

    target/bin/hello-0.0.1.jar

Kubernetes artifact generation

Build the Ballerina Program with --cloud=k8s option to generate Docker and Kubernetes artifacts.

Copy
$> bal build --cloud=k8s
Compiling source
	hello/hello:0.0.1

Creating balas
	target/bala/hello-2020r2-any-0.0.1.bala

Running Tests

	hello/hello:0.0.1
	No tests found


Generating executables
	target/bin/hello.jar

Generating artifacts...

	@kubernetes:Service 		- complete 1/1
	@kubernetes:Deployment 	    - complete 1/1
	@kubernetes:HPA 			- complete 1/1
	@kubernetes:Docker 			- complete 2/2

	Execute the below command to deploy the Kubernetes artifacts:
	kubectl apply -f /Users/anuruddha/workspace/ballerinax/module-ballerina-c2c/samples/sample2/target/kubernetes/hello

	Execute the below command to access service via NodePort:
	kubectl expose deployment hello-hello-0-0-deployment --type=NodePort --name=hello-hello-0-0-svc-local

Cloud.toml

The configuration file to be used to override the default values generated by code to cloud. The Cloud.toml file is completely optional and only has to specify the values that need to be overridden. If the value is not specified for a certain field, the compiler will take the default value. All the supported properties can be found here.

Other versions

See more...