This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-jbang-examples.git
The following commit(s) were added to refs/heads/main by this push:
new d78f34d CAMEL-24808: the tree matches the groups: quick-start and
showcase directories (#88)
d78f34d is described below
commit d78f34d4898b154e68f8cfda4b91f36410535777
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Sep 18 21:24:48 2026 +0200
CAMEL-24808: the tree matches the groups: quick-start and showcase
directories (#88)
timer-log, rest-api, routes and splitter move to quick-start/, and
tui-hello-world, memory-leak, message-size and smart-log-analyzer to showcase/,
where their metadata already put them. The beginner, eip and observability
directories are gone. CI path updated, catalog regenerated.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Bp3538HRBPMQkb5ta9xRaj
---
.github/workflows/build.yml | 2 +-
camel-jbang-example-catalog.json | 458 ++++++++++-----------
{beginner => quick-start}/rest-api/README.md | 0
.../rest-api/application.properties | 0
{beginner => quick-start}/rest-api/metadata.json | 0
.../rest-api/rest-api.camel.yaml | 0
{beginner => quick-start}/routes/Greeter.java | 0
{beginner => quick-start}/routes/README.md | 0
.../routes/application.properties | 0
{beginner => quick-start}/routes/beans.yaml | 0
{beginner => quick-start}/routes/metadata.json | 0
{beginner => quick-start}/routes/routes.camel.yaml | 0
{eip => quick-start}/splitter/README.md | 0
{eip => quick-start}/splitter/metadata.json | 0
{eip => quick-start}/splitter/splitter.camel.yaml | 0
{beginner => quick-start}/timer-log/README.md | 0
.../timer-log/application.properties | 0
{beginner => quick-start}/timer-log/metadata.json | 0
.../timer-log/timer-log.camel.yaml | 0
.../memory-leak/MemoryLeak.java | 0
{observability => showcase}/memory-leak/README.md | 0
.../memory-leak/metadata.json | 0
{observability => showcase}/message-size/README.md | 0
.../message-size/metadata.json | 0
.../message-size/orders.camel.yaml | 0
{ai => showcase}/smart-log-analyzer/.kaoto | 0
{ai => showcase}/smart-log-analyzer/README.md | 0
.../analyzer/application-dev.properties | 0
.../analyzer/error-analyzer.camel.yaml | 0
.../caches/infinispan-events-config.json | 0
.../infinispan-events-to-process-config.json | 0
.../containers/docker-compose.yaml | 0
.../containers/otel-collector-config.yaml | 0
.../correlator/application-dev.properties | 0
.../correlator/correlated-log-schema.json | 0
.../correlator/correlated-trace-schema.json | 0
.../correlator/infinispan.camel.yaml | 0
.../correlator/kafka-ca-cert.pem | 0
.../correlator/kaoto-datamapper-4a94acc3.xsl | 0
.../correlator/kaoto-datamapper-8f5bb2dd.xsl | 0
.../correlator/logs-mapper.camel.yaml | 0
.../correlator/otel-log-record-schema.json | 0
.../correlator/otel-logs-schema.json | 0
.../correlator/otel-span-schema.json | 0
.../correlator/otel-traces-schema.json | 0
.../correlator/traces-mapper.camel.yaml | 0
.../first-iteration/analyzer.camel.yaml | 0
.../first-iteration/application.properties | 0
.../first-iteration/load-generator.camel.yaml | 0
.../test/citrus-application.properties | 0
.../test/first-iteration.citrus.it.yaml | 0
.../first-iteration/test/payload-error.json | 0
.../first-iteration/test/payload-info.json | 0
.../log-generator/agent.properties | 0
.../log-generator/application-dev.properties | 0
.../log-generator/log-generator.camel.yaml | 0
.../log-generator/opentelemetry-javaagent.jar | Bin
{ai => showcase}/smart-log-analyzer/metadata.json | 0
.../ui-console/application-dev.properties | 0
.../smart-log-analyzer/ui-console/index.html | 0
.../ui-console/jms-file-storage.camel.yaml | 0
.../ui-console/rest-api.camel.yaml | 0
{beginner => showcase}/tui-hello-world/README.md | 0
.../tui-hello-world/metadata.json | 0
.../tui-hello-world/tui-hello-world.yaml | 0
65 files changed, 230 insertions(+), 230 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3eed449..37bea03 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -87,7 +87,7 @@ jobs:
- name: EDI X12 AS2
path: transformation/edi-x12-as2
- name: Smart log analyzer
- path: ai/smart-log-analyzer/first-iteration
+ path: showcase/smart-log-analyzer/first-iteration
fail-fast: false
name: ${{ matrix.name }}
steps:
diff --git a/camel-jbang-example-catalog.json b/camel-jbang-example-catalog.json
index 22dcf51..fd9e530 100644
--- a/camel-jbang-example-catalog.json
+++ b/camel-jbang-example-catalog.json
@@ -161,183 +161,6 @@
"pii.schema.json"
]
},
- {
- "name": "ai/smart-log-analyzer",
- "title": "Smart Log Analyzer",
- "description": "A multi-part showcase: a load generator produces logs
and traces, a correlator maps OpenTelemetry logs to traces, an LLM analyses the
correlated records, and a small web console with a REST API shows the results.",
- "level": "showcase",
- "teaches": {
- "components": [
- "platform-http",
- "jms",
- "file",
- "langchain4j-chat"
- ],
- "eips": [
- "rest"
- ]
- },
- "tags": [
- "ai",
- "observability",
- "opentelemetry",
- "logging"
- ],
- "bundled": false,
- "requiresDocker": false,
- "hasCitrusTests": true,
- "files": [
- "README.md",
- "analyzer/application-dev.properties",
- "analyzer/error-analyzer.camel.yaml",
- "containers/caches/infinispan-events-config.json",
- "containers/caches/infinispan-events-to-process-config.json",
- "containers/otel-collector-config.yaml",
- "correlator/application-dev.properties",
- "correlator/correlated-log-schema.json",
- "correlator/correlated-trace-schema.json",
- "correlator/infinispan.camel.yaml",
- "correlator/kafka-ca-cert.pem",
- "correlator/kaoto-datamapper-4a94acc3.xsl",
- "correlator/kaoto-datamapper-8f5bb2dd.xsl",
- "correlator/logs-mapper.camel.yaml",
- "correlator/otel-log-record-schema.json",
- "correlator/otel-logs-schema.json",
- "correlator/otel-span-schema.json",
- "correlator/otel-traces-schema.json",
- "correlator/traces-mapper.camel.yaml",
- "first-iteration/analyzer.camel.yaml",
- "first-iteration/application.properties",
- "first-iteration/load-generator.camel.yaml",
- "log-generator/agent.properties",
- "log-generator/application-dev.properties",
- "log-generator/log-generator.camel.yaml",
- "log-generator/opentelemetry-javaagent.jar",
- "ui-console/application-dev.properties",
- "ui-console/index.html",
- "ui-console/jms-file-storage.camel.yaml",
- "ui-console/rest-api.camel.yaml"
- ]
- },
- {
- "name": "beginner/rest-api",
- "title": "REST API",
- "description": "A REST API on port 8080: GET /api/hello answers the
greeting from application.properties and GET /api/hello/{name} answers a
greeting with the name.",
- "level": "quick-start",
- "teaches": {
- "components": [
- "platform-http",
- "direct"
- ],
- "eips": [
- "rest"
- ],
- "languages": [
- "simple"
- ]
- },
- "tags": [
- "beginner",
- "rest",
- "http"
- ],
- "bundled": true,
- "requiresDocker": false,
- "hasCitrusTests": false,
- "files": [
- "README.md",
- "application.properties",
- "rest-api.camel.yaml"
- ]
- },
- {
- "name": "beginner/routes",
- "title": "Routes",
- "description": "A timer route in YAML calls a Java bean, Greeter, that
builds the message, and logs what the bean returned; the first step from YAML
into your own code.",
- "level": "quick-start",
- "teaches": {
- "components": [
- "timer",
- "log"
- ],
- "eips": [
- "bean"
- ]
- },
- "tags": [
- "beginner",
- "yaml",
- "bean"
- ],
- "bundled": true,
- "requiresDocker": false,
- "hasCitrusTests": false,
- "files": [
- "Greeter.java",
- "README.md",
- "application.properties",
- "beans.yaml",
- "routes.camel.yaml"
- ]
- },
- {
- "name": "beginner/timer-log",
- "title": "Timer Log",
- "description": "A timer fires every second and a log line prints the
greeting from application.properties; the hello of Camel in one file.",
- "level": "quick-start",
- "teaches": {
- "components": [
- "timer",
- "log"
- ],
- "languages": [
- "simple"
- ]
- },
- "tags": [
- "beginner",
- "timer",
- "log"
- ],
- "bundled": true,
- "requiresDocker": false,
- "hasCitrusTests": false,
- "files": [
- "README.md",
- "application.properties",
- "timer-log.camel.yaml"
- ]
- },
- {
- "name": "beginner/tui-hello-world",
- "title": "TUI Hello World",
- "description": "A one-shot timer prints an invitation; the route
direct:greet then logs and greets any message sent to it from the CLI (camel
cmd send --endpoint=direct:greet --body=...) or from a tool that can send
messages.",
- "level": "showcase",
- "teaches": {
- "components": [
- "timer",
- "direct",
- "log"
- ],
- "languages": [
- "simple",
- "constant"
- ]
- },
- "tags": [
- "beginner",
- "direct",
- "send",
- "tui"
- ],
- "bundled": true,
- "requiresDocker": false,
- "hasCitrusTests": false,
- "files": [
- "README.md",
- "tui-hello-world.yaml"
- ]
- },
{
"name": "cloud/aws-sqs",
"title": "AWS SQS",
@@ -907,37 +730,6 @@
"stock.json"
]
},
- {
- "name": "eip/splitter",
- "title": "Splitter",
- "description": "A timer creates a comma-separated batch of items, the
splitter turns it into one message per item, and each item is logged on its own
line.",
- "level": "quick-start",
- "teaches": {
- "components": [
- "timer",
- "log"
- ],
- "eips": [
- "split"
- ],
- "languages": [
- "tokenize",
- "simple"
- ]
- },
- "tags": [
- "eip",
- "splitter",
- "batch"
- ],
- "bundled": true,
- "requiresDocker": false,
- "hasCitrusTests": false,
- "files": [
- "README.md",
- "splitter.camel.yaml"
- ]
- },
{
"name": "fail-well/circuit-breaker",
"title": "Circuit breaker",
@@ -1021,62 +813,123 @@
]
},
{
- "name": "observability/memory-leak",
- "title": "Memory Leak",
- "description": "Three timer routes run side by side: two leak memory
into a cache and a buffer, one is healthy, so a JFR Old Object Sample recording
and the CLI's heap tools show which route leaks.",
- "level": "showcase",
+ "name": "quick-start/rest-api",
+ "title": "REST API",
+ "description": "A REST API on port 8080: GET /api/hello answers the
greeting from application.properties and GET /api/hello/{name} answers a
greeting with the name.",
+ "level": "quick-start",
+ "teaches": {
+ "components": [
+ "platform-http",
+ "direct"
+ ],
+ "eips": [
+ "rest"
+ ],
+ "languages": [
+ "simple"
+ ]
+ },
+ "tags": [
+ "beginner",
+ "rest",
+ "http"
+ ],
+ "bundled": true,
+ "requiresDocker": false,
+ "hasCitrusTests": false,
+ "files": [
+ "README.md",
+ "application.properties",
+ "rest-api.camel.yaml"
+ ]
+ },
+ {
+ "name": "quick-start/routes",
+ "title": "Routes",
+ "description": "A timer route in YAML calls a Java bean, Greeter, that
builds the message, and logs what the bean returned; the first step from YAML
into your own code.",
+ "level": "quick-start",
"teaches": {
"components": [
"timer",
"log"
],
"eips": [
- "process"
+ "bean"
]
},
"tags": [
- "observability",
- "jfr",
- "diagnostics",
- "tui"
+ "beginner",
+ "yaml",
+ "bean"
],
"bundled": true,
"requiresDocker": false,
"hasCitrusTests": false,
"files": [
- "MemoryLeak.java",
- "README.md"
+ "Greeter.java",
+ "README.md",
+ "application.properties",
+ "beans.yaml",
+ "routes.camel.yaml"
]
},
{
- "name": "observability/message-size",
- "title": "Message Size",
- "description": "Timer routes send messages of small, medium and large
sizes to seda queues with a Content-Length header, so camel cmd and the CLI's
message-size views show sizes per endpoint.",
- "level": "showcase",
+ "name": "quick-start/splitter",
+ "title": "Splitter",
+ "description": "A timer creates a comma-separated batch of items, the
splitter turns it into one message per item, and each item is logged on its own
line.",
+ "level": "quick-start",
"teaches": {
"components": [
"timer",
- "seda",
"log"
],
"eips": [
- "setHeader"
+ "split"
],
"languages": [
+ "tokenize",
"simple"
]
},
"tags": [
- "observability",
- "monitoring",
- "seda"
+ "eip",
+ "splitter",
+ "batch"
],
"bundled": true,
"requiresDocker": false,
"hasCitrusTests": false,
"files": [
"README.md",
- "orders.camel.yaml"
+ "splitter.camel.yaml"
+ ]
+ },
+ {
+ "name": "quick-start/timer-log",
+ "title": "Timer Log",
+ "description": "A timer fires every second and a log line prints the
greeting from application.properties; the hello of Camel in one file.",
+ "level": "quick-start",
+ "teaches": {
+ "components": [
+ "timer",
+ "log"
+ ],
+ "languages": [
+ "simple"
+ ]
+ },
+ "tags": [
+ "beginner",
+ "timer",
+ "log"
+ ],
+ "bundled": true,
+ "requiresDocker": false,
+ "hasCitrusTests": false,
+ "files": [
+ "README.md",
+ "application.properties",
+ "timer-log.camel.yaml"
]
},
{
@@ -1342,6 +1195,153 @@
"properties-and-profiles.camel.yaml"
]
},
+ {
+ "name": "showcase/memory-leak",
+ "title": "Memory Leak",
+ "description": "Three timer routes run side by side: two leak memory
into a cache and a buffer, one is healthy, so a JFR Old Object Sample recording
and the CLI's heap tools show which route leaks.",
+ "level": "showcase",
+ "teaches": {
+ "components": [
+ "timer",
+ "log"
+ ],
+ "eips": [
+ "process"
+ ]
+ },
+ "tags": [
+ "observability",
+ "jfr",
+ "diagnostics",
+ "tui"
+ ],
+ "bundled": true,
+ "requiresDocker": false,
+ "hasCitrusTests": false,
+ "files": [
+ "MemoryLeak.java",
+ "README.md"
+ ]
+ },
+ {
+ "name": "showcase/message-size",
+ "title": "Message Size",
+ "description": "Timer routes send messages of small, medium and large
sizes to seda queues with a Content-Length header, so camel cmd and the CLI's
message-size views show sizes per endpoint.",
+ "level": "showcase",
+ "teaches": {
+ "components": [
+ "timer",
+ "seda",
+ "log"
+ ],
+ "eips": [
+ "setHeader"
+ ],
+ "languages": [
+ "simple"
+ ]
+ },
+ "tags": [
+ "observability",
+ "monitoring",
+ "seda"
+ ],
+ "bundled": true,
+ "requiresDocker": false,
+ "hasCitrusTests": false,
+ "files": [
+ "README.md",
+ "orders.camel.yaml"
+ ]
+ },
+ {
+ "name": "showcase/smart-log-analyzer",
+ "title": "Smart Log Analyzer",
+ "description": "A multi-part showcase: a load generator produces logs
and traces, a correlator maps OpenTelemetry logs to traces, an LLM analyses the
correlated records, and a small web console with a REST API shows the results.",
+ "level": "showcase",
+ "teaches": {
+ "components": [
+ "platform-http",
+ "jms",
+ "file",
+ "langchain4j-chat"
+ ],
+ "eips": [
+ "rest"
+ ]
+ },
+ "tags": [
+ "ai",
+ "observability",
+ "opentelemetry",
+ "logging"
+ ],
+ "bundled": false,
+ "requiresDocker": false,
+ "hasCitrusTests": true,
+ "files": [
+ "README.md",
+ "analyzer/application-dev.properties",
+ "analyzer/error-analyzer.camel.yaml",
+ "containers/caches/infinispan-events-config.json",
+ "containers/caches/infinispan-events-to-process-config.json",
+ "containers/otel-collector-config.yaml",
+ "correlator/application-dev.properties",
+ "correlator/correlated-log-schema.json",
+ "correlator/correlated-trace-schema.json",
+ "correlator/infinispan.camel.yaml",
+ "correlator/kafka-ca-cert.pem",
+ "correlator/kaoto-datamapper-4a94acc3.xsl",
+ "correlator/kaoto-datamapper-8f5bb2dd.xsl",
+ "correlator/logs-mapper.camel.yaml",
+ "correlator/otel-log-record-schema.json",
+ "correlator/otel-logs-schema.json",
+ "correlator/otel-span-schema.json",
+ "correlator/otel-traces-schema.json",
+ "correlator/traces-mapper.camel.yaml",
+ "first-iteration/analyzer.camel.yaml",
+ "first-iteration/application.properties",
+ "first-iteration/load-generator.camel.yaml",
+ "log-generator/agent.properties",
+ "log-generator/application-dev.properties",
+ "log-generator/log-generator.camel.yaml",
+ "log-generator/opentelemetry-javaagent.jar",
+ "ui-console/application-dev.properties",
+ "ui-console/index.html",
+ "ui-console/jms-file-storage.camel.yaml",
+ "ui-console/rest-api.camel.yaml"
+ ]
+ },
+ {
+ "name": "showcase/tui-hello-world",
+ "title": "TUI Hello World",
+ "description": "A one-shot timer prints an invitation; the route
direct:greet then logs and greets any message sent to it from the CLI (camel
cmd send --endpoint=direct:greet --body=...) or from a tool that can send
messages.",
+ "level": "showcase",
+ "teaches": {
+ "components": [
+ "timer",
+ "direct",
+ "log"
+ ],
+ "languages": [
+ "simple",
+ "constant"
+ ]
+ },
+ "tags": [
+ "beginner",
+ "direct",
+ "send",
+ "tui"
+ ],
+ "bundled": true,
+ "requiresDocker": false,
+ "hasCitrusTests": false,
+ "files": [
+ "README.md",
+ "tui-hello-world.yaml"
+ ]
+ },
{
"name": "transform/csv-to-json",
"title": "CSV to JSON",
diff --git a/beginner/rest-api/README.md b/quick-start/rest-api/README.md
similarity index 100%
rename from beginner/rest-api/README.md
rename to quick-start/rest-api/README.md
diff --git a/beginner/rest-api/application.properties
b/quick-start/rest-api/application.properties
similarity index 100%
rename from beginner/rest-api/application.properties
rename to quick-start/rest-api/application.properties
diff --git a/beginner/rest-api/metadata.json
b/quick-start/rest-api/metadata.json
similarity index 100%
rename from beginner/rest-api/metadata.json
rename to quick-start/rest-api/metadata.json
diff --git a/beginner/rest-api/rest-api.camel.yaml
b/quick-start/rest-api/rest-api.camel.yaml
similarity index 100%
rename from beginner/rest-api/rest-api.camel.yaml
rename to quick-start/rest-api/rest-api.camel.yaml
diff --git a/beginner/routes/Greeter.java b/quick-start/routes/Greeter.java
similarity index 100%
rename from beginner/routes/Greeter.java
rename to quick-start/routes/Greeter.java
diff --git a/beginner/routes/README.md b/quick-start/routes/README.md
similarity index 100%
rename from beginner/routes/README.md
rename to quick-start/routes/README.md
diff --git a/beginner/routes/application.properties
b/quick-start/routes/application.properties
similarity index 100%
rename from beginner/routes/application.properties
rename to quick-start/routes/application.properties
diff --git a/beginner/routes/beans.yaml b/quick-start/routes/beans.yaml
similarity index 100%
rename from beginner/routes/beans.yaml
rename to quick-start/routes/beans.yaml
diff --git a/beginner/routes/metadata.json b/quick-start/routes/metadata.json
similarity index 100%
rename from beginner/routes/metadata.json
rename to quick-start/routes/metadata.json
diff --git a/beginner/routes/routes.camel.yaml
b/quick-start/routes/routes.camel.yaml
similarity index 100%
rename from beginner/routes/routes.camel.yaml
rename to quick-start/routes/routes.camel.yaml
diff --git a/eip/splitter/README.md b/quick-start/splitter/README.md
similarity index 100%
rename from eip/splitter/README.md
rename to quick-start/splitter/README.md
diff --git a/eip/splitter/metadata.json b/quick-start/splitter/metadata.json
similarity index 100%
rename from eip/splitter/metadata.json
rename to quick-start/splitter/metadata.json
diff --git a/eip/splitter/splitter.camel.yaml
b/quick-start/splitter/splitter.camel.yaml
similarity index 100%
rename from eip/splitter/splitter.camel.yaml
rename to quick-start/splitter/splitter.camel.yaml
diff --git a/beginner/timer-log/README.md b/quick-start/timer-log/README.md
similarity index 100%
rename from beginner/timer-log/README.md
rename to quick-start/timer-log/README.md
diff --git a/beginner/timer-log/application.properties
b/quick-start/timer-log/application.properties
similarity index 100%
rename from beginner/timer-log/application.properties
rename to quick-start/timer-log/application.properties
diff --git a/beginner/timer-log/metadata.json
b/quick-start/timer-log/metadata.json
similarity index 100%
rename from beginner/timer-log/metadata.json
rename to quick-start/timer-log/metadata.json
diff --git a/beginner/timer-log/timer-log.camel.yaml
b/quick-start/timer-log/timer-log.camel.yaml
similarity index 100%
rename from beginner/timer-log/timer-log.camel.yaml
rename to quick-start/timer-log/timer-log.camel.yaml
diff --git a/observability/memory-leak/MemoryLeak.java
b/showcase/memory-leak/MemoryLeak.java
similarity index 100%
rename from observability/memory-leak/MemoryLeak.java
rename to showcase/memory-leak/MemoryLeak.java
diff --git a/observability/memory-leak/README.md
b/showcase/memory-leak/README.md
similarity index 100%
rename from observability/memory-leak/README.md
rename to showcase/memory-leak/README.md
diff --git a/observability/memory-leak/metadata.json
b/showcase/memory-leak/metadata.json
similarity index 100%
rename from observability/memory-leak/metadata.json
rename to showcase/memory-leak/metadata.json
diff --git a/observability/message-size/README.md
b/showcase/message-size/README.md
similarity index 100%
rename from observability/message-size/README.md
rename to showcase/message-size/README.md
diff --git a/observability/message-size/metadata.json
b/showcase/message-size/metadata.json
similarity index 100%
rename from observability/message-size/metadata.json
rename to showcase/message-size/metadata.json
diff --git a/observability/message-size/orders.camel.yaml
b/showcase/message-size/orders.camel.yaml
similarity index 100%
rename from observability/message-size/orders.camel.yaml
rename to showcase/message-size/orders.camel.yaml
diff --git a/ai/smart-log-analyzer/.kaoto b/showcase/smart-log-analyzer/.kaoto
similarity index 100%
rename from ai/smart-log-analyzer/.kaoto
rename to showcase/smart-log-analyzer/.kaoto
diff --git a/ai/smart-log-analyzer/README.md
b/showcase/smart-log-analyzer/README.md
similarity index 100%
rename from ai/smart-log-analyzer/README.md
rename to showcase/smart-log-analyzer/README.md
diff --git a/ai/smart-log-analyzer/analyzer/application-dev.properties
b/showcase/smart-log-analyzer/analyzer/application-dev.properties
similarity index 100%
rename from ai/smart-log-analyzer/analyzer/application-dev.properties
rename to showcase/smart-log-analyzer/analyzer/application-dev.properties
diff --git a/ai/smart-log-analyzer/analyzer/error-analyzer.camel.yaml
b/showcase/smart-log-analyzer/analyzer/error-analyzer.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/analyzer/error-analyzer.camel.yaml
rename to showcase/smart-log-analyzer/analyzer/error-analyzer.camel.yaml
diff --git
a/ai/smart-log-analyzer/containers/caches/infinispan-events-config.json
b/showcase/smart-log-analyzer/containers/caches/infinispan-events-config.json
similarity index 100%
rename from
ai/smart-log-analyzer/containers/caches/infinispan-events-config.json
rename to
showcase/smart-log-analyzer/containers/caches/infinispan-events-config.json
diff --git
a/ai/smart-log-analyzer/containers/caches/infinispan-events-to-process-config.json
b/showcase/smart-log-analyzer/containers/caches/infinispan-events-to-process-config.json
similarity index 100%
rename from
ai/smart-log-analyzer/containers/caches/infinispan-events-to-process-config.json
rename to
showcase/smart-log-analyzer/containers/caches/infinispan-events-to-process-config.json
diff --git a/ai/smart-log-analyzer/containers/docker-compose.yaml
b/showcase/smart-log-analyzer/containers/docker-compose.yaml
similarity index 100%
rename from ai/smart-log-analyzer/containers/docker-compose.yaml
rename to showcase/smart-log-analyzer/containers/docker-compose.yaml
diff --git a/ai/smart-log-analyzer/containers/otel-collector-config.yaml
b/showcase/smart-log-analyzer/containers/otel-collector-config.yaml
similarity index 100%
rename from ai/smart-log-analyzer/containers/otel-collector-config.yaml
rename to showcase/smart-log-analyzer/containers/otel-collector-config.yaml
diff --git a/ai/smart-log-analyzer/correlator/application-dev.properties
b/showcase/smart-log-analyzer/correlator/application-dev.properties
similarity index 100%
rename from ai/smart-log-analyzer/correlator/application-dev.properties
rename to showcase/smart-log-analyzer/correlator/application-dev.properties
diff --git a/ai/smart-log-analyzer/correlator/correlated-log-schema.json
b/showcase/smart-log-analyzer/correlator/correlated-log-schema.json
similarity index 100%
rename from ai/smart-log-analyzer/correlator/correlated-log-schema.json
rename to showcase/smart-log-analyzer/correlator/correlated-log-schema.json
diff --git a/ai/smart-log-analyzer/correlator/correlated-trace-schema.json
b/showcase/smart-log-analyzer/correlator/correlated-trace-schema.json
similarity index 100%
rename from ai/smart-log-analyzer/correlator/correlated-trace-schema.json
rename to showcase/smart-log-analyzer/correlator/correlated-trace-schema.json
diff --git a/ai/smart-log-analyzer/correlator/infinispan.camel.yaml
b/showcase/smart-log-analyzer/correlator/infinispan.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/correlator/infinispan.camel.yaml
rename to showcase/smart-log-analyzer/correlator/infinispan.camel.yaml
diff --git a/ai/smart-log-analyzer/correlator/kafka-ca-cert.pem
b/showcase/smart-log-analyzer/correlator/kafka-ca-cert.pem
similarity index 100%
rename from ai/smart-log-analyzer/correlator/kafka-ca-cert.pem
rename to showcase/smart-log-analyzer/correlator/kafka-ca-cert.pem
diff --git a/ai/smart-log-analyzer/correlator/kaoto-datamapper-4a94acc3.xsl
b/showcase/smart-log-analyzer/correlator/kaoto-datamapper-4a94acc3.xsl
similarity index 100%
rename from ai/smart-log-analyzer/correlator/kaoto-datamapper-4a94acc3.xsl
rename to showcase/smart-log-analyzer/correlator/kaoto-datamapper-4a94acc3.xsl
diff --git a/ai/smart-log-analyzer/correlator/kaoto-datamapper-8f5bb2dd.xsl
b/showcase/smart-log-analyzer/correlator/kaoto-datamapper-8f5bb2dd.xsl
similarity index 100%
rename from ai/smart-log-analyzer/correlator/kaoto-datamapper-8f5bb2dd.xsl
rename to showcase/smart-log-analyzer/correlator/kaoto-datamapper-8f5bb2dd.xsl
diff --git a/ai/smart-log-analyzer/correlator/logs-mapper.camel.yaml
b/showcase/smart-log-analyzer/correlator/logs-mapper.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/correlator/logs-mapper.camel.yaml
rename to showcase/smart-log-analyzer/correlator/logs-mapper.camel.yaml
diff --git a/ai/smart-log-analyzer/correlator/otel-log-record-schema.json
b/showcase/smart-log-analyzer/correlator/otel-log-record-schema.json
similarity index 100%
rename from ai/smart-log-analyzer/correlator/otel-log-record-schema.json
rename to showcase/smart-log-analyzer/correlator/otel-log-record-schema.json
diff --git a/ai/smart-log-analyzer/correlator/otel-logs-schema.json
b/showcase/smart-log-analyzer/correlator/otel-logs-schema.json
similarity index 100%
rename from ai/smart-log-analyzer/correlator/otel-logs-schema.json
rename to showcase/smart-log-analyzer/correlator/otel-logs-schema.json
diff --git a/ai/smart-log-analyzer/correlator/otel-span-schema.json
b/showcase/smart-log-analyzer/correlator/otel-span-schema.json
similarity index 100%
rename from ai/smart-log-analyzer/correlator/otel-span-schema.json
rename to showcase/smart-log-analyzer/correlator/otel-span-schema.json
diff --git a/ai/smart-log-analyzer/correlator/otel-traces-schema.json
b/showcase/smart-log-analyzer/correlator/otel-traces-schema.json
similarity index 100%
rename from ai/smart-log-analyzer/correlator/otel-traces-schema.json
rename to showcase/smart-log-analyzer/correlator/otel-traces-schema.json
diff --git a/ai/smart-log-analyzer/correlator/traces-mapper.camel.yaml
b/showcase/smart-log-analyzer/correlator/traces-mapper.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/correlator/traces-mapper.camel.yaml
rename to showcase/smart-log-analyzer/correlator/traces-mapper.camel.yaml
diff --git a/ai/smart-log-analyzer/first-iteration/analyzer.camel.yaml
b/showcase/smart-log-analyzer/first-iteration/analyzer.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/first-iteration/analyzer.camel.yaml
rename to showcase/smart-log-analyzer/first-iteration/analyzer.camel.yaml
diff --git a/ai/smart-log-analyzer/first-iteration/application.properties
b/showcase/smart-log-analyzer/first-iteration/application.properties
similarity index 100%
rename from ai/smart-log-analyzer/first-iteration/application.properties
rename to showcase/smart-log-analyzer/first-iteration/application.properties
diff --git a/ai/smart-log-analyzer/first-iteration/load-generator.camel.yaml
b/showcase/smart-log-analyzer/first-iteration/load-generator.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/first-iteration/load-generator.camel.yaml
rename to showcase/smart-log-analyzer/first-iteration/load-generator.camel.yaml
diff --git
a/ai/smart-log-analyzer/first-iteration/test/citrus-application.properties
b/showcase/smart-log-analyzer/first-iteration/test/citrus-application.properties
similarity index 100%
rename from
ai/smart-log-analyzer/first-iteration/test/citrus-application.properties
rename to
showcase/smart-log-analyzer/first-iteration/test/citrus-application.properties
diff --git
a/ai/smart-log-analyzer/first-iteration/test/first-iteration.citrus.it.yaml
b/showcase/smart-log-analyzer/first-iteration/test/first-iteration.citrus.it.yaml
similarity index 100%
rename from
ai/smart-log-analyzer/first-iteration/test/first-iteration.citrus.it.yaml
rename to
showcase/smart-log-analyzer/first-iteration/test/first-iteration.citrus.it.yaml
diff --git a/ai/smart-log-analyzer/first-iteration/test/payload-error.json
b/showcase/smart-log-analyzer/first-iteration/test/payload-error.json
similarity index 100%
rename from ai/smart-log-analyzer/first-iteration/test/payload-error.json
rename to showcase/smart-log-analyzer/first-iteration/test/payload-error.json
diff --git a/ai/smart-log-analyzer/first-iteration/test/payload-info.json
b/showcase/smart-log-analyzer/first-iteration/test/payload-info.json
similarity index 100%
rename from ai/smart-log-analyzer/first-iteration/test/payload-info.json
rename to showcase/smart-log-analyzer/first-iteration/test/payload-info.json
diff --git a/ai/smart-log-analyzer/log-generator/agent.properties
b/showcase/smart-log-analyzer/log-generator/agent.properties
similarity index 100%
rename from ai/smart-log-analyzer/log-generator/agent.properties
rename to showcase/smart-log-analyzer/log-generator/agent.properties
diff --git a/ai/smart-log-analyzer/log-generator/application-dev.properties
b/showcase/smart-log-analyzer/log-generator/application-dev.properties
similarity index 100%
rename from ai/smart-log-analyzer/log-generator/application-dev.properties
rename to showcase/smart-log-analyzer/log-generator/application-dev.properties
diff --git a/ai/smart-log-analyzer/log-generator/log-generator.camel.yaml
b/showcase/smart-log-analyzer/log-generator/log-generator.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/log-generator/log-generator.camel.yaml
rename to showcase/smart-log-analyzer/log-generator/log-generator.camel.yaml
diff --git a/ai/smart-log-analyzer/log-generator/opentelemetry-javaagent.jar
b/showcase/smart-log-analyzer/log-generator/opentelemetry-javaagent.jar
similarity index 100%
rename from ai/smart-log-analyzer/log-generator/opentelemetry-javaagent.jar
rename to showcase/smart-log-analyzer/log-generator/opentelemetry-javaagent.jar
diff --git a/ai/smart-log-analyzer/metadata.json
b/showcase/smart-log-analyzer/metadata.json
similarity index 100%
rename from ai/smart-log-analyzer/metadata.json
rename to showcase/smart-log-analyzer/metadata.json
diff --git a/ai/smart-log-analyzer/ui-console/application-dev.properties
b/showcase/smart-log-analyzer/ui-console/application-dev.properties
similarity index 100%
rename from ai/smart-log-analyzer/ui-console/application-dev.properties
rename to showcase/smart-log-analyzer/ui-console/application-dev.properties
diff --git a/ai/smart-log-analyzer/ui-console/index.html
b/showcase/smart-log-analyzer/ui-console/index.html
similarity index 100%
rename from ai/smart-log-analyzer/ui-console/index.html
rename to showcase/smart-log-analyzer/ui-console/index.html
diff --git a/ai/smart-log-analyzer/ui-console/jms-file-storage.camel.yaml
b/showcase/smart-log-analyzer/ui-console/jms-file-storage.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/ui-console/jms-file-storage.camel.yaml
rename to showcase/smart-log-analyzer/ui-console/jms-file-storage.camel.yaml
diff --git a/ai/smart-log-analyzer/ui-console/rest-api.camel.yaml
b/showcase/smart-log-analyzer/ui-console/rest-api.camel.yaml
similarity index 100%
rename from ai/smart-log-analyzer/ui-console/rest-api.camel.yaml
rename to showcase/smart-log-analyzer/ui-console/rest-api.camel.yaml
diff --git a/beginner/tui-hello-world/README.md
b/showcase/tui-hello-world/README.md
similarity index 100%
rename from beginner/tui-hello-world/README.md
rename to showcase/tui-hello-world/README.md
diff --git a/beginner/tui-hello-world/metadata.json
b/showcase/tui-hello-world/metadata.json
similarity index 100%
rename from beginner/tui-hello-world/metadata.json
rename to showcase/tui-hello-world/metadata.json
diff --git a/beginner/tui-hello-world/tui-hello-world.yaml
b/showcase/tui-hello-world/tui-hello-world.yaml
similarity index 100%
rename from beginner/tui-hello-world/tui-hello-world.yaml
rename to showcase/tui-hello-world/tui-hello-world.yaml