GoogleCloudPlatform / cloud-sdk-docker

Google Cloud CLI Docker Image - Docker Image containing the gcloud CLI and its bundled components.
https://cloud.google.com/sdk/docs/downloads-docker
Apache License 2.0
746 stars 233 forks source link

Upgrade Debian image to bookworm #345

Closed muffl0n closed 1 month ago

muffl0n commented 1 year ago

Currently, Debian bullseye is used. It should be updated to bookworm.

bobidle commented 1 year ago

@muffl0n last time i tried the upgrade of the Google Cloud SDK Images to Debian Bookworm, some SDK packages could not be used. Some of them are use in the provided images. Because of missing deps like Java v8 and Python v2.7 in Debian Bookworm.

I will try the upgrade next week again and if some packages are not installable i will contact the Google support about it.

muffl0n commented 1 year ago

Awesome! Thanks for your feedback! ❤️

bobidle commented 1 year ago

The upgrade is possible but some default package (e.g. of the latest image) have to be removed. e.g.:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  google-cloud-cli-app-engine-java : Depends: openjdk-8-jdk but it is not installable or
                                              openjdk-11-jdk but it is not installable
  google-cloud-cli-app-engine-python : Depends: python2.7 but it is not installable
  google-cloud-cli-datastore-emulator : Depends: openjdk-8-jdk but it is not installable or
                                                 openjdk-11-jdk but it is not installable
  google-cloud-cli-firestore-emulator : Depends: openjdk-8-jdk but it is not installable or
                                                 openjdk-11-jdk but it is not installable
  google-cloud-cli-pubsub-emulator : Depends: openjdk-8-jdk but it is not installable or
                                              openjdk-11-jdk but it is not installable

Unable to correct problems, you have held broken packages.

I am not sure if these breaking changes should be applied to the docker images atm.

e.g. App Engine drops support for Python 2.7 on 2024-01-30 https://cloud.google.com/appengine/docs/standard/lifecycle/support-schedule#python

If the packages should be included in the future, we have to wait for better Python 3 and Java 17 support of the CLI/SDK Debian/Ubuntu packages.

cloudsdkdocker commented 12 months ago

+1 on these packages still blocking update. The inclusion of these non-default components is preventing us from ensuring this image is up to date and minimizing its CVE surface area. We have been exploring what our strategy with these images will be going forward given these persistent issues. I will likely open a discussion with some proposals to gauge feedback from users very soon to help inform our next steps!

bobidle commented 12 months ago

The package google-cloud-cli-app-engine-java in v456.0.0 has updated dependencies. :+1:

$ apt info google-cloud-cli-app-engine-java               
Package: google-cloud-cli-app-engine-java
Version: 456.0.0-0
Priority: optional
Section: misc
Maintainer: Google Cloud CLI Authors <https://code.google.com/p/google-cloud-sdk/>
Installed-Size: 147 MB
Depends: google-cloud-cli-app-engine-python, openjdk-8-jdk | openjdk-11-jdk | openjdk-17-jdk | openjdk-21-jdk
Homepage: https://cloud.google.com/sdk/
Download-Size: 126 MB
APT-Sources: https://packages.cloud.google.com/apt cloud-sdk-bullseye/main amd64 Packages
Description: Java runtime for Google App Engine
bobidle commented 11 months ago

@muffl0n the slim image is already updated to Debian Bookworm (https://github.com/GoogleCloudPlatform/cloud-sdk-docker/commit/0891370e58d7343bd2bf634f81e25985186c9831), could you try to use and check the image if everything is working as expected?

bobidle commented 11 months ago

Also the emulator packages seem to support newer openjdk packages since v457.0.0-0

Package: google-cloud-cli-datastore-emulator
Version: 457.0.0-0
Priority: optional
Section: misc
Maintainer: Google Cloud CLI Authors <https://code.google.com/p/google-cloud-sdk/>
Installed-Size: 41.1 MB
Depends: google-cloud-cli, openjdk-8-jdk | openjdk-11-jdk | openjdk-17-jdk | openjdk-21-jdk
Homepage: https://cloud.google.com/sdk/
Download-Size: 37.6 MB
APT-Sources: https://packages.cloud.google.com/apt cloud-sdk-bookworm/main amd64 Packages
Description: Emulator for Google Cloud Datastore.

Package: google-cloud-cli-firestore-emulator
Version: 457.0.0-0
Priority: optional
Section: misc
Maintainer: Google Cloud CLI Authors <https://code.google.com/p/google-cloud-sdk/>
Installed-Size: 48.7 MB
Depends: google-cloud-cli, openjdk-8-jdk | openjdk-11-jdk | openjdk-17-jdk | openjdk-21-jdk
Homepage: https://cloud.google.com/sdk/
Download-Size: 44.5 MB
APT-Sources: https://packages.cloud.google.com/apt cloud-sdk-bookworm/main amd64 Packages
Description: Emulator for Google Cloud Firestore.

Package: google-cloud-cli-pubsub-emulator
Version: 457.0.0-0
Priority: optional
Section: misc
Maintainer: Google Cloud CLI Authors <https://code.google.com/p/google-cloud-sdk/>
Installed-Size: 69.9 MB
Depends: google-cloud-cli, openjdk-8-jdk | openjdk-11-jdk | openjdk-17-jdk | openjdk-21-jdk
Homepage: https://cloud.google.com/sdk/
Download-Size: 62.9 MB
APT-Sources: https://packages.cloud.google.com/apt cloud-sdk-bookworm/main amd64 Packages
Description: Emulator for Google Cloud Pubsub.
muffl0n commented 11 months ago

Hey @bobidle thanks for your work! Unfortunately I can't test this as we moved to using alpine based images. Sorry. :|

anindyatahsin commented 1 month ago

All the debian based images are upgraded to Debian 12.