{
"permissions": {
"allow": [
- "Bash(*)",
- "Bash(./TAG.sh before-improvements *)",
- "Bash(GIT_EDITOR=true git rebase --continue)",
- "Bash(chmod +x /home/vagrant/workspace/training/rebase_fix3.sh)",
- "Bash(bash rebase_fix3.sh)",
- "Bash(awk '{print $1}')",
- "Skill(update-config)"
+ "Bash(git commit *)",
+ "Bash(git tag *)",
+ "Bash(git checkout *)",
+ "Bash(git cherry-pick *)",
+ "Bash(git rm *)",
+ "Bash(git add *)",
+ "Bash(GIT_EDITOR=true git cherry-pick --continue)",
+ "Bash(python3 *)",
+ "Bash(read var *)",
+ "Bash(grep -q '^ __TRACKED_VAR__ ' BRANCHES.sh)",
+ "Bash(grep ^__TRACKED_VAR__= BRANCHES.sh)",
+ "Bash(git stash *)",
+ "Bash(grep -- '--claude-3$')",
+ "Bash(grep -- '--claude-4$')",
+ "Bash(git ls-tree *)",
+ "Bash(git rebase *)",
+ "Bash(echo \"EXIT: $?\")",
+ "Bash(xargs git log --oneline -1)",
+ "Bash(grep \"\\\\-\\\\-claude-5$\")",
+ "Bash(grep \"\\\\-\\\\-claude-4$\")"
]
}
}
- `README.sh` — die kanonische Art, die Übung auszuführen (baut, startet Docker Compose, führt Demo aus)
- `docker/docker-compose.yml` — lokales Kafka-Cluster-Setup
-- `pom.xml` und/oder `build.gradle` — Maven/Gradle-Build (Java 21, Spring Boot 4.0.6)
+- `pom.xml` und/oder `build.gradle` — Maven/Gradle-Build
- `src/` — Java-Quellcode (Gruppe `de.juplo.kafka`)
Einige Branches enthalten **nur** eine `docker/docker-compose.yml` ohne Build-Dateien oder Quellcode. Dies sind reine Infrastruktur-Setups für Übungen, in denen Teilnehmer mit Kafka-Clients aus einer vorherigen Übung weiterexperimentieren.
| Branch-Gruppe | Build-Tool | `pom.xml` | `build.gradle` |
|---|---|---|---|
-| `grundlagen/*` | **Jib** (`jib-maven-plugin` 3.4.5) | `<container><mainClass>` explizit | `jib { container { mainClass = '...' } }` |
+| `grundlagen/*` | **Jib** (`jib-maven-plugin`) | `<container><mainClass>` explizit | `jib { container { mainClass = '...' } }` |
| `producer/*`, `consumer/*`, `springkafka/*` | **bootBuildImage** (Cloud Native Buildpacks) | `spring-boot-maven-plugin` + `build-info`-Goal, `<image><name>juplo/...` | `bootBuildImage { imageName = "juplo/${project.name}:${project.version}" }` |
Branches enthalten kein `Dockerfile`, keine `.dockerignore` und keine `.maven-dockerinclude` — Jib und bootBuildImage übernehmen das Image-Building vollständig und benötigen diese Dateien nicht.