Skip to content

Determine image building process for release tools #852

@justaugustus

Description

@justaugustus

Something that has been on my mind and I'm realizing now that we may not have had an issue for it before.

From kubernetes/test-infra#13890...
@tpepper:

I think we should be moving more towards distroless plus specific, explicit dependencies. In the near term changes over the past months have driven the tooling to a place where it tends to expect a general and recent-ish distro base. Picking a base Ubuntu or debian might more imply "this is a catch all linux dev/test env" versus using kube-cross?

Either way, merging an update to this image to ungate things should also come with an issue to clean up, minimize, make explicit the image base and add-on content requirements and properly lifecycle it moving forward.

@hoegaarden:

I don't think distroless is the right choice for most of the things we want to run as part of the build & test. I agree that one should think about using distroless for running things. But for building and testing, esp. for the sh tests, we literally need a distro or tools you'd expect to be part of a distro.

We should strive for lightweight images that have only the dependencies we require to build, test, utilize release tooling.

Adding my opinion to the discussion, I also don't think distroless is the right choice at the moment, as some of our process requires package-building tools for debs and rpms.

Suggesting:

  • lightweight Debian/Ubuntu image
  • git
  • curl
  • jq
  • python
  • go
  • bazel
  • Google Cloud utilities
  • rpm
  • docker(?)

Additionally, we need an automated process for bumping these images when dependencies are updated.
k/test-infra has some process for this, though I don't know what it is.

Should we host there instead?
We also need to figure out which image repository to host in and investigate leveraging the container-image-promoter.

cc: @kubernetes/sig-release-admins @kubernetes/release-engineering @hoegaarden @spiffxp @BenTheElder
/help
/area release-eng
/kind feature
/milestone v1.16
/priority important-longterm

Metadata

Metadata

Assignees

Labels

area/release-engIssues or PRs related to the Release Engineering subprojecthelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.sig/releaseCategorizes an issue or PR as relevant to SIG Release.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions