1. Generating Dependent Binaries for Bitnami Images
- Download amd64 binaries from the “Stacksmith URL’s” present in the Dockerfiles of Bitnami containers and save these binaries to local.
- Download equivalent arm64 binaries and save them to the binary location of each container’s folder
- Change the folder name which was earlier referring to amd64 to arm64
- For Binaries that are not available, build them from source
2. Generating Docker Images from Bitnami Containers and Charts
- Download Bitnami containers repository
- Modify the Dockerfile in the respective Bitnami containers source code for mongodb-sharded, bitnami-shell, mongodb-exporter, redis-cluster, redis-exporter, memcached, memcached-exporter and mcrouter by replacing the “Stacksmith URL’s” that contain the amd64 binaries with custom URL’s containing the arm64 binaries
- Build docker container images from all the individual docker files and push them to Docker Hub
- Modify the file “values.yaml” in the Bitnami charts source code for mongodb-sharded, redis-cluster and mcrouter to support architecture arm64
- Modify the docker hub URL to link the custom docker account username where the new docker containers were pushed in earlier step
- Tar and Gzip the updated charts and move them to “DeathStarBench/socialNetwork/helm-chart/socialnetwork/charts“ location (Do this step after Step 3 below)
3. Modifying DeathStarBench Source Code
- Clone the DeathStarBench source code from GitHub
- Search and replace all occurrences of username “yg397” with “anuphal” in the source
- Delete existing .tgz charts from location “DeathStarBench/socialNetwork/helm-chart/socialnetwork/charts“ and replace with the arm64 equivalent from previous step
- Modify all “values.yaml” files inside socialnetwork and all its sub-folders containing the services like mongodb, homeline-service, user-timeline, etc
- Modify other files as required for architecture consistency