diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index bad78eda9..231dd4311 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -83,9 +83,6 @@ jobs:
cp -r target/generated-asciidoc/mac/variants/* target/generated-asciidoc/variants
cp -r target/generated-asciidoc/windows/variants/* target/generated-asciidoc/variants
- # make an index.html
- cp target/generated-asciidoc/spine-azure.html target/generated-asciidoc/index-azure.html
-
# Move things around to preserve the super-heroes structure
mkdir -p target/site/super-heroes
cp -R target/generated-asciidoc/* target/site/super-heroes
diff --git a/quarkus-workshop-super-heroes/README.adoc b/quarkus-workshop-super-heroes/README.adoc
index 96cf6957e..ff117af5b 100644
--- a/quarkus-workshop-super-heroes/README.adoc
+++ b/quarkus-workshop-super-heroes/README.adoc
@@ -4,16 +4,21 @@ Build and deploy a microservice architecture where Super Heroes fight against Su
== Instructions
-There are several workshops available that you can follow depending your needs:
+There are several versions of this workshops available that you can follow depending your needs:
* _Develop the Super Heroes with Quarkus_:
If you are a developer, are new to quarkus, then this workshop might interest you.
-You will develop, from scratch, a set of microservices accessing databases, Kafka channels and exposing APIs.
-Check https://quarkus.io/quarkus-workshops/super-heroes/index.html to get the workshop instructions.
-* _Deploy the Super Heroes to Azure Container Apps_:
-If you are interested in deploying an already made application to Azure Container Apps, then this workshop is for you.
-You will not develop any Quarkus (you don't even need Java tools), but you will be pushing Docker containers, creating managed services on Azure (databases, Kafka) and monitoring the entire system (https://docs.microsoft.com/en-us/events/jdconf-2022/quarkus-superheroes-on-azure[watch a video presenting the workshop]).
-Check https://quarkus.io/quarkus-workshops/super-heroes/index-azure.html to get the workshop instructions.
+You will develop, from scratch, a set of microservices accessing databasesand exposing APIs.
+* _Create an AI-integration service_
+* _Deploy the microservices to Azure Container Apps_
+* _Containerize the microservices_
+* _Contract testing with Pact_
+* _Write a Quarkus extension_
+* _Write a Quarkus extension_
+* _Run Quarkus on Kubernetes_
+* _Messaging with Kafka_
+* _Native compilation_
+* _Observability_
== Start the infrastructure
diff --git a/quarkus-workshop-super-heroes/docs/pom.xml b/quarkus-workshop-super-heroes/docs/pom.xml
index 3757948f8..5786a8d06 100644
--- a/quarkus-workshop-super-heroes/docs/pom.xml
+++ b/quarkus-workshop-super-heroes/docs/pom.xml
@@ -51,6 +51,7 @@ The default build will take around 50m.
0.2.9-alpha3.11.03.1.2
+ 3.1.01717yyyy-MM-dd
@@ -216,25 +217,6 @@ The default build will take around 50m.
-
-
- output-html-azure
- generate-resources
-
- process-asciidoc
-
-
- spine-azure.adoc
-
- ${project.build.directory}/generated-asciidoc/
-
-
- default-options.adoc
- images
-
-
-
@@ -244,6 +226,7 @@ The default build will take around 50m.
exec-maven-pluginorg.codehaus.mojo
+ ${exec-plugin.version}generate-sources
@@ -347,6 +330,7 @@ The default build will take around 50m.
exec-maven-pluginorg.codehaus.mojo
+ ${exec-plugin.version}generate-sources
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/assets/css/hol.css b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/assets/css/hol.css
index 1fb16f2b7..485e24c97 100755
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/assets/css/hol.css
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/assets/css/hol.css
@@ -204,7 +204,25 @@ samp {
.content-area {
margin-left: var(--site-margins);
margin-right: var(--site-margins);
- width: 60%;
+ display: flex;
+ flex-direction: row;
+ column-gap: 1em;
+
+}
+
+.mode {
+ width: 50%;
+ padding-top: 0em;
+ padding-left: 4em;
+ padding-right: 4em;
+ margin: 3em;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.right {
+ border-left: 1px lightgrey solid;
}
.cta > .content {
@@ -244,13 +262,25 @@ button:hover {
}
.big {
- width: 60%;
- margin-top: 1em;
+ width: 95%;
+ height: 60px;
+ margin-top: 2em;
margin-bottom: 1em;
padding: 1em;
font-size: 1.2em;
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
+.no-underline {
+ border: none;
+}
+
+.squish {
+ margin-top: 0rem;
+ padding-top: 0rem;
+}
/*See here for the list of unicode codes for fontawesome*/
/*https://fontawesome.com/v5/cheatsheet*/
@@ -307,5 +337,7 @@ pre code, pre pre {
}
ul.configurator {
- list-style-type: none;
+ list-style-type: none;
+ padding-bottom: 0;
+ margin-bottom: 0;
}
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-conclusion/conclusion-references.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-conclusion/conclusion-references.adoc
index e7cd1ca45..d575360b9 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-conclusion/conclusion-references.adoc
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-conclusion/conclusion-references.adoc
@@ -9,3 +9,6 @@
* https://quarkus.io
* https://code.quarkus.io
* https://quarkus.io/guides/all-config
+* https://azure.microsoft.com/services/container-apps[Azure Container Apps Overview]
+* https://docs.microsoft.com/azure/container-apps[Azure Container Apps Documentation]
+* https://github.com/ozangunalp/managed-kafka-quarkus/tree/main/azure-event-hub[Managed Kafka Quarkus]
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/optional-azure-container-apps/azure-intro-installing-azure-cli.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-azure-cli.adoc
similarity index 100%
rename from quarkus-workshop-super-heroes/docs/src/docs/asciidoc/optional-azure-container-apps/azure-intro-installing-azure-cli.adoc
rename to quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-azure-cli.adoc
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/optional-azure-container-apps/azure-intro-installing-wsl.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-wsl.adoc
similarity index 91%
rename from quarkus-workshop-super-heroes/docs/src/docs/asciidoc/optional-azure-container-apps/azure-intro-installing-wsl.adoc
rename to quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-wsl.adoc
index 04091160d..02b7940dd 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/optional-azure-container-apps/azure-intro-installing-wsl.adoc
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-wsl.adoc
@@ -5,7 +5,7 @@ https://docs.microsoft.com/windows/wsl[Windows Subsystem for Linux] (WSL) lets d
[WARNING]
====
-If you are using Windows, it is recommended to install WSL.
+If you are using Windows, it is recommended to install WSL as all the commands use bash.
====
== Installing WSL
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing.adoc
index 5dfba5e03..945780251 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing.adoc
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing.adoc
@@ -17,6 +17,14 @@ ifdef::use-ai[]
include::introduction-installing-ai.adoc[leveloffset=+1]
endif::use-ai[]
+ifdef::use-windows[]
+include::introduction-installing-wsl.adoc[leveloffset=+1]
+endif::use-windows[]
+
+ifdef::use-azure[]
+include::introduction-installing-azure-cli.adoc[leveloffset=+1]
+endif::use-azure[]
+
== Recap
Before going further, make sure the following commands work on your machine.
@@ -33,6 +41,9 @@ docker compose version
ifdef::use-local-kubernetes[]
kubectl version # If you used Rancher Desktop and plan to use Kubernetes
endif::use-local-kubernetes[]
+ifdef::use-azure[]
+az --version
+endif::use-azure[]
----
We have not mentioned cURL up to now, because most modern operating systems ship with it pre-installed.
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-presentation.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-presentation.adoc
index 785c6f1b6..f1a6942c1 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-presentation.adoc
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-presentation.adoc
@@ -108,6 +108,14 @@ ifdef::use-observability[]
* _Observability_:
in this section, you will add metrics, health checks, and distributed tracing to your microservices
endif::use-observability[]
+ifdef::use-azure[]
+* _Azure Container Apps and Quarkus_:
+this section introduces Quarkus and Azure Container Apps to make sure you have all the needed vocabulary to follow along
+* _Running the Application Locally_:
+in this section, you will build Docker images out of Quarkus microservices, execute them locally with Docker compose, push them to Azure Registry, all that using Docker and Azure CLI
+* _Running the Application on Azure Container Apps_:
+in this section, you will create an entire infrastructure on Azure (Postgres databases, Kafka, etc.) and deploy the microservices to Azure Container Apps
+endif::use-azure[]
ifdef::use-extension[]
* _Extending Quarkus_:
in this section, you will create a Quarkus extension
@@ -169,6 +177,9 @@ endif::use-native[]
ifdef::use-ai[]
* OpenAI or Azure OpenAI keys (optional, only if you want to use the narration feature)
endif::use-ai[]
+ifdef::use-azure[]
+* An Azure subscription and the Azure CLI
+endif::use-azure[]
We will also be using Maven {maven-version}, but there is no
need to install it. Instead, the workshop scaffolding includes
@@ -181,5 +192,5 @@ You can skip the next section if you have already installed all the prerequisite
[WARNING]
====
This workshop assumes a bash shell.
-ifdef::use-windows[If you run on Windows, in particular, adjust the commands accordingly.]
+ifdef::use-windows[If you run on Windows, in particular, adjust the commands accordingly or install WSL.]
====
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction.adoc
index 670ddc594..0af4c1b45 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction.adoc
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction.adoc
@@ -28,6 +28,9 @@ endif::use-messaging[]
ifdef::use-ai[]
* Use OpenAI to introduce some artificial intelligence
endif::use-ai[]
+ifdef::use-azure[]
+* Deploy the entire application to Azure Container Apps
+endif::use-azure[]
* Answer the ultimate question: are super-heroes stronger than super-villains?
This workshop is a BYOL (_Bring Your Own Laptop_) session, so bring your Windows, OSX, or Linux laptop.
@@ -60,6 +63,13 @@ endif::use-kubernetes[]
ifdef::use-observability[]
* How to monitor your microservices with Prometheus
endif::use-observability[]
+ifdef::use-azure[]
+* What is Azure Container Apps
+* How to push the Docker images to Azure Registry
+* How to create managed services in Azure (Postgres database, Kafka)
+* How to deploy microservices to Azure Container Apps
+* How to configure Docker images in Azure Container Apps
+endif::use-azure[]
ifdef::use-extension[]
* How to extend Quarkus with extensions
endif::use-extension[]
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/default-options.adoc b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/default-options.adoc
index d72a4ce4a..ba8cd6cd8 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/default-options.adoc
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/default-options.adoc
@@ -1,7 +1,10 @@
:os: all
-:use-native:
:use-ai:
-:use-kubernetes:
+:use-azure:
+:use-container:
:use-contract-testing:
:use-extension:
+:use-kubernetes:
:use-messaging:
+:use-native:
+:use-observability:
diff --git a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/index.html b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/index.html
index da8840c0d..4bffd83d0 100644
--- a/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/index.html
+++ b/quarkus-workshop-super-heroes/docs/src/docs/asciidoc/index.html
@@ -25,7 +25,7 @@
window.location.href = url;
}
- function generateURL() {
+ function generateTailoredURL() {
const selectedOptions = [];
// Get the selected build option
@@ -44,77 +44,102 @@
// Generate the URL based on selected options
const url = baseUrl + 'variants/' + selectedOptions.join("-") + "/" + filename;
window.location.href = url;
-
}
-
Quarkus Workshop Configurator
+
Quarkus Workshop Configurator
-
-
-
What operating system are you using?
-
-
-
-
-
-
-
-
-
-
-
-
-
What content would you like to include in the workshop?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
Default workshop configuration
+
Go to the instructions for all operating systems, with default content.
+
+
+
+
Customize workshop
+
Tailor instructions to your operating system and interests.