Is the support complete for `rock` images? (potentially new inspector required)
Metadata
Current evaluation
Fetch service lacks OCI image inspector for rockcraft builds; maintainer acknowledged and confirmed OCI inspector support is planned.
Suggested action: keep open
Reason: Maintainer @cmatsuoka acknowledged the issue on 2025-01-28 and explicitly stated 'support for an OCI image inspector is planned.' This is a legitimate feature gap that has been triaged and is on the roadmap, not a stale or unsupported request.
Impact:
50
Quick Win:
17.5
Staleness:
45
Complexity:
65
Confidence:
75
Support Request:
15
Issue body
### Bug Description
While inspecting the mimetypes in fetch service, I was curious how it handled other OCI images being fetched as a part of the build. So, we setup a rockcraft build with ubuntu@24.04 base: https://code.launchpad.net/~canonical-security/shishirsub10-superalpaca/+git/shishirsub10-superalpaca/+ref/master
According to rocks documentation:
> Ubuntu bases
>
> When setting an Ubuntu [base](https://documentation.ubuntu.com/rockcraft/en/latest/reference/rockcraft.yaml/#rockcraft-yaml-base) for a rock, Rockcraft will pull the corresponding Ubuntu base container image from a container registry. This is exactly the same container one would get from places like [Docker Hub](https://hub.docker.com/_/ubuntu/) or [Amazon ECR](https://gallery.ecr.aws/ubuntu/ubuntu).
>
> The resulting rock will therefore also contain any software and utilities that are present in the Ubuntu base container images.
>
> Setting an Ubuntu [base](https://documentation.ubuntu.com/rockcraft/en/latest/reference/rockcraft.yaml/#rockcraft-yaml-base) for a rock is especially useful when the goal is to build a rock that can be used for general-purpose environments such as a development working space.
While inspecting the [fetch service output](https://launchpad.net/~shishirsub10/shishirsub10-superalpaca/+rock/shishirsub10-alsuperalpaca/+build/262/+files/ROCKRECIPEBUILD-262_metadata.json) for this:
```json
{
"artifact-metadata-version": "0.1",
"request-inspection": {
"default": {
"opinion": "Unknown",
"reason": "the request was not recognized by any format inspector"
}
},
"response-inspection": {
"default": {
"opinion": "Unknown",
"reason": "the artifact file content was not recognized by any format inspector"
}
},
"result": "Rejected",
"metadata": {
"type": "application/gzip",
"sha1": "959266e2d8e4e6b66eb2f9b1a21cfe07395617f7",
"sha256": "5a7813e071bfadf18aaa6ca8318be4824a9b6297b3240f2cc84c1db6f4113040",
"size": 29754290,
"name": "",
"version": "",
"vendor": "",
"description": "",
"author": "",
"license": ""
},
"downloads": [
{
"start-time": "2025-01-27T06:08:20.380986054Z",
"end-time": "2025-01-27T06:08:22.438437962Z",
"method": "GET",
"url": "https://d2glxqk2uabbnd.cloudfront.net:443/v2/e63354-770290485149-64bb1500-015b-80db-0107-97d4abc1e249/a70a7ee3-20a2-4459-8ecc-ef227bdbb81e?Encoded=WC1BbXotU2VjdXJpdHktVG9rZW49SVFvSmIzSnBaMmx1WDJWakVFNGFDWFZ6TFdWaGMzUXRNU0pITUVVQ0lRREJocmthR2JMJTJGYnhxeHRUb3dTdk9tRTNjVG9mQnhSUE1HVGgxMU01dmk2Z0lnRkZ1NmdhZnRaa2hMOEx6eElJZGNpSTFCWUlTZTBsV2FVT2JOelhUZHUzTXF3d01JVmhBRkdndzFPVEV4TURVNU1UUTVOVElpRE5NYUIzWWJqcjdkajJmMHNTcWdBNVpBR2l0V2RLVThtS0xzenptbFZMMUtTcVh2WEslMkZmdnNZTDVTVmtQY3RvS25uUFlRNTZVRGFDVHZEQjJtRU9zdlJTcDdHelYydURtT3VOMjZCMjY0TE4lMkZURDVkRDV2WUR5ZWU4eGVOS2tkVTRxeGtvQ3RGU1VJc3R3Q1lEWDhIZkZDd0w4YjduSlRkSjMwNDRQMWhBQlB4QkZwTkpwMTkxNzBWY3hZU25CaE5kQ2JhcFdiYjhPeGVRRnNVdkpjanpScUdrejhOQ1QyVkhTeUZISUdoSW9JVEJwRXIyV05odEFkY2FEeEp5ZUYlMkJpNVhXZmpwcWI1VWIlMkJsQVllTW9FSGlaeUFlWFVTSXZpNVJTUTklMkJEcEFZaWthUHhHeUdJM0pqMkg0c1g4TGpVUjMydUxpcWQxUVNybjJ1Zlc5YUpLRGpMQSUyRlBPJTJCM3F6eEFJZmNBYjYyRjYlMkJKU2JZb2JmSHFiTXdmUWRQNWtvWlVEbWJBa2dkTFJYWU83eWdoJTJCR3FJWFBKbjBEQ1ZLUXB4dzNTNHhjR1ZVaVV0S1RraHFUQktuUGo1YmpXYjZCek94JTJGWGJrU3dwYTNiJTJCNFU4M0dmU0FMcXJlNyUyQmJKWll6OW04ZnpBVXg5OFQ2QmxUWUhtRkRFcWtWRHhhVVFuRGM0ajRYVWlxT0ozWHQ2ajcweVpFMHJ1cXp3MXlBQTFqR3pETFVjZUloWE9WS2VZejJDaE52TXJoVzdhTkQzOUZpTU0ybzNMd0dPcUVCV1EySXZrc1VCV2UwR0RlWkVaeTllWTRLUVFraVkzVnNvNSUyRnpuVHVjejZTUSUyRjllY3JiaGZkaXpFYTdJd3k0ODkzRVBGejdTVURRMGlwSjZZa0FqNDhDWFFKMUVxSUclMkIlMkJoSzhPSGNLWElHVjFveSUyQjlnTGVXU3o5aTYxTzc5UkptQWZLdEFpdFJjbmVMRVV2VlU1a2xRVDdSYVZIZmZsJTJCeCUyRnRvdnBCOElOQ3hyZG1Nek5PbGU3QldhaWdHcEZWSUpITFN6NG56OGY3bHpBakxoOFFZSE15QSUzRCZYLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1EYXRlPTIwMjUwMTI3VDA2MDgxOVomWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JlgtQW16LUV4cGlyZXM9MzU5OSZYLUFtei1DcmVkZW50aWFsPUFTSUFZVElGSVBCRUpEWFdWUVZCJTJGMjAyNTAxMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1TaWduYXR1cmU9MmZmZTRiNGVjMGJhMjBhY2IxOGU1YzVhNjBkZGM4OWY5ZWFmNjJjNjk1OTc0MTBiZDNhM2M0NWEzOTE4NjM5MQ==&Expires=1737961699&Signature=hMiZxD-qlBOUWcjXzpEPNwAR0LTcfUREkB8tTUDF0V3VQTzBmz5Pb23jUEw3UCJ2Xgr~Sle2ZTmIsID8~KEOqDc~zggRv3th58SIUPsfzOAoXuez9HPHHiJkF8Nk~U44lSNpGuwL0Vhg8hjQMXDFE2TtUS~fIwLAIfPbxI5OCxBiJd7fSrya8W8aMKQ1Ik0CdojKpRgoyOPf8SMwd31BdexPd7xqqyUmkDgQbZG4hMzAMzOqA~k1CE9D2MWkW0VqGZcuoTy30mpuB38GkcdwUcYYuqo2CVDYdjYG2ZarpFdT7nxFyniMaIZdXsbmygIBoP-CX1IhsdrY7b4-rbpUAQ__&Key-Pair-Id=KSPLJWGOARK62",
"address": "10.133.170.12:42664",
"user-agent": "skopeo/1.14.2",
"request-header": {
"Accept-Encoding": [
"gzip"
],
"Docker-Distribution-Api-Version": [
"registry/2.0"
],
"Referer": [
"https://public.ecr.aws/v2/ubuntu/ubuntu/blobs/sha256:5a7813e071bfadf18aaa6ca8318be4824a9b6297b3240f2cc84c1db6f4113040"
],
"User-Agent": [
"skopeo/1.14.2"
]
},
```
It rejected the download of the base image (exact mimetypes to be figured out - but it's shown as gzip now, oci images may have a separate one). Fetch service was in permissive mode so the build succeeded, but fetch service doesn't account for the base image. All types in this fetch service output:
```cmd
$ jq '[.artifacts[].metadata.type] | unique' Downloads/ROCKRECIPEBUILD-262_metadata.json
[
"application/gzip", # related to oci images
"application/json", # related to oci images
"application/vnd.debian.binary-package",
"application/x.apt.packages",
"application/x.apt.release",
"application/x.apt.translation",
"application/x.canonical.rockcraft",
"application/x.canonical.snap-package",
"application/x.canonical.snap-refresh",
"application/x.git.upload-pack-advertisement",
"application/x.git.upload-pack-result.ls-ref",
"application/x.go.module.git-repo",
"application/x.ubuntu.assertion.account-key",
"application/x.ubuntu.assertion.snap-declaration",
"application/x.ubuntu.assertion.snap-revision"
]
```
Subsequently, the support for this would also have to be added to the dependency service.
### To Reproduce
Repo is at: https://code.launchpad.net/~canonical-security/shishirsub10-superalpaca/+git/shishirsub10-superalpaca/+ref/master
### Relevant log output
```shell
Running build phase...
Starting rockcraft, version 1.7.0
Logging execution to '/root/.local/state/rockcraft/log/rockcraft-20250127-060815.936766.log'
Retrieving base ubuntu@24.04 for amd64
[27/Jan/2025:06:08:17 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 4039 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:17 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5384 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:18 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5196 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:19 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 4218 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:19 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5962 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:23 +0000] "CONNECT d2glxqk2uabbnd.cloudfront.net:443 HTTP/1.1" 200 29846545 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:24 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5962 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:25 +0000] "CONNECT d2glxqk2uabbnd.cloudfront.net:443 HTTP/1.1" 200 7384 "-" "Go-http-client/1.1"
Retrieved base ubuntu@24.04 for amd64
Extracting ubuntu:24.04
Extracted ubuntu:24.04
[27/Jan/2025:06:08:27 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 4039 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:27 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5376 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:28 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5196 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:29 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 4218 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:29 +0000] "CONNECT public.ecr.aws:443 HTTP/1.1" 200 5966 "-" "Go-http-client/1.1"
[27/Jan/2025:06:08:30 +0000] "CONNECT d2glxqk2uabbnd.cloudfront.net:443 HTTP/1.1" 200 7479 "-" "Go-http-client/1.1"
Initialising lifecycle
Installing build-packages
...
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b |
Impact:
50
Quick Win:
17.5
Staleness:
45
Complexity:
65
Confidence:
75
Support Request:
15
|
keep open | Fetch service lacks OCI image inspector for rockcraft builds; maintainer acknowledged and confirmed OCI inspector support is planned. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
No related issues found above the similarity threshold.