Skip to content
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

Determine 3.0 container_init downstream customization workflow #462

Open
nitzmahone opened this issue Apr 3, 2023 · 0 comments
Open

Determine 3.0 container_init downstream customization workflow #462

nitzmahone opened this issue Apr 3, 2023 · 0 comments

Comments

@nitzmahone
Copy link
Member

The upstream default container init in 3.0 just always installs dumb-init from PyPI in the absence of any other config in the EE def. That's probably not going to be palatable for downstream- dumb-init is publicly packaged for Fedora, but not for CentOS Stream/UBI/RHEL. A few ideas:

  1. Add an optional "is dumb-init already here?" script check that will skip the pip install if found, since I assume we'll continue to manually add it on the official downstream base images anyway. So long as the check passes, continue to configure the entrypoint defaults as we already do, or stop with a clear failure message if the base image doesn't already have dumb-init and say that the user will need to install one from "somewhere".
  2. Vendor a container init binary into the downstream packages and provide a simple place for downstream to patch to copy it in as the default instead of pip-installing. This causes problems for multi-arch and non-standard C runtimes, among other things.
  3. Do nothing, and tell downstream users that have a problem with the default pip-install to get dumb-init or another init system from "somewhere".
  4. (dream scenario) Get all AAP components that launch an EE to tell the container runtime to inject an init (as both docker and podman support this, and I assume others do as well), and let builder get out of the business of providing a default init entrypoint altogether. This may not be realistic.

Option 1 is probably the most realistic, since it only requires users that aren't based off a fully-supported base EE to understand this and make a choice (and even then only if their builds can't access pip, unless the downstream builder bits patch that default away).

@github-actions github-actions bot added the needs_triage New item that needs to be triaged label Apr 3, 2023
@sivel sivel removed the needs_triage New item that needs to be triaged label Jun 1, 2023
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

No branches or pull requests

2 participants