Question

JCS Lanit - BPM
RU
Last activity: 17 Nov 2021 13:23 EST
Run Constellation UI service on arm64 (Apple M1)
Hi,
For a purpose of performing demo for potential clients a have setup Pega 8.6.0 to run on my MacBook Pro with Apple M1 chip in Docker. The configuration works perfectly fine.
Now I would like to add Cosmos React UI to my local deployment and to achieve this I need to run Constellation UI service.
Thank to this article I managed to elaborate a correct tag (docs still provides wrong tag -- please anyone fix it!) to pull constellation image from Pega's docker registry like this:
pega-docker.downloads.pega.com/constellationui/service:8.6.0-rc-latest
But now I face another problem: the image seems to be not multi-arch, i.e. it is only built for linux/amd64 architecture. At least when I run docker manifest inspect command:
docker manifest inspect -v pega-docker.downloads.pega.com/constellationui/service:8.6.0-rc-latest
I am getting the following result:
Hi,
For a purpose of performing demo for potential clients a have setup Pega 8.6.0 to run on my MacBook Pro with Apple M1 chip in Docker. The configuration works perfectly fine.
Now I would like to add Cosmos React UI to my local deployment and to achieve this I need to run Constellation UI service.
Thank to this article I managed to elaborate a correct tag (docs still provides wrong tag -- please anyone fix it!) to pull constellation image from Pega's docker registry like this:
pega-docker.downloads.pega.com/constellationui/service:8.6.0-rc-latest
But now I face another problem: the image seems to be not multi-arch, i.e. it is only built for linux/amd64 architecture. At least when I run docker manifest inspect command:
docker manifest inspect -v pega-docker.downloads.pega.com/constellationui/service:8.6.0-rc-latest
I am getting the following result:
{
"Ref": "pega-docker.downloads.pega.com/constellationui/service:8.6.0-rc-latest",
"Descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:7d6c0bcacc0dc48117cfcbc7e1a38407a33bbce1679ff4507509057518a8f46e",
"size": 2620,
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
"SchemaV2Manifest": {
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 8623,
"digest": "sha256:dd05a7be843c50968bf4bc279ce9f71bd1ee301a08712b38fe953f442a25e28a"
},
"layers": [ // omitted for simplicity
]
}
}
When I run similar command for any multi-arch image, for example Nginx:
docker manifest inspect nginx
I am getting manifest list for a number of platforms, including arm64 architecture that M1 is compatible with:
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:61191087790c31e43eb37caa10de1135b002f10c09fdda7fa8a5989db74033aa",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:ad393e485475a906758990b8512ed08ad9237d71669df6b50087e487ffcd7203",
"platform": {
"architecture": "arm",
"os": "linux",
"variant": "v5"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:6d6297dab924b11a82d141268141eaee7b8118fe9e813b164b994127644471cc",
"platform": {
"architecture": "arm",
"os": "linux",
"variant": "v7"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:2fabcbb81be0d45bd17613bf2d0800a85ff98dbfbdd848fa339d007e2e7e0208",
"platform": {
"architecture": "arm64",
"os": "linux",
"variant": "v8"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:dcc53ad7391323bd425b95724cde076326a640eda336bd34bc2376ed3614138f",
"platform": {
"architecture": "386",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:5e821ed29a040ece0cab69e4038017a44562fc6a5f2c3e4cb13e49162f579bb5",
"platform": {
"architecture": "mips64le",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:9e6523e60e9e4faaa041dc5c4e7fe6f968b0c9ab2bb6d87f529714e93c9a4115",
"platform": {
"architecture": "ppc64le",
"os": "linux"
}
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1570,
"digest": "sha256:db7800fc7ee1e04e6fadd7d993e6030d49d4a99b1581d286478e068a62416097",
"platform": {
"architecture": "s390x",
"os": "linux"
}
}
]
}
Does anyone know where can I pull constellation UI image for arm64 from? Does anyone have an experience porting amd64 image of constellation UI to arm64?