Update default devfile to use image digest
MR: Pending <!-- The first line of this issue description must be one of the following: 1. `MR: Pending` 2. `MR: <MR link with trailing +>`, 3. If there are multiple MRs: ``` MRs: - <MR 1 link with trailing +>` - <MR 2 link with trailing +>` - ... ``` 4. `MR: No MR` ...and the first description line of the MR should be `Issue: <Issue link with trailing +>` For more context, see: https://about.gitlab.com/handbook/engineering/development/dev/create/ide/index.html#relationship-of-issues-to-mrs --> <!-- The following sections should be filled out as part of the refinement process before the issue is prioritized. For more context, see: https://about.gitlab.com/handbook/engineering/development/dev/create/ide/#2-pre-iteration-planning-meeting --> ## Description From the discussions [here](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/171230#note_2263818166), we are using specific image digest for `linux/amd64` in the `default_devfile`. And we have [the issue](https://gitlab.com/gitlab-org/workspaces/gitlab-workspaces-tools/-/issues/12) for fixing this from `gitlab-workspace-tools`. After the above issue is resolved, then we could update the code here to use OCI image digest, ee/lib/remote_development/settings/default_settings.rb, and not have to pin specific OS and Arch digest. ## Acceptance Criteria - [ ] Update `DEFAULT_DEVFILE` to use the OCI image digest - [ ] verify locally everything works as expected ## Notes Putting some code for how to use `docker inspect` and/or `docker image` to display both the OCI-level digest, and the arch-level digests? For example, we are targeting this OCI image `registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23` We first pull this image to local ``` ~  docker pull registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23 ``` Then we could inspect Manifest Digest by using the below command ``` ~  docker image inspect --format='{{index .RepoDigests 0}}' registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23 registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04@sha256:bd88180d8cb143ef0f9e400c41060a1170500c5f7737fa4fafd044088a3d119e ``` Then we could inspect arch-specific digest by using below command ``` ~  docker manifest inspect registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23 { "schemaVersion": 2, "mediaType": "application/vnd.oci.image.index.v1+json", "manifests": [ { "mediaType": "application/vnd.oci.image.manifest.v1+json", "size": 6872, "digest": "sha256:5278a18f31a542bacbb8a2c182df456d3b06321818e71d2d04552f73ab17d0d7", "platform": { "architecture": "arm64", "os": "linux" } }, { "mediaType": "application/vnd.oci.image.manifest.v1+json", "size": 6872, "digest": "sha256:c3d5527641bc0c6f4fbbea4bb36fe225b8e9f1df69f682c927941327312bc676", "platform": { "architecture": "amd64", "os": "linux" } }, { "mediaType": "application/vnd.oci.image.manifest.v1+json", "size": 566, "digest": "sha256:0c3019ef6a51e28713e80f821cd47c1d54bbb5cce7f3c9dcff621b2fbafb9c4a", "platform": { "architecture": "unknown", "os": "unknown" } }, { "mediaType": "application/vnd.oci.image.manifest.v1+json", "size": 566, "digest": "sha256:f185132ce5d6fe4b0541bdf411d052260b76610ff4ab3fd221c6a97cdcfa3cf6", "platform": { "architecture": "unknown", "os": "unknown" } } ] } ``` <!-- Replace with other type, e.g. bug or maintenance, if appropriate --> <!-- Replace with other subtype if appropriate --> <!-- By default, all issues start in the unprioritized status. See https://handbook.gitlab.com/handbook/engineering/development/dev/create/remote-development/#-planning-process --> <!-- For simplicity and to avoid triage bot warnings about missing workflow labels, we will default to issues starting at the refinement phase -->
issue