+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/features/customize-project/output.xml b/archetypes/archetypes/src/main/archetype/features/customize-project/output.xml
new file mode 100644
index 00000000000..a18768245f1
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/customize-project/output.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/common/multi-module.xml b/archetypes/archetypes/src/main/archetype/features/includes/multi-module-output.xml
similarity index 96%
rename from archetypes/archetypes/src/main/archetype/common/multi-module.xml
rename to archetypes/archetypes/src/main/archetype/features/includes/multi-module-output.xml
index 472b40f06d4..78c8c5e5295 100644
--- a/archetypes/archetypes/src/main/archetype/common/multi-module.xml
+++ b/archetypes/archetypes/src/main/archetype/features/includes/multi-module-output.xml
@@ -1,7 +1,7 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/features/jlink/output.xml b/archetypes/archetypes/src/main/archetype/features/jlink/output.xml
new file mode 100644
index 00000000000..ccc09688dfb
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/jlink/output.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/features/kubernetes/files/README.md.mustache b/archetypes/archetypes/src/main/archetype/features/kubernetes/files/README.md.mustache
new file mode 100644
index 00000000000..4d91174943b
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/kubernetes/files/README.md.mustache
@@ -0,0 +1,34 @@
+
+## Run the application in Kubernetes
+
+If you don’t have access to a Kubernetes cluster, you can [install one](https://helidon.io/docs/latest/#/about/kubernetes) on your desktop.
+
+### Verify connectivity to cluster
+
+```
+kubectl cluster-info # Verify which cluster
+kubectl get pods # Verify connectivity to cluster
+```
+{{#k8s-readme-sections}}
+ {{#first}}
+
+ {{/first}}
+ {{.}}
+{{/k8s-readme-sections}}
+
+### Deploy the application to Kubernetes
+
+```
+kubectl create -f app.yaml # Deploy application
+kubectl get pods # Wait for quickstart pod to be RUNNING
+kubectl get service {{artifactId}} # Get service info
+kubectl port-forward service/{{artifactId}} 8081:8080 # Forward service port to 8081
+```
+
+You can now exercise the application as you did before but use the port number 8081.
+
+After you’re done, cleanup.
+
+```
+kubectl delete -f app.yaml
+```
diff --git a/archetypes/archetypes/src/main/archetype/common/files/app.yaml.mustache b/archetypes/archetypes/src/main/archetype/features/kubernetes/files/app.yaml.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/app.yaml.mustache
rename to archetypes/archetypes/src/main/archetype/features/kubernetes/files/app.yaml.mustache
diff --git a/archetypes/archetypes/src/main/archetype/features/kubernetes/inputs.xml b/archetypes/archetypes/src/main/archetype/features/kubernetes/inputs.xml
new file mode 100644
index 00000000000..02af998fa2e
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/kubernetes/inputs.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/features/kubernetes/output.xml b/archetypes/archetypes/src/main/archetype/features/kubernetes/output.xml
new file mode 100644
index 00000000000..039e8b4994c
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/kubernetes/output.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/common/files/pom.xml.mustache b/archetypes/archetypes/src/main/archetype/features/maven/files/pom.xml.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/pom.xml.mustache
rename to archetypes/archetypes/src/main/archetype/features/maven/files/pom.xml.mustache
diff --git a/archetypes/archetypes/src/main/archetype/features/maven/output.xml b/archetypes/archetypes/src/main/archetype/features/maven/output.xml
new file mode 100644
index 00000000000..2190a36d715
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/maven/output.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/common/files/v8o.yaml.mustache b/archetypes/archetypes/src/main/archetype/features/verrazzano/files/v8o.yaml.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/v8o.yaml.mustache
rename to archetypes/archetypes/src/main/archetype/features/verrazzano/files/v8o.yaml.mustache
diff --git a/archetypes/archetypes/src/main/archetype/features/verrazzano/inputs.xml b/archetypes/archetypes/src/main/archetype/features/verrazzano/inputs.xml
new file mode 100644
index 00000000000..89b8e870447
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/verrazzano/inputs.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/features/verrazzano/output.xml b/archetypes/archetypes/src/main/archetype/features/verrazzano/output.xml
new file mode 100644
index 00000000000..5dd0e1b8c53
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/features/verrazzano/output.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/flavor.xml b/archetypes/archetypes/src/main/archetype/inputs.xml
similarity index 81%
rename from archetypes/archetypes/src/main/archetype/flavor.xml
rename to archetypes/archetypes/src/main/archetype/inputs.xml
index 159fb6cf431..e448aca3dd9 100644
--- a/archetypes/archetypes/src/main/archetype/flavor.xml
+++ b/archetypes/archetypes/src/main/archetype/inputs.xml
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/archetypes/archetypes/src/main/archetype/mp/quickstart/files/microprofile-config.properties b/archetypes/archetypes/src/main/archetype/mp/quickstart/files/microprofile-config.properties
deleted file mode 100644
index 71896191a15..00000000000
--- a/archetypes/archetypes/src/main/archetype/mp/quickstart/files/microprofile-config.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Application properties. This is the default greeting
-app.greeting=Hello
diff --git a/archetypes/archetypes/src/main/archetype/common/files/.gitignore.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/.gitignore.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/.gitignore.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/.gitignore.mustache
diff --git a/archetypes/archetypes/src/main/archetype/common/files/.helidon.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/.helidon.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/.helidon.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/.helidon.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/.idea/runConfigurations/configuration.xml.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/.idea/runConfigurations/configuration.xml.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/.idea/runConfigurations/configuration.xml.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/.idea/runConfigurations/configuration.xml.mustache
diff --git a/archetypes/archetypes/src/main/archetype/common/files/README.md.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/README.md.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/README.md.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/README.md.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/main/java/__pkg__/package-info.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/java/__pkg__/package-info.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/main/java/__pkg__/package-info.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/java/__pkg__/package-info.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/main/resources/META-INF/beans.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/resources/META-INF/beans.xml
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/main/resources/META-INF/beans.xml
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/resources/META-INF/beans.xml
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/main/resources/META-INF/microprofile-config.properties.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/resources/META-INF/microprofile-config.properties.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/main/resources/META-INF/microprofile-config.properties.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/resources/META-INF/microprofile-config.properties.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/main/resources/logging.properties.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/resources/logging.properties.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/main/resources/logging.properties.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/main/resources/logging.properties.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/test/java/__pkg__/MainTest.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/test/java/__pkg__/MainTest.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/test/java/__pkg__/MainTest.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/test/java/__pkg__/MainTest.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/test/resources/META-INF/microprofile-config.properties.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/test/resources/META-INF/microprofile-config.properties.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/test/resources/META-INF/microprofile-config.properties.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/test/resources/META-INF/microprofile-config.properties.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/files/src/test/resources/application-test.yaml.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/test/resources/application-test.yaml.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/common/files/src/test/resources/application-test.yaml.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/files/src/test/resources/application-test.yaml.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/common/common-mp.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/output.xml
similarity index 61%
rename from archetypes/archetypes/src/main/archetype/mp/common/common-mp.xml
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/common/output.xml
index ed488578cce..6dd36d64d2a 100644
--- a/archetypes/archetypes/src/main/archetype/mp/common/common-mp.xml
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/common/output.xml
@@ -20,19 +20,66 @@
-
-
-
+
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/test/java/__pkg__/TestCORS.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/cors/files/src/test/java/__pkg__/TestCORS.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/test/java/__pkg__/TestCORS.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/cors/files/src/test/java/__pkg__/TestCORS.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/cors/output.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/cors/output.xml
new file mode 100644
index 00000000000..7c76373454f
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/cors/output.xml
@@ -0,0 +1,150 @@
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/README.md b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/README.md
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/README.md
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/README.md
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/README.md.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/README.md.mustache
new file mode 100644
index 00000000000..b4f1d522861
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/README.md.mustache
@@ -0,0 +1,7 @@
+
+### Database Setup
+
+Start your database before running this example.
+
+Example docker commands to start databases in temporary containers:
+{{start-db}}
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/Pokemon.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/Pokemon.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/Pokemon.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/Pokemon.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/PokemonResource.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/PokemonResource.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/PokemonResource.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/PokemonResource.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/PokemonType.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/PokemonType.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/PokemonType.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/PokemonType.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/PokemonTypeResource.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/PokemonTypeResource.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/java/__pkg__/PokemonTypeResource.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/java/__pkg__/PokemonTypeResource.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/META-INF/init_script.sql.default b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/META-INF/init_script.sql.default
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/META-INF/init_script.sql.default
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/META-INF/init_script.sql.default
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/META-INF/init_script.sql.oracle b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/META-INF/init_script.sql.oracle
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/META-INF/init_script.sql.oracle
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/META-INF/init_script.sql.oracle
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/META-INF/persistence.xml.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/META-INF/persistence.xml.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/META-INF/persistence.xml.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/META-INF/persistence.xml.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/hibernate.properties.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/hibernate.properties.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/database/files/src/main/resources/hibernate.properties.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/files/src/main/resources/hibernate.properties.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/inputs.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/inputs.xml
new file mode 100644
index 00000000000..8d384090cf6
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/inputs.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/database-outputs.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/output.xml
similarity index 96%
rename from archetypes/archetypes/src/main/archetype/mp/custom/database-outputs.xml
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/database/output.xml
index 359ddee62fe..073984526bf 100644
--- a/archetypes/archetypes/src/main/archetype/mp/custom/database-outputs.xml
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/database/output.xml
@@ -24,7 +24,7 @@
diff --git a/archetypes/archetypes/src/main/archetype/common/files/.dockerignore b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/.dockerignore
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/.dockerignore
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/.dockerignore
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.jlink.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.jlink.mustache
new file mode 100644
index 00000000000..4659123c983
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.jlink.mustache
@@ -0,0 +1,35 @@
+
+# 1st stage, build the app
+FROM container-registry.oracle.com/java/jdk-no-fee-term:21 as build
+
+WORKDIR /usr/share
+
+# Install maven
+RUN set -x && \
+ curl -O https://archive.apache.org/dist/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz && \
+ tar -xvf apache-maven-*-bin.tar.gz && \
+ rm apache-maven-*-bin.tar.gz && \
+ mv apache-maven-* maven && \
+ ln -s /usr/share/maven/bin/mvn /bin/
+
+WORKDIR /helidon
+
+# Create a first layer to cache the "Maven World" in the local repository.
+# Incremental docker builds will always resume after that, unless you update
+# the pom
+ADD pom.xml .
+RUN mvn package -Dmaven.test.skip -Declipselink.weave.skip
+
+# Do the Maven build to create the custom Java Runtime Image
+# Incremental docker builds will resume here when you change sources
+ADD src src
+RUN mvn package -Pjlink-image -DskipTests
+RUN echo "done!"
+
+# 2nd stage, build the final image with the JRI built in the 1st stage
+
+FROM debian:stretch-slim
+WORKDIR /helidon
+COPY --from=build /helidon/target/{{artifactId}}-jri ./
+ENTRYPOINT ["/bin/bash", "/helidon/bin/start"]
+EXPOSE 8080
diff --git a/archetypes/archetypes/src/main/archetype/common/files/Dockerfile.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/Dockerfile.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.mustache
diff --git a/archetypes/archetypes/src/main/archetype/common/files/Dockerfile.native.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.native.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/Dockerfile.native.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/Dockerfile.native.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.jlink.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.jlink.mustache
new file mode 100644
index 00000000000..9eeec989e18
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.jlink.mustache
@@ -0,0 +1,34 @@
+
+## Building a Custom Runtime Image
+
+Build the custom runtime image using the jlink image profile:
+
+```
+mvn package -Pjlink-image
+```
+
+This uses the helidon-maven-plugin to perform the custom image generation.
+After the build completes it will report some statistics about the build including the reduction in image size.
+
+The target/{{artifactId}}-jri directory is a self contained custom image of your application. It contains your application,
+its runtime dependencies and the JDK modules it depends on. You can start your application using the provide start script:
+
+```
+./target/{{artifactId}}-jri/bin/start
+```
+
+Class Data Sharing (CDS) Archive
+Also included in the custom image is a Class Data Sharing (CDS) archive that improves your application’s startup
+performance and in-memory footprint. You can learn more about Class Data Sharing in the JDK documentation.
+
+The CDS archive increases your image size to get these performance optimizations. It can be of significant size (tens of MB).
+The size of the CDS archive is reported at the end of the build output.
+
+If you’d rather have a smaller image size (with a slightly increased startup time) you can skip the creation of the CDS
+archive by executing your build like this:
+
+```
+mvn package -Pjlink-image -Djlink.image.addClassDataSharingArchive=false
+```
+
+For more information on available configuration options see the helidon-maven-plugin documentation.
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.mustache
new file mode 100644
index 00000000000..254d62d913c
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.mustache
@@ -0,0 +1,19 @@
+
+## Building the Docker Image
+
+```
+docker build -t {{artifactId}} .
+```
+
+## Running the Docker Image
+
+{{#docker-run-readme-section}}
+{{.}}
+{{/docker-run-readme-section}}
+{{^docker-run-readme-section}}
+```
+docker run --rm -p 8080:8080 {{artifactId}}:latest
+```
+{{/docker-run-readme-section}}
+
+Exercise the application as described above.
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.native-image.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.native-image.mustache
new file mode 100644
index 00000000000..15b9c34dd0f
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.md.native-image.mustache
@@ -0,0 +1,6 @@
+
+## Building a Native Image
+
+{{#native-sections}}
+{{.}}
+{{/native-sections}}
diff --git a/archetypes/archetypes/src/main/archetype/common/files/README.native.md b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.native.md
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/README.native.md
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/files/README.native.md
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/inputs.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/inputs.xml
new file mode 100644
index 00000000000..931dde89dc4
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/inputs.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/output.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/output.xml
new file mode 100644
index 00000000000..79667675145
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/docker/output.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/FtResource.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/files/src/main/java/__pkg__/FtResource.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/FtResource.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/files/src/main/java/__pkg__/FtResource.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/test/java/__pkg__/FtResourceTest.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/files/src/test/java/__pkg__/FtResourceTest.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/test/java/__pkg__/FtResourceTest.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/files/src/test/java/__pkg__/FtResourceTest.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/output.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/output.xml
new file mode 100644
index 00000000000..8f95d361a54
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/fault-tolerance/output.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/health/inputs.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/health/inputs.xml
new file mode 100644
index 00000000000..e8557d3fe34
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/health/inputs.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/health/output.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/health/output.xml
new file mode 100644
index 00000000000..a29c9b48c05
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/health/output.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/files/src/main/java/__pkg__/Main.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/files/src/main/java/__pkg__/Main.java.mustache
new file mode 100644
index 00000000000..b70ff3b6871
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/files/src/main/java/__pkg__/Main.java.mustache
@@ -0,0 +1,50 @@
+
+package {{package}};
+
+{{#Main-java-imports}}
+ TODO - remove all the imports
+ import {{.}};
+{{/Main-java-imports}}
+
+{{#Main-helidon-imports}}
+ import {{.}};
+{{/Main-helidon-imports}}
+
+{{#Main-other-imports}}
+ import {{.}};
+{{/Main-other-imports}}
+
+{{#Main-static-imports}}
+ import {{.}};
+{{/Main-static-imports}}
+
+
+/**
+ * Main entry point of the application.
+ *
+ * Note that this class is required when using modules as the module main class must be in a package that is either exported
+ * or opened by the module, see {@link java.lang.module.ModuleDescriptor#read(java.io.InputStream, java.util.function.Supplier)}.
+ *
+ * This class provides a proper module main class and calls the {@link io.helidon.Main#main(String[]) built-in main class}.
+ */
+public class Main {
+
+
+ /**
+ * Cannot be instantiated.
+ */
+ private Main() {
+ }
+
+
+
+ /**
+ * Main method. Starts CDI (and the application).
+ *
+ * @param args ignored
+ */
+ public static void main(String[] args) {
+ io.helidon.Main.main(args);
+ }
+
+}
\ No newline at end of file
diff --git a/archetypes/archetypes/src/main/archetype/common/files/src/main/java/module-info.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/files/src/main/java/module-info.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/common/files/src/main/java/module-info.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/files/src/main/java/module-info.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/inputs.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/inputs.xml
new file mode 100644
index 00000000000..e872023244b
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/inputs.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/output.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/output.xml
new file mode 100644
index 00000000000..a62295308ad
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/jpms/output.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/FileService.java.multipart.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/FileService.java.multipart.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/FileService.java.multipart.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/FileService.java.multipart.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/FileStorage.java.multipart.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/FileStorage.java.multipart.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/FileStorage.java.multipart.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/FileStorage.java.multipart.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/Message.java.json.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/Message.java.json.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/Message.java.json.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/Message.java.json.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/MultiPartFeatureProvider.java.multipart.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/MultiPartFeatureProvider.java.multipart.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/MultiPartFeatureProvider.java.multipart.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/MultiPartFeatureProvider.java.multipart.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/SimpleGreetResource.java.json.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/SimpleGreetResource.java.json.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/SimpleGreetResource.java.json.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/SimpleGreetResource.java.json.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/SimpleGreetResource.java.jsonp.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/SimpleGreetResource.java.jsonp.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/SimpleGreetResource.java.jsonp.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/SimpleGreetResource.java.jsonp.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/SimpleGreetResource.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/SimpleGreetResource.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/main/java/__pkg__/SimpleGreetResource.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/main/java/__pkg__/SimpleGreetResource.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/mp/custom/files/src/test/java/__pkg__/FileServiceTest.java.multipart.mustache b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/test/java/__pkg__/FileServiceTest.java.multipart.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/mp/custom/files/src/test/java/__pkg__/FileServiceTest.java.multipart.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/mp/features/media/files/src/test/java/__pkg__/FileServiceTest.java.multipart.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/inputs.xml b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/inputs.xml
new file mode 100644
index 00000000000..ba30838745a
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/mp/features/media/inputs.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/README.md b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/README.md
new file mode 100644
index 00000000000..11f8d94f10a
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/README.md
@@ -0,0 +1,5 @@
+# Legacy folder
+
+This folder exist to keep backward compatibility with generated code from the archetype before
+the layout refactoring. The plan is to remove and it and merge the content with the matching `output.xml` file
+once the test coverage is much better.
\ No newline at end of file
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/abac-output.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/abac-output.xml
new file mode 100644
index 00000000000..ed29b599461
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/abac-output.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/files/config.yaml.mustache b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/files/config.yaml.mustache
new file mode 100644
index 00000000000..ebbb7ffb4a2
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/files/config.yaml.mustache
@@ -0,0 +1,10 @@
+
+ security:
+ defaults:
+ authenticate: true
+ web-server:
+ # protected paths on the web server - do not include paths served by Jersey, as those are protected directly
+ paths:
+ {{#paths-config-entries}}
+ {{.}}
+ {{/paths-config-entries}}
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/google-output.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/google-output.xml
new file mode 100644
index 00000000000..5cb5e9ee7a4
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/google-output.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ io.helidon.webserver.context
+ io.helidon.webserver.staticcontent
+ io.helidon.security.providers.google.login
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/http-signature-output.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/http-signature-output.xml
new file mode 100644
index 00000000000..8f588095091
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/http-signature-output.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/jwt-output.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/jwt-output.xml
new file mode 100644
index 00000000000..e0cb75641e3
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/jwt-output.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ io.helidon.webserver.context
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/legacy.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/legacy.xml
new file mode 100644
index 00000000000..57338ebd5f3
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/legacy.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/output.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/output.xml
new file mode 100644
index 00000000000..9dee6e034e9
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/legacy/output.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+
diff --git a/archetypes/archetypes/src/main/archetype/se/custom/security-outputs.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/output.xml
similarity index 95%
rename from archetypes/archetypes/src/main/archetype/se/custom/security-outputs.xml
rename to archetypes/archetypes/src/main/archetype/nodes/se/features/security/output.xml
index 5bd5b2e0e51..d1078b205c2 100644
--- a/archetypes/archetypes/src/main/archetype/se/custom/security-outputs.xml
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/security/output.xml
@@ -50,13 +50,15 @@
# as a role mapper. Using minimal configuration here
client-id: "your-client-id"
client-secret: "changeit"
- identity-uri: "https://your-tenant-id.identity.oracle.com"]]>
+ identity-uri: "https://your-tenant-id.identity.oracle.com"]]>
+
+ roles-allowed: ["my_admins"]]]>
+
+]]>
+
res.send("You have been logged out"))]]>
+ .get("/loggedout", (req, res) -> res.send("You have been logged out"))]]>
+
io.helidon.security
@@ -134,7 +139,8 @@ Build and run the application and then try the endpoints:
1. Open http://localhost:7987/rest/profile in your browser. This should present
you with a response highlighting your logged in role (null) correctly as you are not logged in
2. Open `http://localhost:7987/oidc/logout` in your browser. This will log you out from your IDCS and Helidon sessions
-]]>
+]]>
+
@@ -180,7 +186,8 @@ Build and run the application and then try the endpoints:
.addProvider(GoogleTokenProvider.builder()
.clientId("your-client-id.apps.googleusercontent.com"))
.build();
-]]>
+]]>
+
+]]>
+
+]]>
+
+ System.out.println("Check Google login http://localhost:" + server.port() + "/google-login.html");]]>
+
+ proxy-host: ""]]>
+
+ #}]]>
+
-
+]]>
+
@@ -301,12 +314,14 @@ Update the following files with your client id (it should support http://localho
+]]>
+
+]]>
+
+]]>
+
+]]>
+
@@ -344,7 +361,7 @@ Update the following files with your client id (it should support http://localho
io.helidon.webclient.http1
-
+]]>
+
@@ -367,6 +385,12 @@ curl -u "jill:changeit" http://localhost:8080/override
src/*/java/**/Service2.java.mustache
+
+ files
+
+ src/main/resources/keystore.p12
+
+
+]]>
+
+]]>
+
Optional.ofNullable(USERS.get(login));
}
-]]>
+]]>
+
socket
- .routing(Main::routing2))]]>
+ .routing(Main::routing2))]]>
+
@@ -571,7 +600,7 @@ private static void routing2(HttpRouting.Builder routing) {
io.helidon.security.providers.httpsign
-
+]]>
+
@@ -602,7 +632,8 @@ curl -v -u "john:changeit" http://localhost:8080/service1
- abac:
fail-on-unvalidated: true
fail-if-none-validated: true
-]]>
+]]>
+
@@ -625,7 +656,8 @@ curl -v -u "john:changeit" http://localhost:8080/service1
+]]>
+
io.helidon.security.integration.common
@@ -633,20 +665,7 @@ security:
-
+
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/README.jaeger.md b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/README.jaeger.md
new file mode 100644
index 00000000000..f418b4b3743
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/README.jaeger.md
@@ -0,0 +1,28 @@
+## Tracing
+
+### Set up Jaeger
+
+First, you need to run the Jaeger tracer. Helidon will communicate with this tracer at runtime.
+
+Run Jaeger within a docker container:
+```
+docker run -d --name jaeger\
+ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411\
+ -e COLLECTOR_OTLP_ENABLED=true\
+ -p 6831:6831/udp\
+ -p 6832:6832/udp\
+ -p 5778:5778\
+ -p 16686:16686\
+ -p 4317:4317\
+ -p 4318:4318\
+ -p 14250:14250\
+ -p 14268:14268\
+ -p 14269:14269\
+ -p 9411:9411\
+ jaegertracing/all-in-one:1.43
+```
+
+### View Tracing Using Jaeger UI
+
+Jaeger provides a web-based UI at http://localhost:16686, where you can see a visual representation of
+the same data and the relationship between spans within a trace.
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/README.zipkin.md b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/README.zipkin.md
new file mode 100644
index 00000000000..d1ae33b0aea
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/README.zipkin.md
@@ -0,0 +1,47 @@
+## Tracing
+
+### Set up Zipkin
+
+First, you need to run the Zipkin tracer. Helidon will communicate with this tracer at runtime.
+
+Run Zipkin within a docker container, then check the Zipkin server health:
+```
+docker run -d --name zipkin -p 9411:9411 openzipkin/zipkin
+```
+Run the Zipkin docker image named openzipkin/zipkin.
+Check the Zipkin server health:
+```
+curl http://localhost:9411/health
+```
+Invoke the Zipkin REST API to check the Zipkin server health.
+```
+Response body
+{
+ "status": "UP",
+ "zipkin": {
+ "status": "UP",
+ "details": {
+ "InMemoryStorage{}": {
+ "status": "UP"
+ }
+ }
+ }
+}
+```
+All status fields should be UP.
+
+### View Tracing Using Zipkin REST API
+
+Run the curl command and check the response:
+```
+curl http://localhost:9411/api/v2/services
+```
+Response body
+```
+["helidon-mp-1"]
+```
+
+### View Tracing Using Zipkin UI
+
+Zipkin provides a web-based UI at http://localhost:9411/zipkin, where you can see a visual representation of
+the same data and the relationship between spans within a trace.
diff --git a/archetypes/archetypes/src/main/archetype/se/custom/files/src/main/java/__pkg__/TracedService.java.mustache b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/src/main/java/__pkg__/TracedService.java.mustache
similarity index 100%
rename from archetypes/archetypes/src/main/archetype/se/custom/files/src/main/java/__pkg__/TracedService.java.mustache
rename to archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/files/src/main/java/__pkg__/TracedService.java.mustache
diff --git a/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/inputs.xml b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/inputs.xml
new file mode 100644
index 00000000000..6bbea87670a
--- /dev/null
+++ b/archetypes/archetypes/src/main/archetype/nodes/se/features/tracing/inputs.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+