armada icon indicating copy to clipboard operation
armada copied to clipboard

Installation on Mac m1

Open xaviertintin opened this issue 2 years ago • 3 comments

When running the One-click Setup to install Armada and all its dependencies you can use this script:

docs/local/setup.sh

Even though I am using 16 gb of RAM, 8 cpus, and more than enough Disk space. I get:


  • kind export kubeconfig --name=quickstart-armada-server Set kubectl context to "kind-quickstart-armada-server"
  • helm install postgres bitnami/postgresql --version 12.4.2 --wait --set auth.postgresPassword=psw Error: INSTALLATION FAILED: context deadline exceeded

┆Issue is synchronized with this Jira Task by Unito

xaviertintin avatar Jun 04 '23 17:06 xaviertintin

Probably related to https://github.com/armadaproject/armada/issues/2493

Sharpz7 avatar Jul 11 '23 15:07 Sharpz7

Unfortunately, the docs/local/setup.sh is no longer accurate for setting up and running Armada locally - it is long out of date. Much more current documentation for running Armada locally is in docs/developer/manual-localdev.md. Basically, once you have cloned the Armada repo, and you have installed the tools mentioned at the top of that file (go, mage, docker, kubectl, and protoc), you should be able to do:

$ mage localdev full;  sleep 30; mage testsuite

and that would give you a fully functioning local Armada instance.

We'd welcome a Pull Request to remove the obsolete setup.sh script, plus any additions/fixes to the documentation in docs/developer/*. Thank you.

richscott avatar Jan 15 '24 19:01 richscott

Also, note that there is a bug that seems to appear on Mac M1 systems, but not on Linux systems running on AMD64/Intel architecture chips. On Mac M1 systems, the mage localdev full command can fail, due to the goreleaser sub-command failing on running a docker build to construct Armada images. Specifically, after the mage localdev full fails, if you run

goreleaser --verbose release --snapshot --clean --fail-fast -f ./.goreleaser-minimal.yml

you will see that a docker build invocation fails:

    • building docker image                          image=gresearch/armada-bundle:latest
    • running                                        cmd=[docker buildx] cwd=/var/folders/mk/ct2s31gx03376vqdf4y9h1c40000gn/T/goreleaserdocker3742924600 args=[--builder default build . --load -t gresearch/armada-bundle:latest -t gresearch/armada-bundle:0.4.10-SNAPSHOT-d207eb03 --build-arg= --builder=default --cache-to=type=inline --cache-from=type=inline --label=org.opencontainers.image.source=https://github.com/armadaproject/armada --label=org.opencontainers.image.version=0.4.10-SNAPSHOT-d207eb03 --label=org.opencontainers.image.created=2024-01-15T19:55:14Z --label=org.opencontainers.image.revision=d207eb03b0b49e83ad35f39ae37a5c6fe621d242 --label=org.opencontainers.image.base.name=alpine:3.18.3 --label=org.opencontainers.image.licenses=Apache-2.0 --label=org.opencontainers.image.vendor=G-Research]
ERROR: invalid key-value pair "": empty key
ERROR: invalid key-value pair "": empty key
  ⨯ release failed after 30s                         error=docker build failed: failed to build gresearch/armada-jobservice:latest: exit status 1: ERROR: invalid key-value pair "": empty key

It appears that Goreleaser is specifying an empty key-value pair when it runs the last docker build command - there is a --build-arg= (nothing after the = sign) in the middle of the command options. I have not been able to figure out what causes this missing k-v pair option. [cc: @dejanzele ]

richscott avatar Jan 15 '24 19:01 richscott