Question

26
Views
Alexander Lutai (alexander.lutay)
JCS Lanit - BPM

JCS Lanit - BPM
RU
alexander.lutay Member since 2011 7 posts
JCS Lanit - BPM
Posted: 3 weeks 5 days ago
Last activity: 3 weeks 5 days ago
Posted: 27 May 2021 4:15 EDT
Last activity: 27 May 2021 7:31 EDT

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?

***Edited by Moderator: Pooja Gadige to update product version***
Pega Platform 8.6 User Experience Lead System Architect