Installation on Mac m1
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
Probably related to https://github.com/armadaproject/armada/issues/2493
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.
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 ]