Have you ever wanted to see superheroes battle supervillains? Dive into the world of the Quarkus Superheroes sample application, designed to showcase the powerful features of Quarkus in a fun and engaging way. In this guide, we will walk through the essential aspects of working with this sample application—automating tasks, running it locally, deploying to Kubernetes, and monitoring.
Introduction
The Quarkus Superheroes sample application features microservices that allow superheroes to fight against supervillains using various underlying technologies. The application functions via REST and Kafka, with all data located on the character data branch of the repository. This application, however, is not a workshop. If you’re looking for a guided workshop, check out the Quarkus Super Heroes workshop.
Project Automation
-
GitHub Action Automation
Automate your builds and deployment processes using GitHub actions for seamless workflow integration.
-
Application Resource Generation
Utilize Quarkus’s resource generation capabilities to set up your applications efficiently.
Running Locally via Docker Compose
The first step involves running the application locally. Pre-built images available at quay.io/quarkus-super-heroes make this easy.
Select a version from the following table and run the appropriate Docker Compose command:
| Description | Image Tag | Docker Compose Run Command | Docker Compose Run Command with Monitoring |
|---|---|---|---|
| JVM Java 17 | java17-latest | docker compose -f deploy/docker-compose-java17.yml up –remove-orphans | docker compose -f deploy/docker-compose-java17.yml -f deploy/docker-compose-monitoring.yml up –remove-orphans |
| Native | native-latest | docker compose -f deploy/docker-compose-native.yml up –remove-orphans | docker compose -f deploy/docker-compose-native.yml -f deploy/docker-compose-monitoring.yml up –remove-orphans |
After running the appropriate command, your main application will be available at localhost:8080.
Deploying to Kubernetes
To deploy to Kubernetes, make sure to use the pre-built images found at quay.io/quarkus-super-heroes. Deployment descriptors are available in the deploy/k8s directory, covering various environments like OpenShift, Minikube, and Knative.
Routing
Setup routing for your applications based on whether you’re using Minikube or Kubernetes. Ensure that an Ingress Controller is installed and configured to manage public access to the application.
Monitoring
Integrate Prometheus and Jaeger in your setup for application performance monitoring and distributed tracing.
Troubleshooting
- If your application encounters errors during startup, it may be due to dependencies not being ready. Allow some time for all services to be operational.
- For issues related to Docker commands, ensure you’re using the correct syntax or try replacing `docker compose` with `docker-compose`.
- If you cannot access certain services, verify your Ingress or port-forwarding settings.
- For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
With these detailed steps, you’re ready to engage in the exciting battles of the Quarkus Superheroes application. Unleash your creativity and enjoy the experience!

