Skip to main content

Azure Function with Spring Boot Native and GraalVM

Deploys Spring Boot application packaged with GraalVM using Pulumi on Azure from Java definitions

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set azure-java-function-graal-spring
cd pulumi-examples/azure-java-function-graal-spring

Starting point for building Spring Native application hosted in Azure Function.

Inspired by Julien Dubois and Spring Native - Cloud Function Netty example.

Azure Functions custom handlers are used to run the GraalVM binary.

Running the App in Azure#

  1. Create a new stack:

    $ pulumi stack init dev
  2. Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):

    $ az login
  3. Set the Azure region location:

    $ pulumi config set azure-native:location westus
  4. Run pulumi up to preview and deploy changes:

    $ pulumi up
    Previewing changes:
    ...
    Performing changes:
    ...
    Resources:
    + X created
    Duration: ...
  5. Check the deployed website endpoint:

    $ pulumi stack output endpoint
    https://<identifier>.web.core.windows.net/api/hello
    $ curl "$(pulumi stack output endpoint)"
    {"message":"Hello from Spring, Pulumi!"}

Running the App locally#

  1. Run Spring Boot application and send a request:

    gradle bootRun
    curl localhost:8080

Related

The infrastructure as code platform for any cloud.