This branch has the dynamic allocation POC in it:
https://github.com/GeorgeJahad/armada-spark/tree/paRebase
It has two parts. The event watcher and the podAllocator; (I'll add the decomm manager soon.)
First study the code and understand what it does.
Then, split out the event watcher, make any improvements that seem needed, add unit tests and e2e tests, and create a PR for that.
Finally do the same for the Pod Allocator.