Skip to content

fix: pkg_resources not found + docker deprecated ENV, RUN errors - #3412

Open
adityak714 wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
adityak714:main
Open

fix: pkg_resources not found + docker deprecated ENV, RUN errors#3412
adityak714 wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
adityak714:main

Conversation

@adityak714

Copy link
Copy Markdown

Background

When running skaffold run to locally compile on a Kind (Kubernetes in Docker) cluster, some services (such as the emailservice and loadgenerator) do not run. They are stuck in a crash loop, and required a pip-constraints file to ensure setup-tools is under version 82.

  • Additionally, commands of ENV and RUN in dockerfile need an equal sign =, and in JSONArgs format respectively, which some Dockerfiles in src/* did not have.

Fixes

  • The solution was thanks to a suggestion in https://stackoverflow.com/a/79886564, which also worked on my end.
  • Fixes in the RUN and ENV commands in Dockerfiles of some services added in all Dockerfiles for consistency and for compilation to work.

Testing Procedure:

  • Go to the specific service's folder in src/ and do a docker build to inspect the changes, setting the destination as the folder itself. This is to inspect per-service compilation and if they build correctly or not.
  • Doing skaffold run from the root directory of this project (where the skaffold.yaml file is situated).
  • Tried on WSL2 x86_64 Ubuntu 24.04.4 LTS.
  • Skaffold version: GoogleContainerTools/skaffold@f9beeb7b6
  • Kind version: 0.32.0
  • Kubectl:
    • Client Version: v1.36.1
    • Kustomize Version: v5.8.1
    • Server Version: v1.36.1

Additional Notes

  • When doing skaffold run, a commonly occurring problem was the build suddenly stopping, leaving the creation of some services incomplete and interrupted. Repeating skaffold run multiple times was a temporary solution, but a timeout increase is needed.

The suggested changes concern the following strand in the Product Requirements:

  1. Preserve the golden user journey taken by Kubernetes beginners

The following statement about Online Boutique should always be true:

  • A user outside of Google can deploy Online Boutique's default configuration on a kind Kubernetes cluster. Being able to run Online Boutique on a kind cluster ensures that Online Boutique is free and cloud-agnostic. This is aligned with Google's mission of making information universally accessible and useful. To be specific, Online Boutique should be useful and accessible to developers that are new to Kubernetes.

Related PRs or Issues

- Problem: When running `skaffold run` to locally compile on a Kind (Kubernetes in Docker) cluster, some services (such as the emailservice and loadgenerator) do not run. They are stuck in a crash loop, and required a pip-constraints file to ensure setup-tools is under version 82. The solution was thanks to a suggestion in https://stackoverflow.com/a/79886564

- Additionally, commands of ENV and RUN in dockerfile need an equal sign
  `=`, and in JSONArgs format respectively, which some Dockerfiles in
`src/*` did not have. Now added in all Dockerfiles for consistency and
for compilation to work.

Reproducing:
- Go to the specific service's folder in `src/` and do
a docker build to inspect the changes, setting the destination as the
folder itself. This is to inspect per-service compilation and if they
build correctly or not.
- Doing `skaffold run` from the root directory of this project (where
  the skaffold.yaml file is situated).
- Skaffold version: GoogleContainerTools/skaffold@f9beeb7b6
- Kind version: 0.32.0
- Kubectl:
	- Client Version: v1.36.1
	- Kustomize Version: v5.8.1
	- Server Version: v1.36.1
- When doing skaffold run, a commonly occurring problem was the build suddenly stopping, leaving the creation of some services incomplete and interrupted. Repeating skaffold run multiple times was a temporary solution, but a timeout increase is needed.

The suggested changes concern the following strand in the Product
Requirements:

1. Preserve the golden user journey taken by Kubernetes beginners
The following statement about Online Boutique should always be true:
- A user outside of Google can deploy Online Boutique's default configuration on a kind Kubernetes cluster. Being able to run Online Boutique on a kind cluster ensures that Online Boutique is free and cloud-agnostic. This is aligned with Google's mission of making information universally accessible and useful. To be specific, Online Boutique should be useful and accessible to developers that are new to Kubernetes.
@adityak714
adityak714 requested review from a team and yoshi-approver as code owners June 24, 2026 08:23
@google-cla

google-cla Bot commented Jun 24, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

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