Skip to content

Conversation

@kabir
Copy link
Collaborator

@kabir kabir commented Oct 27, 2025

Replaces Kind with Minikube due to stability issues, especially with Podman.
Adds support for both Docker and Podman container runtimes.

Changes:

  • Migrate from Kind to Minikube with NodePort (port 30080)
  • Podman: Use tarball + minikube image load (no registry needed)
  • Docker: Use Minikube registry addon with port-forwarding
  • Linux + Podman: Rootless mode with containerd runtime
  • Linux + Podman: Check broker pod directly (entity operator compatibility issues)
  • Linux + Podman: Poll Kafka broker until topic exists before deploying agents
  • Mac/Linux + Podman: Background service tunnel for NodePort access
  • Dynamic image references and imagePullPolicy based on container tool

Tested on:

  • macOS with Podman ✓
  • Linux (Fedora) with Podman ✓
  • Linux (GitHub Actions) with Docker ✓

The original work was done in #389

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kabir, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors the cloud deployment example to use Minikube instead of Kind, primarily to enhance stability and improve compatibility across different container runtimes like Docker and Podman. The changes aim to provide a more reliable and consistent local Kubernetes development experience, especially for users leveraging Podman.

Highlights

  • Migration to Minikube: The cloud deployment example has been migrated from Kind to Minikube to address stability issues, particularly with Podman.
  • Enhanced Container Runtime Support: The example now provides robust support for both Docker and Podman, including specific handling for image loading and deployment.
  • Streamlined Image Handling: For Podman, images are now loaded directly into Minikube using minikube image load from a tarball, bypassing the need for a local registry. For Docker, the Minikube registry addon is utilized with port-forwarding.
  • Automated NodePort Access: The deployment script now automatically retrieves the service URL via minikube service --url and sets up background tunnels (for macOS and Linux with Podman) to ensure consistent NodePort access.
  • Improved Kafka Deployment Robustness: Specific checks have been added to the Kafka deployment process to account for compatibility issues with the Strimzi entity operator when using Podman with containerd on Linux, ensuring the broker and topic are ready before proceeding.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the cloud deployment example from Kind to Minikube, addressing stability issues, especially with Podman. It adds support for both Docker and Podman container runtimes. The changes include migrating from Kind to Minikube with NodePort, using tarball + minikube image load for Podman, using Minikube registry addon with port-forwarding for Docker, and handling rootless mode with containerd runtime for Linux + Podman. The code changes primarily involve updating the README.md file, the agent deployment YAML file, and the deploy and cleanup scripts to reflect the switch to Minikube and the different handling of Docker and Podman.

  Replaces Kind with Minikube due to stability issues, especially with Podman.
  Adds support for both Docker and Podman container runtimes.

  Changes:
  - Migrate from Kind to Minikube with NodePort (port 30080)
  - Podman: Use tarball + minikube image load (no registry needed)
  - Docker: Use Minikube registry addon with port-forwarding
  - Linux + Podman: Rootless mode with containerd runtime
  - Linux + Podman: Check broker pod directly (entity operator compatibility issues)
  - Linux + Podman: Poll Kafka broker until topic exists before deploying agents
  - Mac/Linux + Podman: Background service tunnel for NodePort access
  - Dynamic image references and imagePullPolicy based on container tool

  Tested on:
  - macOS with Podman ✓
  - Linux (Fedora) with Podman ✓
  - Linux (GitHub Actions) with Docker ✓
@kabir kabir force-pushed the event-queues-replicated-example-kind-to-minikube branch from 81e01e7 to 333111a Compare October 27, 2025 18:44
@kabir
Copy link
Collaborator Author

kabir commented Oct 28, 2025

We decided not to switch to Minikube since the differences between what you need to do on Podman and Docker is quite big. Since a lot of us use Podman locally, and GH Actions uses Docker, the difference is too big.
So we are keeping the original work from #389, and workaround in #397 (inspired by changes in this PR) should cover most of the cases,

@kabir kabir closed this Oct 28, 2025
@kabir kabir deleted the event-queues-replicated-example-kind-to-minikube branch November 3, 2025 13:01
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.

1 participant