Skip to content

Update Iceberg quickstart to automatically configure its topic #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jrinehart-buf
Copy link
Contributor

@jrinehart-buf jrinehart-buf commented May 21, 2025

This PR should be merged at the same time as a corresponding PR in docs.

Goal: Users walking through the Iceberg quickstart shouldn't have to edit any configurations. All they should need to do is copy/paste/run terminal commands and then Spark queries.

Changes in this PR:

  • Update the producer to support topic-config parameters by updating app.go and kafka.go
    • These are copies of the files in bufstream-demo. They do contain some unused code, but I don't want to create one-off, "special" versions for examples.
  • Preconfigure bufstream.yaml with the local REST catalog. Docs are updated to suggest people open the file to see it, but they don't need to make any changes.
  • Remove AKHQ from the Docker Compose project.
  • Remove the unused BUFSTREAM_VERSION from the Makefile

@jrinehart-buf jrinehart-buf requested a review from rodaine May 21, 2025 17:12
@jrinehart-buf jrinehart-buf marked this pull request as ready for review May 21, 2025 17:12
@jrinehart-buf jrinehart-buf requested a review from bufdev May 22, 2025 10:27
doMain(false, action)
}

// MainAutoCreateTopic is used by the producer's main function. It is just like [Main] except
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the way to do this: app.Main is a top-level entry point that should do minimal setup work that is universal for all binaries. Instead, you've added a new MainAutoCreateTopic that does application logic. All application logic specific to the binary should be done within the do function that main invokes.

@jrinehart-buf jrinehart-buf marked this pull request as draft May 23, 2025 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants