Add .NET Kafka webserver#1
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d709c2e74
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| depends_on: | ||
| - kafka | ||
| - create-topics |
There was a problem hiding this comment.
Wait for topic creation before starting the .NET server
In the documented docker-compose up -d zookeeper kafka create-topics webserver-dotnet flow, this short-form depends_on only orders container startup; Docker's startup-order docs state it does not wait for a dependency to be ready or for a one-shot job to complete. Because Kafka has auto topic creation disabled and dotnet-messages is created later by create-topics, the .NET consumer/producer can start against a missing topic and fail or return produce errors on a fresh environment, unlike the existing webservers that explicitly wait for their topic/schema before running.
Useful? React with 👍 / 👎.
Motivation
Description
webserver-dotnet/Program.cs) exposing/produceto send messages and/consumeto view recent messages, usingConfluent.Kafkafor production and a background consumer.webserver-dotnet/webserver-dotnet.csproj) and a Dockerfile (webserver-dotnet/Dockerfile) for containerized runs, plus.dockerignore.webserver-dotnetservice indocker-compose.yml(mapped to host port3005) and add creation of thedotnet-messagestopic to thecreate-topicsservice.README.mdwith instructions on how to start the .NET webserver and where to access theproduceandconsumepages.Testing
git diff --checkto validate there are no trivial whitespace or diff errors and it completed successfully.docker-compose.ymlwith a small YAML check (ruby -e 'require "yaml"; ...') to confirm thewebserver-dotnetservice and its port are present and the check succeeded../dotnet-install.shanddotnet buildsteps but they could not complete because the environment lacked a local .NET SDK and the installer was blocked by the network/proxy, so the build could not be verified here.docker compose config/docker-compose configto validate the Compose file but this environment does not have Docker installed, so compose validation could not be performed here.Codex Task